
Sistema de automação de processos
| Área | Processos e automação |
|---|---|
| O que faz | Antes, cada automação era um projeto. Agora a equipe descreve o processo e o sistema monta os passos. |
| Funções | Pergunta o que falta · Retorno calculado · Monta sem programar |
| Habilidades | Mapeamento de processos · Design de fluxo · Integração com ERP · Análise de retorno |
O que o sistema cobre.
Plataforma que recebe a descrição de um processo em texto, monta o fluxo em passos, calcula o retorno da automação e coloca esse mesmo fluxo para rodar. Cobre do diagnóstico à operação: leitura de e-mail, classificação, extração de campos, validação, aprovação de uma pessoa e lançamento no ERP. Feita para áreas que recebem solicitações em volume e lançam à mão.
Para quem
Diretores de operações e gestores de áreas que recebem solicitações em volume e ainda lançam tudo à mão no sistema.
O que mudou na empresa
O levantamento deixou de virar relatório parado: o fluxo aprovado é o que roda. A estimativa mostra a conta e marca o que foi inferido. Lançamento duvidoso passa por uma pessoa antes do ERP.
Módulos e funções.
8 partes do sistema, cada uma com o que faz.
Descrição e entrevista
A IA lê a descrição e faz no máximo três perguntas sobre o que falta.
Diagnóstico por passo
Nota por passo, pesada por volume e tempo gasto. Passo que exige julgamento fica marcado.
Cálculo de retorno
Horas economizadas e prazo de retorno com a fórmula aberta; valor inferido aparece marcado na tela.
Editor de fluxo
O usuário reordena passos, troca blocos e ajusta regras no mesmo fluxo que vai rodar.
Catálogo de blocos
Ler e-mail, classificar, extrair campos, validar regra, pedir aprovação e gravar no ERP. Ninguém programa.
Teste, versão e publicação
Fluxo inválido não publica. Teste com casos gravados; a versão anterior volta na hora.
Aprovação e revisão humana
Lançamento no ERP nasce proposto para uma pessoa aprovar. Item em dúvida vai para revisão.
Painel de execução
Execução gravada passo a passo, com custo de IA por item ao lado das horas economizadas.
Três telas.
O design é meu. Cada legenda diz o que a tela faz.



