O que é Chains, agentes e workflows?
Chains, agentes e workflows (Chains, agents, and workflows) é um fundamento de engenharia de IA para quem trabalha com LLMs. A diferença entre o código decidir o caminho e o modelo decidir o caminho.
Um time de marketplace precisava moderar anúncios. Conferir o texto, conferir a imagem, conferir o preço e aí decidir.
Alguém sugeriu um agente com quatro ferramentas. A demo ficou ótima.
Em produção, de vez em quando, o agente decidia que a imagem parecia ok e nem chamava a ferramenta de imagem. Anúncios proibidos foram ao ar.
O caminho da moderação era sempre o mesmo. Texto, imagem, preço, decisão. O time deu ao modelo uma liberdade que a tarefa nunca pediu. Nesta aula, você vai aprender a pergunta que teria evitado isso, e a escolher o degrau mais baixo que resolve o seu problema.
Todo sistema feito com modelo de linguagem responde uma pergunta de desenho, o time percebendo ou não. Quem decide o próximo passo? O seu código ou o modelo?
De um lado, a chain. Uma sequência fixa de chamadas, com o caminho escrito no código. O passo B sempre roda depois do A. Sempre.
Do outro lado, o agente. O modelo recebe um objetivo e algumas ferramentas. E a cada turno, decide o que fazer. Chamar uma ferramenta, qual, com quais argumentos, ou parar.
Entre esses dois extremos ficam os workflows. Fluxos definidos no código, que usam o modelo em pontos de decisão específicos. Um roteador escolhendo entre três caminhos fixos é um workflow. A estrutura continua sendo do código. O modelo só escolhe entre opções que você desenhou.
Então a moderação de anúncios era uma chain de quatro caixas. Transformar em agente não acrescentou inteligência. Acrescentou permissão para pular a caixa da imagem.
Pense numa escada de quatro degraus.
Embaixo, uma chamada única. Ninguém decide caminho nenhum, é um passo só. Classificar um ticket cabe aqui.
Depois, a chain. O código decide, e é sempre igual. Extrair, validar, resumir.
Depois, o workflow. O código decide, com escolhas do modelo em pontos marcados. Roteamento é o exemplo clássico.
E no topo, o agente. O modelo decide, a cada turno. Como corrigir um bug num repositório, onde o caminho depende do que você descobre no meio.
A regra: suba um degrau só quando o de baixo não dá conta. Cada degrau acima traz mais flexibilidade. E também mais custo, mais latência, mais variação e mais dificuldade de testar.
O guia da Anthropic sobre como construir agentes eficazes, de dezembro de 2024, traça a mesma linha. Comece com workflows, onde o código orquestra e o modelo preenche os pontos de incerteza. Traga um agente quando você não consegue escrever a sequência antes.
Então aqui está o teste. Uma pergunta. Eu consigo desenhar o fluxograma dessa tarefa antes de ela rodar?
Se sim, e é sempre igual, é uma chain. A moderação passa fácil. Quatro caixas, sem surpresa.
Se sim, mas com ramos conhecidos, é um workflow. Um bot de pedidos costuma ser assim. Se a mensagem cita um número de pedido, consulta o pedido. Se é sobre uma conta, vai para o financeiro. Se não se encaixa em nada, passa para uma pessoa. Os ramos existem antes da execução.
E se não, porque o próximo passo depende do resultado anterior de um jeito que você não prevê, aí é agente. Investigar por que um deploy quebrou numa sexta à noite raramente tem fluxograma. O próximo comando depende do log que acabou de aparecer. É ali que o agente se paga.
Repare que não é questão de importância. Barrar um anúncio também é importante, e pede uma chain. Importância pede controle, não liberdade.
Uma pergunta para você. Você mediu que o agente de moderação chama a ferramenta de imagem em 70% das execuções. A política exige 100%. Que mudança fecha o buraco?
Leve a chamada de imagem para o código, antes da decisão, e deixe o modelo só julgar o resultado. Esses 70% são o modelo usando uma liberdade que a política nunca deu.
Aumentar o limite de passos não ajudaria. Limite evita loop infinito, não obriga um passo. E um prompt dizendo nunca pule a imagem diminui o pulo, mas nunca zera. O pulo só some de verdade quando deixa de ser decisão do modelo.
Vamos dar um número aproximado. Digamos que um fluxo de moderação tem três checagens, cada uma com uns mil tokens de entrada.
Numa chain, são sempre três chamadas.
Num agente, o modelo pode fazer duas, ou sete, se ficar inseguro e reler.
Você troca um custo previsível por um custo com cauda.
E o teste também muda. Uma chain tem três contratos, e o eval dela é simples: os três passos passaram? Um agente tem um objetivo e um espaço inteiro de caminhos possíveis. O eval dele precisa de traces, de limite de passos e de casos em que pular um passo foi a falha.
O erro mais comum na prática tem nome: agent where a chain would do. Autonomia para um problema que nunca pediu isso.
Ele aparece assim. Um time tem um agente com doze ferramentas para cadastrar lojistas novos. E na prática, ele sempre pede os mesmos quatro documentos, na mesma ordem. Isso não é coincidência. É evidência. O fluxograma já existe, escrito pelos traces. Coloque no código.
E o erro oposto também existe. Uma chain com trinta ifs, tentando prever toda pergunta que um analista de fraude pode fazer. Cada if novo é um ramo que você inventou sem dados. Quando os ramos explodem, o workflow ficou pequeno. É aí que você sobe. Mas sobe com um eval, montado com os casos que a chain não cobre mais, e com um limite de custo para o agente.
O mesmo corte aparece em toda stack. No LangGraph, uma chain ou um workflow é um grafo cujas arestas você escreve. Um agente é um loop de ferramentas. Os ajudantes de agente do LangChain, o OpenAI Agents SDK e o Claude Agent SDK partem todos desse loop.
Mas a biblioteca não escolhe o degrau. Você escolhe. Se o fluxograma cabe no papel, o seu código desenha as arestas, seja qual for a biblioteca.
Agora pegue três tarefas do seu produto e classifique cada uma. Fluxograma fixo? Ramos? Qual degrau?
Resumir uma reunião tem fluxograma fixo, sem ramos. Então é uma chain.
Responder um cliente sobre um pedido tem fluxograma fixo, com ramos. Workflow.
Investigar por que um deploy falhou não tem fluxograma fixo. Agente.
Se uma tarefa que você já resolve com agente caiu em chain ou workflow, você acabou de achar uma candidata para uma refatoração chamada replace agent with chain.
Então, a ideia para levar. Autonomia não é funcionalidade. É um custo que você paga quando não consegue escrever o caminho antes. Comece no degrau mais baixo que resolve o problema. Você sempre pode subir depois, com um eval mostrando que valeu a pena.
Na próxima aula, a gente constrói direito o primeiro degrau: prompt chaining, poucas etapas curtas, cada uma fácil de testar. Até lá.
Chains, agents, and workflows
Chains, agentes e workflows (Chains, agents, and workflows) é um fundamento de engenharia de IA para quem trabalha com LLMs. A diferença entre o código decidir o caminho e o modelo decidir o caminho.
Um time precisava moderar anúncios de um marketplace: checar o texto, checar a imagem, checar o preço e decidir. Alguém sugeriu “um agente com quatro ferramentas”. Na demo foi lindo. Em produção, de vez em quando o agente decidia que a imagem “parecia ok” e nem chamava a ferramenta de imagem. Anúncios proibidos passaram.
O caminho da moderação era sempre o mesmo: texto, imagem, preço, decisão. O time deu ao modelo uma liberdade que a tarefa não pedia.
Todo sistema com LLM responde a uma pergunta de desenho: quem decide o próximo passo, o seu código ou o modelo?
flowchart LR
subgraph CH["Chain: o código decide"]
A1(["1. Etapa A"]):::llm --> A2(["2. Etapa B"]):::llm --> A3(["3. Etapa C"]):::llm
end
subgraph AG["Agente: o modelo decide"]
M(["4. Modelo"]):::llm --> D{"5. Próxima ação?"}
D -->|"ferramenta"| T["6. Ferramenta"]:::tool
T --> M
D -->|"pronto"| R(["7. Resposta"]):::io
end
1 a 3. Numa chain (sequência fixa de chamadas), o caminho está escrito no código. A etapa B sempre roda depois da A.
4 a 7. Num agente, o modelo recebe um objetivo e ferramentas, e decide a cada volta o que fazer: chamar uma ferramenta, qual, com quais argumentos, ou parar.
Entre os dois extremos ficam os workflows: fluxos definidos no código que usam o modelo em pontos de decisão específicos. Um roteador que escolhe entre três caminhos fixos é um workflow. O código ainda controla a estrutura; o modelo só escolhe entre opções que você desenhou.
A moderação de anúncios era uma chain de quatro caixas. Transformá-la em agente não acrescentou inteligência. Acrescentou a permissão de pular a caixa da imagem.
| Degrau | Quem decide o caminho | Exemplo | Quando usar |
|---|---|---|---|
| Uma chamada | Ninguém, é um passo só | Classificar um ticket | A tarefa cabe numa pergunta |
| Chain | O código, sempre igual | Extrair, validar, resumir | Os passos são conhecidos e fixos |
| Workflow | O código, com escolhas do modelo em pontos marcados | Roteamento | Poucos caminhos possíveis, todos conhecidos |
| Agente | O modelo, a cada volta | Corrigir um bug num repositório | O caminho depende do que se descobre no meio |
Suba um degrau só quando o de baixo não dá conta. Cada degrau acima traz mais flexibilidade e também mais custo, mais latência, mais variação e mais dificuldade de testar.
O guia “Building effective agents”, da Anthropic (dezembro de 2024), defende o mesmo recorte: comece por workflows, em que o código orquestra e o modelo preenche os pontos de incerteza. Agente entra quando a sequência não dá para escrever antes.
O mesmo recorte aparece em outras stacks. No LangGraph, chain e workflow são um grafo com arestas que você escreve, e agente é um loop de ferramentas. create_agent, no LangChain 1.x, o OpenAI Agents SDK e o Claude Agent SDK começam por esse loop. A biblioteca não escolhe o degrau. Se o fluxograma cabe no papel, o código desenha as arestas. O mapa de quando cada peça paga a conta está em Escolhendo a stack.
Pergunte: eu consigo desenhar o fluxograma desta tarefa antes de ela rodar?
A moderação de anúncios passava fácil no teste: o fluxograma tinha quatro caixas e nenhuma surpresa. Era uma chain.
Um bot de pedido costuma ser workflow: se a mensagem cita número, busca o pedido; se cita fatura, vai para financeiro; se não classifica, humano. Os ramos existem antes da execução. Investigar por que o deploy quebrou numa sexta à noite raramente tem fluxograma: o próximo comando depende do log que acabou de aparecer. Aí o agente paga a conta.
Suponha, só para ver a forma da conta, uma moderação com três checagens de 1 mil tokens de entrada cada. Em chain, são sempre três chamadas. Em agente, o modelo pode fazer duas, ou sete, se ficar em dúvida e reler. Você troca um custo previsível por um custo com cauda.
Testar também muda. A chain tem três contratos. O agente tem um objetivo e um espaço de trajetórias. O eval da chain é “passou nas três etapas”. O eval do agente precisa de traces, teto de passos e casos em que o pulo era a falha.
Pegue três tarefas do seu produto e classifique cada uma em 5 minutos:
Tarefa | Fluxograma fixo? | Bifurcações? | Degrau
-------------------------------------|------------------|--------------|--------
Resumir uma reunião | sim | não | chain
Responder cliente sobre pedido | sim | sim | workflow
Investigar por que o deploy falhou | não | - | agente
Se alguma tarefa que você já resolve com agente caiu em “chain” ou “workflow”, você achou um candidato à refatoração Trocar Agente por Chain.
A armadilha inversa: uma chain com trinta if tentando prever toda pergunta de um analista de fraude. Cada if novo é um ramo que você inventou sem dado. Quando os ramos explodem, o workflow ficou pequeno demais. Aí sim você sobe, com um eval que mostra o que a chain já não cobre.
if tentando prever tudo o que um agente resolveria explorando.Comece pelo degrau mais baixo que resolve. Dá sempre para subir depois, com um eval mostrando que valeu.
Responda as 6 perguntas para concluir a aula. Só assistir não conclui: a checagem é o que conta para a trilha e para o certificado.
Chains, agentes e workflows (Chains, agents, and workflows) é um fundamento de engenharia de IA para quem trabalha com LLMs. A diferença entre o código decidir o caminho e o modelo decidir o caminho.