padrões-multi-agente

Esta habilidade deve ser usada ao projetar sistemas multi-agente que precisam de isolamento de contexto, coordenação supervisor ou swarm, transferências explícitas, execução paralela ou uma decisão sobre se múltiplos agentes são justificados.

O que é padrões-multi-agente?

Esta habilidade fornece um guia completo para projetar e implementar arquiteturas multi-agente, focando no princípio central de isolamento de contexto. Ela explica que subagentes existem principalmente para manter contextos limpos e especializados, em vez de simplesmente dividir papéis de forma antropomórfica. A habilidade detalha três padrões arquitetônicos principais (supervisor/orquestrador, peer-to-peer/swarm e hierárquico), ajudando os desenvolvedores a escolher o padrão certo com base nas necessidades de coordenação, não em metáforas organizacionais. Ela também aborda tópicos críticos como justificativa de custos de token, paralelização, especialização, mecanismos de isolamento de contexto (delegação total de contexto, passagem de instruções e memória do sistema de arquivos), consenso (votação ponderada e protocolos de debate) e mitigação de modos de falha comuns, como gargalo do supervisor, sobrecarga de coordenação, divergência e propagação de erros. A documentação inclui exemplos práticos de código e considerações sobre frameworks como LangGraph, AutoGen e CrewAI, enfatizando a importância de medir sistemas multi-agente em relação a linhas de base de agente único.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/muratcankoylan/Agent-Skills-for-Context-Engineering/tree/main/skills/multi-agent-patterns

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Padrões de Arquitetura Multi-Agente

Arquiteturas multi-agente distribuem o trabalho entre múltiplas instâncias de modelo de linguagem, cada uma com sua própria janela de contexto. Quando bem projetadas, essa distribuição possibilita capacidades além dos limites de um único agente. Quando mal projetadas, introduz uma sobrecarga de coordenação que anula os benefícios. A percepção crítica é que os subagentes existem principalmente para isolar o contexto, não para antropomorfizar a divisão de papéis.

Quando Ativar

Ative esta habilidade quando:

  • Os limites de contexto de um único agente restringem a complexidade da tarefa
  • As tarefas se decompõem naturalmente em subtarefas paralelas
  • Diferentes subtarefas exigem diferentes conjuntos de ferramentas ou prompts de sistema
  • Construir sistemas que precisam lidar com múltiplos domínios simultaneamente
  • Escalar capacidades de agente além dos limites de um único contexto
  • Projetar sistemas de agente de produção com múltiplos componentes especializados

Não ative esta habilidade para trabalhos adjacentes de outras habilidades:

  • Decidir a adequação tarefa-modelo, formato do pipeline ou custo em nível de projeto antes que a topologia seja conhecida: project-development.
  • Projetar sandboxes hospedadas, pools quentes, sessões remotas ou infraestrutura de runtime em segundo plano: hosted-agents.
  • Compartilhar estado do orquestrador através de compactação de cache KV em runtimes controlados: latent-briefing.
  • Projetar as ferramentas que cada agente expõe: tool-design.

Conceitos Centrais

Use padrões multi-agente quando a janela de contexto de um único agente não consegue conter todas as informações relevantes para a tarefa. O isolamento de contexto é o principal benefício — cada agente opera em um contexto limpo, sem ruído acumulado de outras subtarefas, prevenindo o problema do jogo do telefone onde a informação se degrada através de sumarizações repetidas.

Escolha entre três padrões dominantes com base nas necessidades de coordenação, não na metáfora organizacional:

  • Supervisor/orquestrador — Use para controle centralizado quando as tarefas têm decomposição clara e a supervisão humana é importante. Um único coordenador delega para especialistas e sintetiza os resultados.
  • Peer-to-peer/swarm — Use para exploração flexível quando o planejamento rígido é contraproducente. Qualquer agente pode transferir o controle para qualquer outro através de mecanismos explícitos de transferência.
  • Hierárquico — Use para projetos de grande escala com abstração em camadas (estratégia, planejamento, execução). Cada camada opera em um nível diferente de detalhe com sua própria estrutura de contexto.

