Pular para o conteúdo
fernando.moretes.com
BlogEstudosCursosE-booksOpen SourcePodcasts
Loading…
Fernando Azevedo

Arquiteto de TI Especialista

Arquitetura, AWS, IA em produção, sistemas financeiros e FinOps, escritos a partir do que foi operado, com os números.

  • LinkedIn
  • GitHub
  • E-mail

Conteúdo

  • Blog
  • Estudos de arquitetura
  • Cursos
  • E-books
  • Open Source
  • Podcasts
  • Assuntos
  • Trilhas

Ferramentas

  • Well-Architected self-check
  • Arquitetura deste site
  • Números públicos
  • Histórico de estudo

Sobre

  • Comunidade
  • IA Builder
  • Perfil
  • Currículo (CV)
  • Trabalhe comigo
  • Media kit
  • RSS do blog
  • RSS dos estudos
  • Artigos narrados (podcast)
  • llms.txt
  • Termos, privacidade e uso de IA

(c) 2026 Fernando Francisco Azevedo

Trilha Arquiteto de IA/Padrões: reflection, plan-execute e multi-agente
Módulo 3 · Agentes· Aula 13/22

Padrões: reflection, plan-execute e multi-agente

Os padrões de arquitetura de agentes e, principalmente, quando NÃO usar multi-agente.

7 min de leitura

Escolha como aprender

combine como quiser

Dica: o vídeo é um resumo visual rápido; o áudio e o texto trazem a aula completa. Terminar o áudio ou o vídeo, ou passar no quiz, já conta a aula como concluída.

Assista a esta aula
Narrado por Fernando AzevedoMP4PDF
Ouça esta aula
0:0012:39
Velocidade
Baixar

Um agente com um loop ReAct já resolve muita coisa, mas há classes de problema onde um único agente simplesmente não chega lá: tarefas longas demais para o contexto, trabalho que exige especialização paralela, ou saídas que precisam de revisão antes de chegar ao usuário. Para esses casos existem padrões arquiteturais. Este lesson é um catálogo prático desses padrões, e um aviso honesto sobre quando eles viram armadilha.

Padrão 1: Reflection: o agente revisa a própria resposta

Reflection é o padrão mais simples do catálogo e, por isso, o mais subestimado. A ideia: depois de gerar uma resposta, o agente faz uma segunda passagem, com um prompt de crítica, e decide se o resultado está bom o suficiente ou precisa de revisão.

Pense como um desenvolvedor que escreve código e depois lê de novo antes de abrir o PR. O modelo não muda de natureza; ele só recebe o contexto de "revisor" em vez de "autor".

Como implementar: você passa a saída anterior de volta ao modelo com uma instrução como "Revise a resposta abaixo. Identifique erros factuais, lacunas de raciocínio e inconsistências. Se estiver correta, responda APROVADO. Caso contrário, reescreva." Você pode iterar N vezes ou até receber APROVADO.

Quando usar: geração de código, relatórios, respostas longas onde alucinação pontual é cara. O custo é uma chamada extra ao modelo, barato comparado a entregar lixo ao usuário.

Cuidado com loops infinitos: defina sempre um max_iterations. Sem isso, um modelo que nunca converge vai consumir tokens indefinidamente. Reflection não garante correção, garante uma segunda chance de perceber o erro.

Padrão 2: Plan-and-Execute: planeje antes de agir

No loop ReAct padrão (visto na lição 11), o agente decide a próxima ação a cada passo, é um raciocínio guloso, passo a passo. Isso funciona bem para tarefas curtas, mas em tarefas longas o agente pode perder o fio da meada, mudar de estratégia no meio do caminho ou gastar tokens repetindo contexto.

Plan-and-Execute separa as responsabilidades em duas fases:

  1. Fase de planejamento: o modelo recebe o objetivo e produz um plano estruturado, uma lista de subtarefas ordenadas. Nenhuma ferramenta é chamada ainda.
  2. Fase de execução: cada subtarefa do plano é executada em sequência (ou em paralelo, se independentes), possivelmente por agentes especializados.

A vantagem é clareza: o plano é um artefato inspecionável. Você pode logar, validar e até mostrar ao usuário antes de executar, o que abre espaço para o padrão human-in-the-loop que veremos adiante.

A desvantagem é rigidez: se o mundo muda durante a execução (uma ferramenta retorna erro, um dado não existe), o plano original pode ficar inválido. Boas implementações incluem um passo de re-planejamento quando uma subtarefa falha.

