Agentes multi-step: arquitetura de orquestração que sobrevive em produção
Agente que executa 8 passos sequenciais quebra de jeitos novos. Padrões de orquestração com Vertex AI Agent Builder, planning, retries, compensação e observabilidade — testados em produção.
Fabiano Brito
CEO & Founder
Agentes multi-step é uma arquitetura de orquestração que planeja, executa, valida e decide dinamicamente os próximos passos de um fluxo de trabalho. Para as empresas, essa tecnologia viabiliza o maior retorno sobre o investimento em processos complexos, mas exige padrões específicos, como os do Vertex AI Agent Engine, para mitigar novas classes de falhas e sobreviver em produção.
Onboarding completo de funcionário, conciliação financeira, abertura de processo regulatório — esses são casos onde o agente executa uma cadeia de 5-15 passos com decisões intermediárias. É onde mora o ROI mais alto e a complexidade mais traiçoeira.
Por que multi-step é diferente
- Cada passo tem latência → fluxo total fica longo (10s-2min comum).
- Cada chamada externa pode falhar → tratamento explícito.
- Cada Estado intermediário precisa persistir → checkpoint obrigatório.
- Erro no passo 4 pode exigir desfazer passos 1-3 → padrão Saga.
- Decisão "próximo passo" é dinâmica → planning real, não DAG fixo.
- Observabilidade simples não basta → trace estruturado em produção.
Padrão de planning explícito
Antes de executar, o agente declara o plano. Em pseudocódigo:
1. Input: "abrir processo regulatório X"
2. Plan generation: Gemini 2.5 Pro produz JSON com passos previstos
3. Validation: schema + dependência + permissão por passo
4. Execution loop: para cada passo, execute → validate → checkpoint
5. On failure: replan (decide próximo passo com contexto de falha)
6. On success: report + audit log
Por que importa: planning explícito permite (a) review humano antes de execução em casos de risco, (b) replanejamento em vez de loop infinito, (c) audit do que o agente tentou fazer.
Idempotência por padrão
Cada tool e cada passo precisa ser idempotente — re-executar com mesmos parâmetros não cria efeito duplo.
Como garantir:
- Chaves de idempotência em criação de recurso (UUID v4 derivado da intenção + step).
- Verificar antes de criar: "se já existe ticket para esse caso, vincular em vez de criar".
- Operações com PUT/upsert em vez de POST quando possível.
- Retry com mesmo idempotency key.
Sem isso, retry após timeout duplica registros — pesadelo em ERP/CRM.
Padrão Saga (compensação)
Quando passo N falha após passos 1..N-1 terem efeito real, agente precisa desfazer em ordem reversa. Cada passo declara compensação correspondente.
Exemplo de onboarding de funcionário:
| Passo | Ação | Compensação |
|---|---|---|
| 1 | Criar usuário no AD | Desabilitar usuário |
| 2 | Provisionar Workspace | Suspender licença |
| 3 | Criar acessos no SAP | Revogar acessos |
| 4 | Adicionar a grupos | Remover de grupos |
| 5 | Notificar gestor | Notificar reversão |
Se passo 4 falha, agente roda compensação 3 → 2 → 1 e reporta. Estado consistente, sem "usuário órfão".
Checkpoint de estado
Persistir estado a cada passo concluído permite (a) retomar após falha sem refazer tudo, (b) continuar após reinício de processo, (c) auditar progresso em tempo real.
Padrão: tabela agent_executions em Firestore/Spanner com:
- execution_id, agent_name, user_id, started_at.
- plan_json (versionado).
- steps[] com status, input, output, timestamp, latency.
- compensations[] já executadas.
- final_status, final_output.
Cloud Workflows também serve para orquestração explícita; em casos com lógica dinâmica, mantenha em código + estado próprio.
Observabilidade: trace, não só log
Em multi-step, log linear não basta. Use:
- Trace distribuído (OpenTelemetry → Cloud Trace): cada passo é span, com pai = execução.
- Atributos: tool chamada, modelo, tokens in/out, latência, custo.
- Eventos (não logs soltos): "plan_generated", "step_started", "step_failed", "compensation_started".
- Dashboards por agente: latência p50/p95/p99 por passo, taxa de falha por tool, custo por execução.
- Alertas: latência > X, taxa de falha > Y, custo médio acima do baseline.
Decisão dinâmica: ReAct vs DAG
DAG fixo: passos determinados em design time. Mais previsível, mais auditável, menos flexível. Bom para processos estáveis (KYC, onboarding padrão).
ReAct (reason-act loop): agente decide próximo passo a cada iteração, com base em resultado anterior. Mais flexível, menos previsível, exige guardrails de loop e custo.
Padrão Autenticare: comece com DAG. Migre para ReAct apenas onde casos justificam variabilidade alta. Híbrido funciona — esqueleto DAG com sub-agente ReAct em pontos definidos. Para auxiliar na implementação, conte com a nossa Fábrica de Agentes.
max_iterations, max_tool_calls, token budget e detecção de loop (mesma tool com mesmo parâmetro duas vezes), o agente entra em loop e custa fortuna em tokens antes que alguém perceba. Hard caps em código, não em prompt.
Limites de loop
ReAct sem limite vira agente em loop infinito (ou "agent loop" gastando tokens). Sempre:
- Max iterations hard cap (ex.: 12 passos).
- Max tool calls por execução.
- Max custo por execução (token budget).
- Detecção de loop: se mesmo tool com mesmo parâmetro 2x, alerta + escalação.
Hand-off humano
Em qualquer passo, se confiança baixa ou ambiguidade alta, agente deve poder pausar e pedir input humano:
- Persistir estado completo.
- Notificar humano (Slack, e-mail, fila).
- Aguardar resposta com timeout.
- Retomar ou cancelar conforme decisão.
É o que separa "agente que tenta tudo" de "agente que tem maturidade de pedir ajuda".
Stack que usamos em projetos Autenticare
- Vertex AI Agent Builder: definição do agente + tools.
- Cloud Run jobs: orquestração estável, longa duração.
- Firestore: estado de execução.
- Pub/Sub: hand-off assíncrono e notificação.
- Cloud Trace + Looker: observabilidade.
- BigQuery: análise histórica e auditoria.
Erros comuns
- Sem idempotência → retry duplica registro.
- Sem compensação → estado inconsistente.
- Sem max iterations → loop infinito.
- Sem checkpoint → reexecuta tudo após falha de infra.
- Sem hand-off → agente "trava" em decisão fora do escopo.
- Sem trace → debug vira arqueologia em log.
Agente que pede ajuda é mais maduro que agente que tenta tudo. Hand-off humano em caso de baixa confiança não é fraqueza — é arquitetura.
Perguntas Frequentes sobre Agentes multi-step: arquitetura de orquestração que sobrevive em produção
Quais são os principais desafios ao implementar agentes multi-step em produção? Agentes multi-step introduzem novas classes de falha devido à latência de cada passo, necessidade de tratamento de falhas externas, persistência de estado intermediário, e a necessidade de desfazer passos em caso de erro.
O que é o padrão de planning explícito e por que ele é importante em agentes multi-step? O padrão de planning explícito envolve o agente declarar o plano antes de executar, permitindo revisão humana, replanejamento em caso de falha e auditoria do que o agente tentou fazer.
Por que a idempotência é crucial em agentes multi-step? A idempotência garante que a re-execução de um passo com os mesmos parâmetros não crie efeitos duplicados, evitando problemas em caso de retry após timeout.
Qual a importância do checkpoint de estado em agentes multi-step? Persistir o estado a cada passo permite retomar após falha sem refazer tudo, continuar após reinício de processo e auditar o progresso em tempo real.
Seu caso é multi-step (5+ passos, decisões intermediárias)?
Diagnóstico de viabilidade: fluxo atual, pontos de compensação, risco de loop, observabilidade. Sai com arquitetura e plano de 60–90 dias.
