O artigo que realmente desbloqueou minha arquitetura multi-agente
Padroes de orquestracao, metodos de comunicacao, gestao de memoria e armadilhas em producao - um guia pratico que respondeu tudo que me travava no design de sistemas multi-agente.
Minha equipe tem trabalhado no design de um sistema agentico recentemente. Construir um unico agente parecia administravel, mas no momento em que tentamos conectar varios, as duvidas comecaram a se acumular.
Qual estrutura de orquestracao usar? Como os agentes se comunicam? Como gerenciar a memoria do sistema?
Foi entao que encontrei um artigo do Rohit Ghumare que cobria praticamente tudo com o que eu vinha lutando. Aqui vai uma analise das ideias principais junto com minha propria experiencia.
Por que multi-agente
Como mencionei em publicacoes anteriores, multi-agente nem sempre e a resposta. Mas passei o ano inteiro passado falhando na gestao de contexto com um agente unico.
O problema: a janela de contexto de um agente unico enche rapido, e quando isso acontece, o agente comeca a esquecer. Pior ainda, quando um agente tenta lidar com multiplos dominios simultaneamente, sua capacidade de julgamento se degrada.
Multi-agente resolve isso separando responsabilidades - mas introduz overhead de coordenacao. Gerenciar esse overhead e o verdadeiro desafio, e o artigo aborda isso de frente.
Tres padroes de orquestracao
Esta foi a secao mais pratica. Em vez de organizar por “o que e mais impressionante”, o artigo foca em quando usar o que.
Padrao Supervisor
Um agente gestor decompoe tarefas, distribui para trabalhadores e sintetiza os resultados.
- Ideal para: Tarefas que se dividem claramente em subtarefas, ou quando voce precisa de rastreabilidade
- Escala ideal: 3-8 trabalhadores
- Cuidado: Todas as decisoes passam pelo supervisor, criando um potencial gargalo
Padrao Enxame (Swarm)
Sem gestor central. Agentes se comunicam ponto a ponto e se auto-organizam.
- Ideal para: Problemas que exigem perspectivas diversas, ou onde responsividade em tempo real importa
- Cuidado: Trabalho duplicado, loops infinitos, convergencia subotima. Debug e doloroso
Padrao Hierarquico (Hierarchical)
Extensao recursiva do padrao supervisor. Coordenador de alto nivel → gerentes intermediarios → trabalhadores.
- Ideal para: Sistemas com mais de 10 agentes, ou quando estrategia e tatica precisam de separacao clara
- Cuidado: Custos de tokens disparam a cada camada de coordenacao
Da minha experiencia pessoal, o padrao supervisor tem sido o mais estavel. A chave e acertar a distribuicao de trabalhadores e o tratamento de erros - se nao fizer isso direito, o proprio supervisor se torna o ponto de falha.
Como os agentes se comunicam
Se a orquestracao define a estrutura, a comunicacao define como a informacao realmente flui entre os agentes.
- Estado compartilhado (Shared State): Todos os agentes leem e escrevem em um unico objeto de estado. Simples de implementar, facil de debugar. A maioria das equipes deveria comecar por aqui
- Troca de mensagens (Message Passing): Comunicacao assincrona atraves de um barramento de eventos. Use quando precisar de acoplamento fraco entre agentes
- Passagem de bastao (Handoff): Transferencia explicita com contexto completo. Funciona bem para pipelines de ordem fixa
Arquitetura de memoria para sistemas multi-agente
O problema central de memoria e direto: como compartilhar estado sem causar colisoes? O artigo divide em tres padroes.
Memoria baseada em sessao (Session-Based)
Cada agente trabalha em um estado local isolado. Mudancas sao mescladas na memoria compartilhada apenas ao final da sessao.
- Ideal para: Trabalhadores paralelos que precisam operar independentemente sem interferencia
- Como funciona: O agente tira um snapshot do estado compartilhado no inicio da sessao, trabalha localmente e mescla os deltas no final
- Vantagem: Processamento paralelo sem colisoes
Memoria de janela (Window Memory)
Uma janela deslizante retem apenas as N trocas mais recentes. Entradas antigas sao comprimidas em resumos.
- Ideal para: Conversas longas onde voce precisa preservar contexto sem queimar tokens
- Como funciona: Quando a janela transborda, o terco mais antigo e resumido e comprimido
- Vantagem: Impede o crescimento ilimitado do estado
Memoria episodica (Episodic Memory)
Armazena o historico de colaboracao de combinacoes especificas de agentes e usa para informar decisoes futuras.
- Ideal para: Times de agentes que colaboram com frequencia e devem melhorar com base em resultados anteriores
- Como funciona: Registra quais combinacoes de agentes tiveram sucesso ou falharam em quais tarefas
- Vantagem: Permite decisoes como “essa combinacao funcionou bem da ultima vez - vamos usar de novo”
Consideracoes de producao
Custos de tokens
- Supervisor + 4 trabalhadores: ~1K para decomposicao + ~12K entre trabalhadores + ~2K para sintese = aproximadamente 15K tokens por tarefa
- A mesma tarefa com um agente unico: cerca de 4K tokens. O custo de coordenacao e quase 4 vezes maior
- Otimizacao: Cachear instrucoes do supervisor, estruturar saidas dos trabalhadores, invocar trabalhadores apenas quando necessario
Latencia
- A 2-5 segundos por chamada LLM, 4 agentes em serie dao mais de 12 segundos. Em paralelo, 3-4 segundos
- Tarefas independentes devem sempre rodar em paralelo
Prevencao de propagacao de erros
- Timeouts: Obrigatorios em cada camada
- Circuit breakers: Parar de chamar um agente apos N falhas consecutivas
- Degradacao graciosa: Funcionalidades principais devem funcionar mesmo com alguns agentes fora do ar
- Isolamento de estado: Falha de um trabalhador nunca deve corromper o estado compartilhado
Se voce nao consegue observar, nao consegue corrigir. Monitoramento e requisito desde o dia um.
Anti-padroes a evitar
- Super-orquestracao: Vincular agentes que poderiam funcionar independentemente
- Agente onipotente: Um agente fazendo tudo anula o proposito do multi-agente
- Ignorar custos: Fazer deploy sem monitoramento de tokens leva a sustos na fatura
- Sem fallback: Assumir que todos os agentes estarao sempre disponiveis
Conclusao
A conclusao do artigo ficou gravada:
Construir um agente. Identificar onde ele quebra. Adicionar um segundo agente nesse ponto de ruptura. Adicionar um supervisor se necessario. Repetir.
Comecei com um design hierarquico ambicioso e terminei simplificando para um supervisor com tres trabalhadores. A licao: primeiro construir uma colaboracao estavel entre dois agentes, depois escalar a partir dai.
Se voce esta no meio do design de um sistema multi-agente, recomendo a leitura do artigo original.
Assine a newsletter
Receba atualizações sobre meus projetos mais recentes, artigos e experimentos com IA e desenvolvimento web.