Quando usar: tarefas de pesquisa longa, geração de documentos complexos, pipelines de dados onde a sequência importa. Evite para tarefas curtas e imprevisíveis, o overhead de planejamento não compensa.

Padrão 3: Multi-agente: supervisor, hierárquico e swarm

Multi-agente é o padrão que mais aparece em demos e o que mais gera arquiteturas desnecessariamente complexas. Antes de adotar, entenda as três variantes:

Supervisor/Orquestrador → Sub-agentes: um agente central recebe o objetivo, decide qual sub-agente especializado acionar e consolida os resultados. É o padrão mais comum e mais controlável. O supervisor não executa tarefas diretamente, ele delega.

Hierárquico: o supervisor pode ter sub-supervisores, que por sua vez têm sub-agentes. Útil para domínios muito grandes (ex.: empresa com departamentos distintos). O custo de coordenação cresce exponencialmente com a profundidade, use com cuidado.

Peers/Swarm: agentes sem hierarquia explícita colaboram via mensagens. Cada agente pode iniciar interações com outros. É o padrão mais flexível e o mais difícil de debugar, o fluxo de controle emerge do comportamento coletivo, não de um orquestrador central.

O diagrama abaixo mostra o padrão supervisor → sub-agentes, que é o ponto de partida recomendado para qualquer sistema multi-agente.

O ponto crítico: cada fronteira entre agentes é uma chamada ao modelo, latência, custo e um novo ponto de falha. Um sistema com cinco agentes pode ter cinco vezes mais chances de alucinação propagada. Comece sempre com o agente mais simples que resolve o problema.

Padrão Supervisor → Sub-agentes

O orquestrador recebe o objetivo do usuário, decompõe em subtarefas e delega para sub-agentes especializados. Cada sub-agente tem seu próprio conjunto de ferramentas. O orquestrador consolida os resultados antes de responder.

🧠 Camada de Orquestração: Orchestration Layer
  • Agente Supervisor · Orchestrator Agent
⚙️ Sub-agentes Especializados: Specialized Sub-agents
  • Agente de Busca · Search Agent
  • Agente de Código · Code Agent
  • Agente de Escrita · Writer Agent
🔧 Ferramentas: Tools
  • Web Search · API externa
  • Code Executor · Sandbox
  • Knowledge Base · RAG / Vetores
🛡️ Human-in-the-Loop
  • Aprovação Humana · Human Approval
FA
Na prática: comece com um agente, não com cinco
Arquiteto de TI Especialista

Na prática, a maioria dos sistemas que vejo em produção chegou ao multi-agente cedo demais. O time cria um supervisor, três sub-agentes e dez tools na primeira semana, e passa as próximas semanas debugando por que o orquestrador escolheu o agente errado. Minha regra: se um único agente com bom prompting e as ferramentas certas resolve 80% dos casos, ele vai para produção assim. Multi-agente entra quando há um limite concreto: contexto estourado, latência que exige paralelismo real, ou domínios tão distintos que um único prompt não consegue cobrir bem. Complexidade arquitetural tem custo, e esse custo é pago em debugging, não em tokens.

Human-in-the-Loop: o padrão mais subestimado

Human-in-the-loop (HITL) não é uma limitação do sistema, é uma decisão arquitetural deliberada. Em vez de deixar o agente executar um plano completo de forma autônoma, você insere um ponto de aprovação humana antes de ações irreversíveis ou de alto impacto.

Exemplos concretos: antes de enviar um e-mail em nome do usuário, antes de deletar registros em banco, antes de publicar conteúdo, antes de executar uma transação financeira. A regra prática: se a ação não pode ser desfeita com facilidade, coloque um humano no caminho.

Implementar HITL é simples conceitualmente, o agente para, serializa o estado atual (plano + contexto), e aguarda uma confirmação externa. Na AWS, isso se traduz em uma fila SQS ou um Step Functions waitForTaskToken. O desafio real é UX: como apresentar o estado do agente de forma que o humano entenda o que está aprovando?

HITL também é um mecanismo de aprendizado. Cada aprovação ou rejeição é um dado de avaliação, você pode usar esses sinais para melhorar prompts, identificar padrões de erro e calibrar quando o agente pode operar de forma mais autônoma.

Não confunda HITL com desconfiança no modelo. É gerenciamento de risco. Sistemas maduros começam com mais pontos de aprovação e os removem gradualmente à medida que o agente demonstra confiabilidade, não o contrário.

Qual padrão usar?

Agente Simples (ReAct)

Prós
  • Baixa latência, fácil de debugar
  • Custo previsível por chamada
  • Sem overhead de coordenação
