agentes de ia
Agentes de IA em produção: o que dá certo, o que dá errado e como decidir em 2026
80% dos pilotos de agentes de IA morrem antes de produção. Os 4 padrões que funcionam, os 3 que destroem, e o critério honesto pra decidir.
Em 2025, “agentes de IA” virou termo guarda-chuva pra qualquer coisa entre if/else com LLM e “sistema autônomo que substitui pessoa”. O resultado: hype absurdo, expectativa irrealista, 80% dos pilotos morrem antes de chegar em produção.
Em 2026, depois de implementar agentes em produção numa cripto fintech (13 apps com agentes guiando boa parte da execução) e ver dezenas de clientes errando o mesmo conjunto de coisas, vou tentar trazer ordem honesta:
- O que é efetivamente agente (sem mistificação)
- Os 4 padrões que dão certo em produção
- Os 3 padrões que sempre destroem
- O critério de decisão pra você saber se vale agente OU se workflow simples resolve seu caso
O que é agente (sem mistificação)
Definição honesta: agente de IA é um LLM que toma decisões de quais ferramentas chamar (e quando parar) sem ser scriptado.
Workflow (scriptado):
input → passo 1 → passo 2 → passo 3 → output
(sequência fixa, decidida por você)
Agente (decisor):
input → LLM decide qual ferramenta usar
→ executa ferramenta → vê resultado
→ LLM decide próximo passo (continuar? parar? mudar?)
→ loop até LLM dizer "terminei"
(sequência decidida pelo LLM em runtime)
A diferença é quem decide a sequência. Workflow você decide upfront. Agente o LLM decide em runtime.
Por que importa: workflow é previsível mas rígido. Agente é flexível mas imprevisível. Cada um serve cenário diferente. Confundir = pesadelo.
Os 4 padrões que funcionam em produção
Padrão 1 — Agente assistido (humano no loop)
LLM sugere ação → humano aprova → executa → próximo
Cada decisão importante passa por aprovação humana. Agente acelera (gera draft, sugere próximo passo), humano filtra (aprova, ajusta, rejeita).
Casos onde brilha:
- Customer support tier 1 (agente sugere resposta, atendente edita e envia)
- Code review automatizado (agente analisa, dev decide aplicar ou não)
- Sales outreach (agente escreve email personalizado, SDR aprova)
- Marketing copy (agente gera 5 variantes, copywriter escolhe e refina)
Por que funciona:
- Erro de agente vira sugestão recusada, não falha em produção
- ROI claro: humano fica 3-5× mais rápido sem perder accuracy
- Compliance/governance fica trivial (audit trail = decisões humanas)
Implementação real: Cripto fintech — agente lia documentos de KYC, sugeria classificação (aprovado/rejeitado/precisa revisão manual), compliance officer aprovava. Reduziu tempo médio de KYC de 4h pra 25min, manteve 100% de auditoria.
Padrão 2 — Agente em sandbox isolado
LLM → roda em ambiente segregado → output controlado
(sem acesso a produção, sem efeito colateral fora do sandbox)
Agente tem total liberdade dentro de uma caixa fechada. Output é arquivo, log, JSON estruturado. Nunca toca infra de produção diretamente.
Casos onde brilha:
- Geração de código (output: PR num branch, não merge direto)
- Análise de dataset (output: relatório, não mutação no DB)
- Refactoring de arquivos (output: novo arquivo, original intocado)
- Spec-driven development (agente escreve código em branch, dev revisa)
Por que funciona:
- Falha catastrófica do agente fica contida no sandbox
- Output revisável antes de aplicar em prod
- Iteração rápida sem medo (rodar agente 50× pra calibrar prompt é OK)
Implementação real: Claude Code rodando em branch isolada → gera PR → CI/CD valida → dev revisa → merge manual. Nunca commit direto em main.
Padrão 3 — Agente especialista narrow
LLM com tools muito específicas + prompt narrow
→ resolve apenas X
→ falha early se sair do escopo
Em vez de “agente que faz tudo”, você cria 5 agentes especialistas pra tarefas específicas. Cada um tem 1-3 tools, prompt focado, fail-mode claro.
Casos onde brilha:
- Classificação de tickets (1 agente: lê ticket, retorna categoria)
- Extração de dados estruturados de PDF (1 agente: PDF → JSON específico)
- Roteamento de chamadas (1 agente: contexto → próximo atendente)
- Sumarização de reuniões (1 agente: transcript → action items)
Por que funciona:
- Escopo narrow = comportamento previsível
- Fácil de testar (input → output esperado, suite de testes finita)
- Fácil de debugar (quando falha, sabe onde)
- Composable (5 agentes narrow > 1 agente “que faz tudo”)
Implementação real: Cripto fintech tinha 7 agentes narrow rodando em paralelo: 1 pra OCR de documentos, 1 pra extração de dados, 1 pra validação de regras, 1 pra geração de PIX, etc. Cada um < 200 linhas de código.
Padrão 4 — Agente autonomous com timeout + budget
LLM autonomous + LIMITE de tempo + LIMITE de chamadas + ROLLBACK garantido
Quer agente realmente autônomo (toma decisões sem humano)? OK, mas com restrições duras:
- Timeout: máx 5min/execução
- Budget: máx 50 chamadas LLM
- Rollback: cada ação tem
undogarantido - Logging: tudo gravado pra auditoria
- Circuit breaker: trava se errar N vezes seguidas
Casos onde brilha:
- Monitoring/alerting (agente vê alerta, decide se acorda on-call ou suprime)
- Auto-scaling proativo (agente prevê demanda, ajusta infra dentro de limites)
- Backup orchestration (agente decide ordem, valida, recupera de falha)
Por que funciona:
- Restrições previnem catástrofe (agente nunca pode gastar > X)
- Casos de uso são naturalmente delimitados
- Falha = degradação previsível, não acidente
ATENÇÃO: este é o padrão mais delicado. Não use sem os 5 limites acima. Sem rollback garantido, agente autonomous é roleta russa.
Os 3 padrões que sempre destroem
Anti-padrão 1 — “Agente que faz tudo”
LLM com 50 tools + prompt vago "ajude o usuário"
Você dá ao agente todas as ferramentas possíveis e espera que ele se vire. Resultado: agente cospe ação aleatória 30% das vezes, alucinação 20%, comportamento útil 50%.
Por que destrói:
- Espaço de decisão explode (50 tools × N estados = combinatorial blowup)
- Impossible de testar
- Quando falha, debug é nightmare (“por que ele chamou ferramenta X em vez de Y?”)
- Custo de LLM exorbitante (cada call manda 50 tool definitions)
Quando você está fazendo isso: se você implementa “agent” e enche de tools “porque pode precisar”, trava.
Anti-padrão 2 — Agente sem rollback em ação destrutiva
LLM com tool `delete_database` + prompt "limpe os dados antigos"
Você dá ao agente capacidade de fazer coisa irreversível. Em algum momento, ele vai fazer errado. Quando, não se.
Por que destrói:
- LLM tem 99% accuracy. Em 100 calls, 1 erro garantido.
- Erro em ação reversível = bug ruim. Erro em ação irreversível = catástrofe.
- Tipos de “destruição” que matam empresas: deletar produção, mandar email pra lista errada, transferir dinheiro errado, deletar usuários.
Quando você está fazendo isso: qualquer tool que termina em _delete, _send, _transfer, _publish sem confirmação humana ou dry-run obrigatório.
Anti-padrão 3 — Agente substituindo decisão estratégica
LLM analisando "devemos lançar feature X?" → executa lançamento
Você delega decisão de negócio ao LLM. Resultado: decisão tecnicamente plausível, estrategicamente errada porque LLM não tem contexto político/relacional/financeiro real.
Por que destrói:
- LLM otimiza pra “resposta plausível ao prompt”, não pra “decisão correta no contexto”
- Stakes altas exigem accountability humana (regulação, compliance, ética)
- Quando dá errado (e vai), ninguém aceita “o agente decidiu” como justificativa
Quando você está fazendo isso: decisões que mudam direção de negócio, alocação de capital, contratações/demissões, mudanças de política.
O critério de decisão: agente ou workflow?
Pra cada caso de uso novo, responda:
| Pergunta | Sim → workflow | Sim → agente |
|---|---|---|
| Sequência de passos é sempre a mesma? | ✓ | |
| Decisões intermediárias variam baseado em contexto? | ✓ | |
| Falha custosa? | ✓ (workflow é mais previsível) | (só com rollback) |
| Tem humano no loop? | (opcional) | ✓ (essencial em maioria dos casos) |
| Escopo > 10 ferramentas? | (suspeito) | (refatora pra narrow) |
| Tempo total > 30 min execução? | (suspeito) | (suspeito — busca timeout) |
| Custo > R$10 por execução? | (suspeito) | (suspeito) |
Regra rápida: se workflow scriptado resolve, use workflow. Agente é alavanca pra casos onde a sequência precisa adaptar a contexto que só vê em runtime.
Referências externas: Anthropic “Building Effective Agents” (paper definitivo dos padrões de agente), LangChain docs (framework Python), Pydantic AI (type-safe, production-ready).
Stack pra construir agente sério
Componentes mínimos (não negociáveis em produção):
-
LLM com tool use nativo — Claude (Anthropic), GPT-4 (OpenAI), Gemini (Google). Não tente bricolar tool use em modelo sem suporte.
-
MCP (Model Context Protocol) pra expor tools — padrão aberto, integra Claude/Cursor/Windsurf. Guia MCP servers pra Claude Code.
-
Sandbox de execução — Docker, jail, ou VPS dedicada. Agente nunca roda com permissão de admin do seu sistema.
-
Logging estruturado — toda call LLM, toda tool call, todo resultado. CloudWatch/Datadog/custom — não importa onde, importa que exista.
-
Circuit breaker — código que trava agente se errar N vezes consecutivas ou exceder budget.
-
Eval suite — conjunto de input→output esperado pra rodar a cada deploy. Sem eval, você não sabe se mudança quebrou.
Frameworks que ajudam:
- Hermes Agent (open-source da Base25 — em construção) — framework opinionated pra agente em produção
- LangChain — mais geral, mas overhead alto pra caso simples
- Pydantic AI — Python-first, type-safe, ótimo pra production
Roadmap honesto: do zero ao agente em produção
| Semana | O que faz |
|---|---|
| 1-2 | Define escopo narrow (1 tarefa, 1-3 tools, fail-mode claro) |
| 3-4 | Implementa MVP em sandbox local, testa 50× com inputs reais |
| 5 | Adiciona logging, circuit breaker, eval suite |
| 6 | Deploy em staging com tráfego espelhado (não real) |
| 7-8 | Production canary (5% tráfego), monitora 2 semanas |
| 9+ | Full rollout se métricas ok, senão rollback e itera |
Pular fases = pesadelo. Especialmente fase 6-7 (canary). Agente que funciona em staging com 100% de inputs sintéticos vai quebrar em produção com inputs reais, sempre.
Próximos passos
→ MCP servers para Claude Code: o guia prático — fundação técnica
→ Spec-Driven Development: o método completo — como especificar o agente direito
→ Case: 13 apps em 70 dias com agentes guiados — exemplo real em escala
Pra implementar agentes em projeto real seu, com revisão: → Formação Consultor AI — Academy
FAQ
Agentes vão substituir programador? Não em 2026. Agentes amplificam o programador (5-10× output). Substituem em tarefas narrow muito específicas (transcrição, tradução, classificação simples). Decisão de arquitetura, design de sistema, debug de problema sutil — continua humano.
Posso construir agente serio sem código? Pra protótipo, sim (n8n, Flowise, Langflow). Pra produção séria, não recomendo. Você precisa de controle sobre logging, sandbox, circuit breaker — coisas que ferramenta low-code esconde.
Quanto custa rodar agente em produção? Depende absurdamente. Agente narrow chamado 100×/dia: $5-20/mês. Agente complexo com long context, chamado 10k×/dia: $500-5k/mês. Modela custo por execução desde a fase 1.
Como avalio se agente está funcionando bem? Eval suite obrigatória: 50-200 inputs com output esperado. Mede accuracy, latência, custo a cada release. Sem eval = voando cego. Padrão de eval no SDD.
Diferença entre agente e LLM com function calling? Sutil mas importante: function calling = LLM chama 1 função e retorna. Agente = LLM chama função, vê resultado, decide próxima ação, loop. Agente é function calling + loop + critério de parada.
MCP é necessário pra agente? Não obrigatório, mas fortemente recomendado. MCP é o padrão emergente pra expor tools de forma portátil entre clientes (Claude, Cursor, etc.). Implementar tools direto na sua aplicação amarra ao framework atual.
Hermes Agent é produto? Em construção. Open-source quando lançar (Q1 2027 estimado). Será o framework opinionated da Base25 — pequeno, opinião forte, foco em produção (não em demos).
Como saber se meu caso de uso vale agente? Aplique a tabela “agente ou workflow” deste artigo. Se ainda não tem clareza, comece com workflow simples. Migra pra agente só quando workflow começar a ficar complexo demais (5+ branches, condições aninhadas).