Projete todo sistema multi-agente em torno de protocolos explícitos de coordenação, mecanismos de consenso que resistam à sicofância e tratamento de falhas que evite cascatas de propagação de erros.

Tópicos Detalhados

Por que Arquiteturas Multi-Agente

O Gargalo do Contexto Recorra a arquiteturas multi-agente quando o contexto de um único agente se enche de histórico acumulado, documentos recuperados e saídas de ferramentas a ponto de degradar o desempenho. Reconheça três sinais de degradação: o efeito perdido-no-meio (a atenção enfraquece para conteúdo no meio do contexto), escassez de atenção (muitos itens competindo) e envenenamento de contexto (conteúdo irrelevante desloca conteúdo útil).

Particione o trabalho em múltiplas janelas de contexto para que cada agente opere em um contexto limpo focado em sua subtarefa. Agregue os resultados em uma camada de coordenação sem que nenhum contexto único suporte a carga total.

A Realidade da Economia de Tokens Prepare-se para custos de token substancialmente mais altos. Dados de produção mostram que sistemas multi-agente podem custar muito mais tokens do que uma conversa com um único agente (claim-multi-agent-token-multiplier):

ArquiteturaMultiplicador de TokenCaso de Uso
Chat com agente únicoLinha de baseConsultas simples
Agente único com ferramentasMaior que a linha de baseTarefas que usam ferramentas
Sistema multi-agenteMuito maior que a linha de basePesquisa/coordenação complexa

Pesquisas de avaliação de agentes de navegação sugerem que o uso de tokens, chamadas de ferramentas e a escolha do modelo dominam a variância de desempenho (claim-evaluation-browsecomp-variance). Isso apoia a medição de configurações multi-agente em relação a linhas de base de agente único, em vez de assumir que mais agentes ajudam.

Priorize a seleção de modelo juntamente com o design da arquitetura — atualizar para modelos melhores frequentemente fornece ganhos de desempenho maiores do que dobrar os orçamentos de token. Dados do BrowseComp mostram que melhorias na qualidade do modelo superam com frequência aumentos brutos de token. Trate a seleção de modelo e a arquitetura multi-agente como estratégias complementares.

O Argumento da Paralelização Atribua subtarefas paralelizáveis a agentes dedicados com contextos novos, em vez de processá-las sequencialmente em um único agente. Uma tarefa de pesquisa que exige buscas em múltiplas fontes independentes, análise de diferentes documentos ou comparação de abordagens concorrentes se beneficia da execução paralela. O tempo real total se aproxima da duração da subtarefa mais longa, em vez da soma de todas as subtarefas.

O Argumento da Especialização Configure cada agente apenas com o prompt de sistema, ferramentas e contexto de que precisa para sua subtarefa específica. Um agente de uso geral deve carregar todas as configurações possíveis no contexto, diluindo a atenção. Agentes especializados carregam apenas o que precisam, operando com contexto enxuto otimizado para seu domínio. Roteie de um coordenador para agentes especializados para alcançar especialização sem explosão combinatória.

Padrões Arquiteturais

Padrão 1: Supervisor/Orquestrador Implante um agente central que mantém o estado global e a trajetória, decompõe os objetivos do usuário em subtarefas e roteia para trabalhadores apropriados.

Consulta do Usuário -> Supervisor -> [Especialista, Especialista, Especialista] -> Agregação -> Saída Final

Escolha este padrão quando: as tarefas têm decomposição clara, a coordenação entre domínios é necessária ou a supervisão humana é importante.

Espere estas compensações: controle de fluxo de trabalho rigoroso e intervenções humano-no-loop mais fáceis, mas o contexto do supervisor se torna um gargalo, falhas do supervisor se propagam para todos os trabalhadores e o problema do "jogo do telefone" surge quando os supervisores parafraseiam incorretamente as respostas dos subagentes.