Contras
  • Contexto limitado para tarefas longas
  • Sem revisão automática da saída

Ponto de partida padrão. Use até encontrar um limite concreto.

Reflection

Prós
  • Melhora qualidade sem mudar arquitetura
  • Fácil de adicionar a qualquer agente existente
Contras
  • Dobra (ou mais) o custo de tokens
  • Risco de loop sem max_iterations

Adicione quando qualidade importa mais que velocidade.

Plan-and-Execute

Prós
  • Plano inspecionável e auditável
  • Permite HITL antes da execução
  • Bom para tarefas longas e previsíveis
Contras
  • Rígido: falha se o ambiente muda
  • Overhead de planejamento para tarefas curtas

Use quando a sequência importa e você quer visibilidade do plano.

Multi-agente Supervisor

Prós
  • Paralelismo real entre sub-agentes
  • Especialização por domínio
Contras
  • Alta latência e custo de coordenação
  • Múltiplos pontos de falha
  • Debugging complexo

Use quando um único agente tem limite concreto de contexto ou domínio.

Pontos-chave desta lição

Reflection = segunda passagem com prompt de crítica. Barato de implementar, eficaz para qualidade. Sempre defina max_iterations.
Plan-and-Execute separa raciocínio de execução. O plano é um artefato inspecionável, ótimo para HITL e auditoria.
Multi-agente supervisor é o ponto de partida recomendado quando você realmente precisa de múltiplos agentes. Swarm é poderoso e difícil de debugar.
Cada fronteira entre agentes = latência + custo + ponto de falha. Multi-agente prematuro é um anti-pattern clássico.
Human-in-the-loop não é fraqueza, é gerenciamento de risco. Coloque humanos no caminho de ações irreversíveis.
Comece simples. Adicione complexidade arquitetural apenas quando encontrar um limite concreto, não antecipado.

Perguntas frequentes

Posso combinar Reflection com Plan-and-Execute?

Sim, e faz sentido. Você pode aplicar Reflection na fase de planejamento (revisar o plano antes de executar) e/ou na saída final de cada sub-tarefa. O custo aumenta, mas a qualidade também. Avalie pelo impacto do erro, quanto mais cara a falha, mais justificado o custo de revisão.

Swarm é adequado para produção?

Pode ser, mas exige observabilidade muito boa. Sem um orquestrador central, rastrear por que o sistema tomou uma decisão específica é difícil. Se você for usar swarm em produção, invista pesado em tracing distribuído, cada mensagem entre agentes deve ser logada com contexto suficiente para reconstruir o fluxo.

Como implementar HITL na AWS?

O padrão mais robusto é Step Functions com waitForTaskToken: o agente para, envia o token para uma fila ou notificação, e retoma quando o humano responde com o token. Para casos mais simples, uma fila SQS com um Lambda de aprovação funciona bem. O Bedrock AgentCore (lição 17) tem suporte nativo a HITL, veremos isso em detalhes.

Qual a diferença entre multi-agente hierárquico e Plan-and-Execute?

Plan-and-Execute é sobre separar as fases de raciocínio e ação dentro de um agente (ou sistema). Hierárquico é sobre estrutura organizacional de múltiplos agentes com níveis de supervisão. Você pode ter um sistema hierárquico que usa Plan-and-Execute internamente em cada nível, são dimensões diferentes da arquitetura.

Minha opinião direta

Comece simples. Escale com evidência. /

Desses três padrões, Reflection é o que eu recomendo adicionar primeiro a qualquer agente em produção, o custo é baixo e o ganho de qualidade é imediato. Plan-and-Execute entra quando você precisa de auditabilidade ou de HITL antes de ações críticas. Multi-agente fica para quando você tem um limite concreto e mensurável que um único agente não consegue superar. A ordem importa: não pule etapas. A maioria dos problemas que parecem exigir cinco agentes se resolve com um agente bem projetado, boas ferramentas e Reflection. Complexidade arquitetural é um investimento, exija ROI antes de pagar.

Quiz

Checagem rápida

1. Quando multi-agente costuma ser a escolha errada?
2. O padrão Reflection consiste em…

Referências e leitura complementar

LangGraph: Multi-agent architectures (LangChain docs)Reflexion: Language Agents with Verbal Reinforcement Learning (Shinn et al., 2023)Plan-and-Solve Prompting (Wang et al., 2023)Amazon Bedrock: Multi-agent collaborationAWS Step Functions: Wait for a callback with a task tokenAnthropic: Building effective agents
Concluir e ir para a próxima Aula anterior