Como funciona por dentro.
A empresa descreve o processo em texto. A plataforma devolve diagnóstico, fluxo e estimativa, o usuário edita o fluxo ali mesmo, e é esse grafo que entra em produção.
- Descrição em textoO usuário escreve o processo do jeito dele. Nada de formulário.
- Entrevista dirigidaO modelo preenche um schema fechado e devolve no máximo três perguntas, ordenadas por sensibilidade sobre o resultado.
- Grafo do processoNo caso das 500 solicitações: e-mail, classificação, extração de campos, validação, aprovação humana, lançamento no ERP, seis nós tipados.
- Rubrica e cálculoScore por passo, ponderado por volume e tempo por item, e estimativa de horas e payback em código determinístico.
- Edição do fluxoO usuário reordena passos, troca blocos e ajusta regras no mesmo grafo que vai executar, não numa cópia.
- Compilação e sandboxCada passo vira bloco do catálogo, com tipos de porta, sinks e deduplicação verificados; depois roda contra casos gravados, sem tocar em sistema de produção.
- Publicação versionadaA versão é imutável e o alias aponta para ela. Rollback é mover o alias.
- Execução monitoradaTrace, custo por item e o que ficar abaixo do limiar caindo na fila de revisão humana.
O problema e a saída.
O problema
Toda empresa perde tempo em algum lugar e quase nenhuma sabe onde. O levantamento vira PDF, e PDF não executa. Do outro lado, a ferramenta de automação abre um canvas vazio que já pressupõe saber o fluxo. E sem número defensável, ninguém aprova orçamento.
A saída
O texto vira grafo tipado: cada variável marcada como declarada, inferida ou ausente, e as perguntas saem ordenadas por sensibilidade. Rubrica por passo, payback em código. O grafo editado é o que roda, fila Postgres com SKIP LOCKED, particionada por tenant.
Arquitetura.
Como as partes se encaixam.
São três subsistemas e um único artefato. O extrator transforma prosa em grafo, o avaliador aplica a rubrica e roda a conta, o runtime executa, os três falam a mesma estrutura. O extrator não escreve texto livre: preenche um schema fechado em que cada passo tem ator, sistema de origem, sistema de destino, portas de entrada e saída tipadas, volume, tempo por item e regra de exceção. Campo que o texto não sustenta não recebe valor padrão, fica marcado como ausente e vira pergunta. O grafo é JSON validado por schema, imutável no momento em que é publicado. Diagnóstico e automação não são documentos diferentes: são o mesmo objeto em estados diferentes.
A rubrica pontua passo a passo, nunca o processo em bloco. Quatro eixos por passo: entrada estruturada ou prosa, decisão determinística ou julgamento, sistema de destino com API ou sem, escrita reversível ou definitiva. Passo não elegível é o que depende de julgamento sem caso rotulado que o calibre, ou toca sistema que só aceita gente digitando na tela, e ele continua no grafo, marcado, porque alguém vai executar esse pedaço à mão. O score do processo é a média dos passos ponderada por volume e tempo por item: dois passos inelegíveis que custam cinco minutos por mês pesam menos que um passo elegível que custa quarenta horas. Por isso o percentual da tela não é a fração simples de passos. A conta de horas e payback sai do mesmo módulo determinístico, com fórmula e origem de cada variável abertas.
O runtime é uma máquina de estados durável, e fila, checkpoint, retry e reprocessamento são o mesmo motor do Workflow Engine. Daqui saem duas coisas: a fila é particionada por organização, com concorrência limitada, para que um tenant despejando vinte mil e-mails não afogue os outros; e o passo de aprovação humana é durável, a execução dorme e acorda por evento, sem segurar worker por horas. Chamada a sistema externo não fica dentro de transação de banco: o worker grava a intenção, solta a conexão, chama o ERP e registra o resultado depois. A chave de idempotência, (execução, passo, hash do payload), vai junto na chamada ao ERP; quem recusa a duplicata é o destino. Onde o ERP não aceita chave, o passo faz busca-antes-de-escrever pelo identificador do documento, e o que não dá para deduplicar de nenhum dos dois jeitos fica marcado no grafo como escrita não reexecutável, com reconciliação depois. O isolamento é do banco: RLS por organização em toda tabela, worker conectando em role sem BYPASSRLS e tenant setado por GUC na abertura da conexão, se o código esquecer, a query volta vazia em vez de vazar. A observabilidade é de código: cada passo emite span com latência, tokens e custo. Input e saída do modelo ficam gravados, o replay reexecuta o trecho determinístico contra os mesmos dados e compara com a saída registrada, em vez de fingir que o modelo repete. Cada automação carrega seu conjunto de casos rotulados: mudou prompt, mudou modelo, roda contra o conjunto antes de virar versão; abaixo do limiar de confiança calibrado o item cai para revisão humana, e a correção do revisor volta como caso.
Diário de construção.
Por onde comecei, onde travou e o que mudou no caminho.
Comecei pelo fim. Antes de qualquer LLM, escrevi oito processos à mão em JSON e mandei o executor rodar. Foi isso que fixou o schema e revelou o que faltava: exceção, timeout, reprocessamento, ponto de aprovação. Só depois o modelo entrou para escrever esse mesmo JSON. Gerar para um alvo que já existe é problema de extração, e problema de extração se mede.
A parte difícil foi a entrevista. Texto real vem com volume vago, sem tempo por item, sem custo-hora, sem taxa de retrabalho. O extrator passou a marcar cada variável como declarada, inferida ou ausente, e a ordenar as perguntas por sensibilidade sobre o resultado, não pela ordem do formulário. Variável inferida aparece marcada na tela, o usuário vê exatamente onde o sistema chutou.
O que joguei fora: a primeira versão tinha um diagrama bonito no diagnóstico e um construtor separado para montar a automação. Duas representações, duas verdades. O usuário aprovava um desenho que não compilava. Reescrevi para que o diagrama fosse a serialização do grafo executável. Ele continua montando e editando o fluxo, só que agora edita o executável, e o que não compila deixou de poder ser desenhado.
Tecnologias e o porquê.
| Camada | Escolha | Por quê |
|---|---|---|
| Extração e entrevista | LLM em tool-calling com JSON Schema estrito | O modelo preenche campos de um esquema fechado. Nada sai dali que o compilador não entenda, e campo ausente vira pergunta em vez de invenção. |
| Cálculo de retorno | Módulo determinístico em TypeScript, versionado | Toda estimativa mostra fórmula e origem da variável. Editar um número recalcula na hora, sem chamar modelo e sem gastar token. |
| Runtime | Workers Node com estado durável e fila no Postgres (SKIP LOCKED) | É o motor do Workflow Engine com duas diferenças: fila particionada por organização e passo de aprovação que dorme sem prender worker. Checkpoint e estado na mesma transação; a chamada externa fica fora dela. |
| Dados | Postgres com RLS por organização e pgvector | Isolamento no banco, não na aplicação: role sem BYPASSRLS e tenant por GUC. O vetor serve para achar blueprints parecidos no catálogo e ancorar o diagnóstico em padrões já executados. |
| Conectores | Adaptadores tipados com contrato versionado e segredos em cofre | O worker recebe referência, nunca o valor. Cada adaptador declara como deduplica, chave aceita pelo destino, busca-antes-de-escrever, ou nenhuma das duas, e sistema sem API cai para arquivo ou RPA. Tudo isso fica visível no grafo, não escondido no rodapé. |
| Observabilidade e avaliação | OpenTelemetry com tokens e custo no mesmo span, mais casos rotulados por automação | Sem custo por execução ao lado do ganho, o payback é ficção. Sem conjunto de avaliação, trocar de prompt é aposta. |
Decisões de projeto.
O modelo extrai; a conta roda em código
Horas e payback saem de módulo determinístico, não do LLM; o replay reexecuta só esse trecho contra os mesmos dados. Perdi a demo do número pronto; ganhei a conta que o controller aceita.
Escrita no ERP nasce em modo sombra
Um humano aprova o lançamento montado; abaixo do limiar calibrado o item vira revisão e a correção entra no conjunto. Perco semanas de ganho real; não descubro a troca de campo em produção.
Uma representação só: diagnóstico é execução
O grafo proposto é o mesmo que o runtime executa. Custou a primeira versão inteira e amarra o diagnóstico ao catálogo de hoje; em troca, some o abismo entre o aprovado e o implantado.
Escopo.
O que o sistema cobre
- Diagnóstico com o score decomposto passo a passo e a ponderação à vista, não um percentual solto
- Fluxo proposto como grafo tipado que o usuário edita ali mesmo, o desenho é o executável
- Estimativa com fórmula aberta e variáveis editáveis, marcando o que foi inferido
- Compilador que recusa grafo inválido antes de qualquer publicação
- Runtime durável com retry, chave de idempotência enviada ao sistema de destino e fila isolada por organização
- Painel com custo de IA por execução ao lado das horas economizadas
O que não está publicado
- Nome da empresa e números de operação não são divulgados aqui.
- O código não é público. O que dá para ver: o processo, as telas e as decisões.
Da mesma faixa.
Processos e automação
Quer ver este sistema de perto?
Mostro o processo que mudou, os módulos, as telas e como foi construído.