O Problema do Jogo do Telefone e sua Solução Antecipe que arquiteturas de supervisor inicialmente tenham desempenho aproximadamente 50% pior do que versões otimizadas devido ao problema do jogo do telefone (benchmarks LangGraph). Supervisores parafraseiam as respostas dos subagentes, perdendo fidelidade a cada passagem.

Resolva isso implementando uma ferramenta forward_message que permite que os subagentes passem respostas diretamente aos usuários:

def forward_message(message: str, to_user: bool = True):
    """
    Encaminha a resposta do subagente diretamente ao usuário, sem síntese do supervisor.

    Use quando:
    - A resposta do subagente é final e completa
    - A síntese do supervisor perderia detalhes importantes
    - O formato da resposta deve ser preservado exatamente
    """
    if to_user:
        return {"type": "direct_response", "content": message}
    return {"type": "supervisor_input", "content": message}

Prefira arquiteturas swarm em vez de supervisores quando os subagentes puderem responder diretamente aos usuários, pois isso elimina completamente os erros de tradução.

Padrão 2: Peer-to-Peer/Swarm Remova o controle central e permita que os agentes se comuniquem diretamente com base em protocolos predefinidos. Qualquer agente transfere o controle para qualquer outro através de mecanismos explícitos de transferência.

def transfer_to_agent_b():
    return agent_b  # Transferência via retorno de função

agent_a = Agent(
    name="Agent A",
    functions=[transfer_to_agent_b]
)

Escolha este padrão quando: as tarefas exigem exploração flexível, o planejamento rígido é contraproducente ou os requisitos surgem dinamicamente e desafiam a decomposição inicial.

Espere estas compensações: nenhum ponto único de falha e escalabilidade breadth-first eficaz, mas a complexidade de coordenação aumenta com o número de agentes, o risco de divergência aumenta sem um mantenedor de estado central e restrições robustas de convergência se tornam essenciais.

Defina protocolos explícitos de transferência com passagem de estado. Garanta que os agentes comuniquem suas necessidades de contexto aos agentes receptores.

Padrão 3: Hierárquico Organize os agentes em camadas de abstração: estratégia (definição de objetivos), planejamento (decomposição de tarefas) e execução (tarefas atômicas).

Camada de Estratégia (Definição de Objetivos) -> Camada de Planejamento (Decomposição de Tarefas) -> Camada de Execução (Tarefas Atômicas)

Escolha este padrão quando: os projetos têm estrutura hierárquica clara, os fluxos de trabalho envolvem camadas de gerenciamento ou as tarefas exigem planejamento de alto nível e execução detalhada.

Espere estas compensações: separação clara de responsabilidades e suporte para diferentes estruturas de contexto em diferentes níveis, mas sobrecarga de coordenação entre camadas, potencial desalinhamento estratégia-execução e caminhos complexos de propagação de erros.

Isolamento de Contexto como Princípio de Design

Trate o isolamento de contexto como o objetivo principal das arquiteturas multi-agente. Cada subagente deve operar em uma janela de contexto limpa focada em sua subtarefa, sem carregar contexto acumulado de outras subtarefas.

Mecanismos de Isolamento Selecione o mecanismo de isolamento correto para cada subtarefa:

  • Delegação total de contexto — Compartilhe o contexto completo do planejador com o subagente. Use para tarefas complexas onde o subagente precisa de compreensão completa. O subagente tem suas próprias ferramentas e instruções, mas recebe o contexto completo para suas decisões. Nota: isso anula parcialmente o propósito do isolamento de contexto.
  • Passagem de instruções — Crie instruções via chamada de função; o subagente recebe apenas o que precisa. Use para subtarefas simples e bem definidas. Mantém o isolamento, mas limita a flexibilidade do subagente.
  • Memória do sistema de arquivos — Agentes leem e escrevem em armazenamento persistente. Use para tarefas complexas que exigem estado compartilhado. O sistema de arquivos serve como mecanismo de coordenação, evitando o inchaço do contexto devido à passagem de estado compartilhado. Introduz latência e desafios de consistência, mas escala melhor do que a passagem de mensagens.

