Agentes de IA estão sendo sobreengenheirados — e é assim que fica uma arquitetura mais simples

Audiência: Engenheiros sênior
Formato: Opinião + padrões de arquitetura
Contexto: Equipes lean na LATAM


TL;DR

  • Muitos sistemas de agentes estão super engenheirados
  • Mais abstração ≠ mais valor
  • Uma arquitetura simples baseada em pipes + ferramentas bem definidas costuma ser superior

O problema: muita mágica

Nos últimos 12 meses, os “AI agents” passaram de ser uma ideia interessante a se tornarem stacks complexos:

  • Orquestradores
  • Planejadores
  • Memória vetorial
  • Tool routers
  • Loops recursivos

Tudo isso… até para resolver problemas relativamente simples.


Sinais claros de super engenharia

Se teu sistema tem isto, provavelmente estás sobreinstruindo:

  • Mais de 3 camadas de abstração para executar uma tarefa
  • Debugging difícil ou não determinístico
  • Dependência excessiva de “autonomous loops”
  • Prompts difíceis de versionarou testar

A alternativa: arquitetura simples

Em vez de agentes complexos, considera este padrão:

1. Entrada estruturada

{
  "task": "generate_summary",
  "input": "texto longo"
}

2. Router explícito

if (task === "generate_summary") {
  return summarize(input);
}

3. Ferramentas determinísticas

Cada função faz uma única coisa bem:

async function summarize(text: string) {
  return llm.call({
    prompt: `Resuma isto: ${text}`
  });
}

4. Sem loops desnecessários

Evita padrões como:

  • “agent decides what to do next”
  • execuções recursivas sem controle

Em seu lugar:

  • fluxos lineares
  • passos explícitos

Comparação direta

Abordagem Complexidade Debugging Controle Custo
Agente complexo Alta Difícil Baixo Alto
Arquitetura simples Baixa Fácil Alto Baixo

Quando SIM usar agentes?

Há casos em que os agentes fazem sentido:

  • Tarefas abertas (research, exploration)
  • Workflows não determinísticos
  • Sistemas multi-step com alta variabilidade

Mas até lá:

:backhand_index_pointing_right: Comece simples, adicione complexidade apenas se necessário


Perspectiva de equipes lean

Isso é relevante para qualquer equipe que busque se mover rápido sem sacrificar qualidade.

Realidade:

  • Equipes que priorizam foco e clareza
  • Necessidade de iterar rápido
  • Busca de sistemas mantíveis

Implicação:

  • Cada camada desnecessária adiciona fricção
  • A simplicidade melhora velocidade, debugging e escalabilidade

Padrão recomendado

Em vez de “agent frameworks”, use:

  • Funções explícitas
  • Orquestração leve
  • Logs claros
  • Inputs/outputs bem definidos

Pense em:

:backhand_index_pointing_right: “LLM as a function”

não em:

:backhand_index_pointing_right: “LLM as an autonomous system”


Riscos de simplificar demais

  • Perder flexibilidade em casos complexos
  • Reescrever lógica se o sistema crescer

Mas na maioria dos casos:

:backhand_index_pointing_right: É um trade-off correto


Veredicto

Os agentes não são o problema.

O problema é usá-los quando não precisa deles.


Reflexão final

A melhor arquitetura de IA hoje não é a mais sofisticada.

É a que tua equipe consegue:

  • entender
  • manter
  • escalar

Sem fricção.