Índice
5 min de leitura

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.

Fonte: Building Effective Multi-Agent Systems

Assine a newsletter

Receba atualizações sobre meus projetos mais recentes, artigos e experimentos com IA e desenvolvimento web.