Escolha com base na complexidade da tarefa, nas necessidades de coordenação e na latência aceitável. Padrão: passagem de instruções e escale para memória do sistema de arquivos quando o estado compartilhado for necessário. Evite a delegação total de contexto, a menos que a subtarefa realmente exija.

Consenso e Coordenação

O Problema da Votação Evite a votação por maioria simples — ela trata alucinações de modelos fracos como iguais ao raciocínio de modelos fortes. Sem intervenção, discussões multi-agente degeneram em consenso sobre premissas falsas devido ao viés inerente para concordância.

Votação Ponderada Pondere os votos dos agentes por confiança ou especialização. Agentes com maior confiança ou especialização no domínio devem ter mais peso nas decisões finais.

Protocolos de Debate Estruture os agentes para criticar as saídas uns dos outros ao longo de várias rodadas. A crítica adversarial frequentemente produz maior precisão em raciocínios complexos do que o consenso colaborativo. Proteja-se contra a convergência sicofante, onde os agentes concordam para serem agradáveis em vez de corretos.

Intervenção Baseada em Gatilho Monitore as interações multi-agente em busca de marcadores comportamentais. Ative gatilhos de paralisação quando as discussões não progredirem. Detecte gatilhos de sicofância quando os agentes imitam as respostas uns dos outros sem raciocínio único.

Considerações sobre Frameworks

Diferentes frameworks implementam esses padrões com filosofias diferentes. LangGraph usa máquinas de estado baseadas em grafos com nós e arestas explícitos. AutoGen usa padrões conversacionais/event-driven com GroupChat. CrewAI usa fluxos de processo baseados em papéis com estruturas de equipe hierárquicas.

Orientação Prática

Modos de Falha e Mitigações

Falha: Gargalo do Supervisor O supervisor acumula contexto de todos os trabalhadores, tornando-se suscetível a saturação e degradação.

Mitigue restringindo os esquemas de saída dos trabalhadores para que retornem apenas resumos destilados. Use checkpointing para persistir o estado do supervisor sem carregar o histórico completo no contexto.

Falha: Sobrecarga de Coordenação A comunicação entre agentes consome tokens e introduz latência. A coordenação complexa pode anular os benefícios da paralelização.

Mitigue minimizando a comunicação através de protocolos claros de transferência. Agrupe resultados quando possível. Use padrões de comunicação assíncrona. Meça se a coordenação multi-agente realmente economiza tempo em comparação com um único agente com um contexto mais longo.

Falha: Divergência Agentes perseguindo objetivos diferentes sem coordenação central se desviam dos objetivos pretendidos.

Mitigue definindo limites claros de objetivo para cada agente. Implemente verificações de convergência que verifiquem o progresso em direção a objetivos compartilhados. Defina limites de time-to-live na execução do agente para evitar exploração ilimitada.

Falha: Propagação de Erros Erros na saída de um agente se propagam para agentes downstream que consomem essa saída, compondo resultados cada vez mais incorretos.

Mitigue validando as saídas dos agentes antes de passá-las aos consumidores. Implemente lógica de repetição com circuit breakers. Use operações idempotentes quando possível. Considere adicionar um agente de verificação que cruze as saídas críticas antes de entrarem no pipeline.

Exemplos

Exemplo 1: Arquitetura de Equipe de Pesquisa

Supervisor
├── Pesquisador (busca na web, recuperação de documentos)
├── Analista (análise de dados, estatísticas)
├── Verificador de Fatos (verificação, validação)
└── Redator (geração de relatórios, formatação)

Exemplo 2: Protocolo de Transferência

def handle_customer_request(request):
    if request.type == "billing":
        return transfer_to(billing_agent)
    elif request.type == "technical":
        return transfer_to(technical_agent)
    elif request.type == "sales":
        return transfer_to(sales_agent)
    else:
        return handle_general(request)

Diretrizes

  1. Projete para o isolamento de contexto como o principal benefício dos sistemas multi-agente
  2. Escolha o padrão de arquitetura com base nas necessidades de coordenação, não na metáfora organizacional
  3. Implemente protocolos explícitos de transferência com passagem de estado
  4. Use votação ponderada ou protocolos de debate para consenso
  5. Monitore gargalos do supervisor e implemente checkpointing
  6. Valide as saídas antes de passá-las entre agentes
  7. Defina limites de time-to-live para evitar loops infinitos
  8. Teste cenários de falha explicitamente

Armadilhas

  1. Gargalo do supervisor — O contexto do supervisor se torna o gargalo em sistemas grandes; combata com saídas de trabalhadores enxutas e checkpointing.
  2. Superioridade imaginada do multi-agente — Meça em relação a uma linha de base realista de agente único; a orquestração custa tokens.
  3. Sicofância — Agentes em debate convergem para concordância; implemente votação ponderada e protocolos de debate adversarial.
  4. Alucinação em cascata — Erros iniciais se amplificam através do sistema; implemente validação em cada borda.
  5. Complexidade de implementação — Sistemas multi-agente são mais complexos de construir e depurar que sistemas de agente único; comece simples e adicione agentes apenas quando necessário.

Referências

  • claim-multi-agent-token-multiplier — Documentação sobre custos incrementais de tokens em sistemas multi-agente
  • claim-evaluation-browsecomp-variance — Pesquisa sobre fatores que dominam a variância de desempenho em agentes de navegação
  • Documentação da OpenAI sobre transferências de agente

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

advanced-evaluation

This skill should be used for advanced LLM evaluation: LLM-as-judge systems, direct scoring, pairwise comparison, rubric calibration, evaluator bias mitigation, confidence scoring, and automated quality assessment.

bdi-mental-states

This skill should be used when modeling agent mental states with BDI concepts: beliefs, desires, intentions, RDF-to-belief transformations, rational agency traces, cognitive agents, BDI ontologies, and neuro-symbolic AI integration.

book-sft-pipeline

This skill should be used for book-to-SFT pipelines: ePub extraction, literary segmentation, author-voice dataset construction, style-transfer training, LoRA workflows, and model evaluation for voice replication.

comprehensive-research-agent

Ensure thorough validation, error recovery, and transparent reasoning in research tasks with multiple tool calls

context-compression

This skill should be used when long-running agent sessions need context compression, structured summarization, compaction, token-per-task optimization, or durable handoff summaries that preserve decisions, files, risks, and next actions.

context-degradation

This skill should be used for diagnosing and mitigating context degradation: lost-in-middle failures, context poisoning, context clash, context confusion, attention-pattern issues, and agent performance degradation caused by accumulated or conflicting context.

context-fundamentals

This skill should be used to explain or reason about the foundational concepts of context engineering: what context is, the anatomy of a context window, how attention mechanics work, the U-shaped attention curve, why context quality matters more than quantity, and the mental models needed to interpret every other context-engineering decision. Use this for conceptual explanation, onboarding, and background reading. Route operational work to the specialized skills: debugging attention failures goes to context-degradation, token-efficiency work goes to context-optimization, conversation summarization goes to context-compression, and project-shape decisions go to project-development.

context-optimization

This skill should be used for improving context efficiency: context budgeting, observation masking, prefix or KV-cache strategy, partitioning, token-cost reduction, retrieval scoping, and extending effective context capacity without lowering answer quality.

evaluation

This skill should be used when building agent evaluation systems: deterministic checks, regression suites, multi-dimensional rubrics, quality gates, production monitoring, baseline comparison, and outcome measurement for agent pipelines.

filesystem-context

This skill should be used when agent work needs file-backed context: durable scratchpads, tool-output offloading, just-in-time discovery, cross-agent handoff files, filesystem memory, or cleanup policies for context stored outside the prompt.

harness-engineering

This skill should be used when designing autonomous agent harnesses: research loops, evaluation scaffolds, locked and editable surfaces, durable logs, novelty gates, pruning, rollback, PR preparation, and human approval boundaries.

hosted-agents

This skill should be used when designing hosted or background agent infrastructure: sandboxed execution, remote coding environments, warm pools, session persistence, multiplayer collaboration, self-spawning agents, or Modal-style sandboxes.

latent-briefing

This skill should be used when the user asks to "share memory between agents", "KV cache compaction for multi-agent", "orchestrator worker context", "latent briefing", "reduce worker tokens", "cross-agent memory without summarization", or discusses Attention Matching compaction, recursive language models with workers, or token explosion in hierarchical agents.

long-horizon-prompting

This skill should be used when writing, enhancing, or evaluating the launch prompt for a long-running autonomous agent or a parallel multi-agent orchestration attacking a hard problem: pseudo-formal task briefs that define terms and an exact success predicate linguistically, enumerate non-counting outcomes, set persistence rules with explicit stop and return conditions and effort floors, manage a diverse portfolio of parallel approaches with an approach registry and blocked-route bookkeeping, and gate the return on adversarial audit. Route agent topology and coordination protocols to multi-agent-patterns, runtime control surfaces and loop governance to harness-engineering, evaluator and quality-gate construction to evaluation, judge design to advanced-evaluation, and compaction or memory mechanics to context-compression and memory-systems.

memory-systems

This skill should be used for persistent semantic memory in agent systems: cross-session knowledge retention, entity tracking, temporal validity, graph or vector retrieval, memory consolidation, and memory benchmark selection. Route file-backed scratchpads to filesystem-context, handoff summaries to context-compression, and token-efficiency tactics to context-optimization.

project-development

This skill should be used for project-level decisions about LLM-powered systems: whether an LLM is the right primitive for the task at hand, the shape of a multi-stage batch or agent pipeline, token and cost estimation, choosing between single-agent and multi-agent at the project level, structured output design for downstream parsing, and structuring agent-assisted iteration. Use this when the unit of work is a whole project or a multi-stage pipeline. Route individual tool design to tool-design and individual skill-loading or context-budget tactics to context-optimization.

self-improvement-loops

This skill should be used when the harness, scaffold, workflow, or optimizer itself is the optimization target: recursive self-improvement (RSI) loops, meta-harnesses, self-improving harnesses that mine their own failures and propose bounded edits, evolutionary or population-based search over agent scaffolds, acceptance gates for self-modifying systems, and agentic context evolution where the mechanism that produces context is versioned and evolved. Route governance of a single autonomous loop (locked surfaces, durable logs, rollback, novelty gates, approval boundaries) to harness-engineering, measurement and quality-gate design to evaluation, judge design to advanced-evaluation, and remote sandbox infrastructure to hosted-agents.

self-managed-context

This skill should be used when a model gets read-write control over its own live context window instead of a harness-scheduled compaction policy: the context exposed as an editable file the model rewrites with code tools, model-driven eviction and in-place updates, the harness invariants that keep self-editing safe (pinned prefix, edit gate, edit receipts, budget readouts, rollback on overflow), the prefix-cache cost of mid-context edits, and steering or training the model's own context-editing strategy. Route note content and fixed-threshold summarization to context-compression, cache-stable layout under harness control to context-optimization, file offloading to filesystem-context, and loop governance to self-improvement-loops.

tool-design

This skill should be used for the tool-interface layer of an agent system specifically: writing tool descriptions agents can route on, designing tool schemas and response formats, naming conventions, actionable error recovery messages, MCP server design, tool-set consolidation, and deciding when to add or remove an individual tool. Use this when the unit of work is a single tool or a set of tools. Route project-shape, pipeline architecture, and task-model-fit decisions to project-development; route deciding whether to introduce sub-agents to multi-agent-patterns.

Habilidades Relacionadas