MÓDULO 4.3 beta

👥 Multi-agente e MCP (beta)

Padrões multi-agente: orquestrador-trabalhador, debate, blackboard. MCP (Model Context Protocol). Quando NÃO multiplicar.

6
Tópicos
70
Minutos
Avançado
Nível
Avançado
Tipo

Multi-agente é tentador mas frequentemente injustificado. Aqui você aprende padrões reais (orquestrador-trabalhador, debate, blackboard), o que MCP traz, e — crucialmente — quando UM agente bem-feito bate três meia-bocas.

🎯 Default ao single agent

Multi-agente é uma promoção condicional do single agent — só compensa quando há benefício REAL (especialização, debate, paralelismo).

💡 Comece com 1 agente, prove que precisa de mais

Antes de multi-agente, esgote single agent com bons tools e prompts. Multi-agente é resposta a problema medido, não default.

1

🎼 Orquestrador + trabalhadores especializados

O padrão mais comum

Padrão mais comum e útil: um orquestrador coordena trabalhadores especializados, cada um com prompt e tools focados. O orquestrador planeja e delega; os trabalhadores executam. Especialização vem do contexto restrito por agente.

exemplo: agente de pesquisa científica

  • Orquestrador: recebe query, decide quais especialistas chamar.
  • Trabalhador-busca: tools de retrieval (BM25, vetor, web).
  • Trabalhador-código: tools de execução de código sandboxed.
  • Trabalhador-redação: sumariza resultados em prosa final.
  • Handoff: orquestrador passa SUMÁRIO (não histórico) entre trabalhadores.
📑 Resumo navegável
O que é: Um agente coordenador delega sub-tarefas a agentes especializados (busca, código, análise). Cada um tem tools próprios.
Por que aprender: Especialização por contexto: cada trabalhador tem prompt e tools focados. Orquestrador foca em planejamento.
Conceitos-chave: Orchestrator-worker, specialization, hand-off, delegation.
2

💬 Debate: dois agentes argumentam

Du et al. 2023

Multi-agent debate (Du et al. 2023): dois agentes resolvem a mesma tarefa, comparam respostas e debatem discordâncias até convergir. Em raciocínio adversarial (matemática difícil, problemas com armadilhas), debate consistente bate single agent. Custo: 2-3× tokens — só vale a pena quando qualidade > custo.

loop de debate (esquemático)
def debate(query, agentes=2, rodadas=3):
    respostas = [a.responder(query) for a in agentes]
    for r in range(rodadas):
        if all(r == respostas[0] for r in respostas):
            return respostas[0]  # consenso
        for i, a in enumerate(agentes):
            outras = [r for j, r in enumerate(respostas) if j != i]
            respostas[i] = a.refinar(query, propria=respostas[i], outras=outras)
    return respostas[0]  # ou voting
📑 Resumo navegável
O que é: Dois agentes resolvem a mesma tarefa, comparam respostas, debatem discordâncias até convergir.
Por que aprender: Em raciocínio adversarial, debate consistente bate single agent. Custo: 2-3× mais tokens.
Conceitos-chave: Multi-agent debate, adversarial reasoning, consensus protocol.
3

🗂️ Blackboard: estado compartilhado

Memória comum

Blackboard architecture: agentes leem e escrevem em estado compartilhado, comunicação assíncrona. Para workflows longos com sub-tarefas paralelas, blackboard escala melhor que conversation. Implementação simples: dict thread-safe ou Redis.

blackboard mínimo
blackboard = {'tarefas_abertas': [...], 'resultados': {}}

def trabalhador(nome: str, board: dict):
    while board['tarefas_abertas']:
        t = board['tarefas_abertas'].pop()
        if t.assigned_to == nome:
            board['resultados'][t.id] = executar(t)
📑 Resumo navegável
O que é: Agentes leem e escrevem em um 'quadro' compartilhado. Comunicação assíncrona via state, não messaging direto.
Por que aprender: Para workflows longos onde agentes trabalham em paralelo em sub-tarefas, blackboard é mais escalável que conversation.
Conceitos-chave: Blackboard architecture, shared state, async coordination.
4

🔌 MCP: Model Context Protocol

Anthropic 2024

MCP (Model Context Protocol, Anthropic 2024) padroniza integração de tools/resources com LLMs. Inspirado em LSP (do mundo de IDE): um servidor MCP serve tools que qualquer cliente compatível pode consumir. Padrão emergente; ecosistema ainda em crescimento.

vantagens do MCP

  • Tool reutilizável entre projetos (servidor único, vários clientes).
  • Padrão para resources (não só tools — também contexto stático).
  • Transports: stdio (local), SSE (rede), WebSocket.
  • Reduz lock-in: trocar de modelo não significa reescrever tools.
📑 Resumo navegável
O que é: Protocolo aberto para conectar LLMs a fontes de dados e tools externos. Inspirado em LSP do mundo de IDE.
Por que aprender: Padroniza integração: um servidor MCP serve tools/resources que qualquer cliente pode consumir.
Conceitos-chave: MCP, tools, resources, prompts, transport (stdio, SSE).
5

🤝 Handoff: passar contexto entre agentes

Resumir + delegar

Quando agente A passa controle para agente B, NÃO passe histórico inteiro — passe sumário do estado relevante. Histórico cresce; lost-in-the-middle entra em jogo; custo escala. Handoff explícito mantém contexto enxuto e atenção alta no que importa.

handoff com sumário
def handoff(de_agente, para_agente, contexto):
    sumario = de_agente.sumarizar(
        f'Em 3 bullets, qual o estado atual e o que falta?\n'
        f'Histórico: {contexto.historico}'
    )
    return para_agente.continuar(sumario, contexto.tarefa_pendente)
📑 Resumo navegável
O que é: Quando agente A passa para B, sumariza o estado relevante. Não passar histórico inteiro = economia + atenção.
Por que aprender: Histórico cresce; contexto cresce; lost-in-the-middle entra em jogo. Handoff explícito mitiga.
Conceitos-chave: Context compression, state handoff, summary message.
6

🚫 Quando UM agente é melhor

A maioria dos casos

Multi-agente é tentador mas frequentemente injustificado. Tarefa cabe em 1 agente bem-feito? Use 1. Multi adiciona handoff loss, custo extra e complexidade de tracing. Default ao single agent; promova a multi só com benefício medido (especialização, debate, paralelismo real).

decisão: 1 agente ou N
Sinal1 agenteMulti
Tarefa cabe em 1 contexto coerente✗ overhead
Especializações distintas (busca + código + redação)?✓ orquestrador-trabalhador
Raciocínio adversarial crítico?✓ debate (custo 2-3×)
Volume alto / latência baixa✗ multiplica round-trips
📑 Resumo navegável
O que é: Tarefas que cabem em um único contexto coerente, sem trabalho paralelizável real, são piores com multi-agente.
Por que aprender: Multi-agente adiciona: handoff loss, custo extra, complexidade de tracing. Default ao single agent é honesto.
Conceitos-chave: Default to simple, complexity budget, when-not-to.

📑 Resumo navegável dos tópicos

1 🎼 Orquestrador + trabalhadores especializados — O padrão mais comum
O que é: Um agente coordenador delega sub-tarefas a agentes especializados (busca, código, análise). Cada um tem tools próprios.
Por que aprender: Especialização por contexto: cada trabalhador tem prompt e tools focados. Orquestrador foca em planejamento.
Conceitos-chave: Orchestrator-worker, specialization, hand-off, delegation.
2 💬 Debate: dois agentes argumentam — Du et al. 2023
O que é: Dois agentes resolvem a mesma tarefa, comparam respostas, debatem discordâncias até convergir.
Por que aprender: Em raciocínio adversarial, debate consistente bate single agent. Custo: 2-3× mais tokens.
Conceitos-chave: Multi-agent debate, adversarial reasoning, consensus protocol.
3 🗂️ Blackboard: estado compartilhado — Memória comum
O que é: Agentes leem e escrevem em um 'quadro' compartilhado. Comunicação assíncrona via state, não messaging direto.
Por que aprender: Para workflows longos onde agentes trabalham em paralelo em sub-tarefas, blackboard é mais escalável que conversation.
Conceitos-chave: Blackboard architecture, shared state, async coordination.
4 🔌 MCP: Model Context Protocol — Anthropic 2024
O que é: Protocolo aberto para conectar LLMs a fontes de dados e tools externos. Inspirado em LSP do mundo de IDE.
Por que aprender: Padroniza integração: um servidor MCP serve tools/resources que qualquer cliente pode consumir.
Conceitos-chave: MCP, tools, resources, prompts, transport (stdio, SSE).
5 🤝 Handoff: passar contexto entre agentes — Resumir + delegar
O que é: Quando agente A passa para B, sumariza o estado relevante. Não passar histórico inteiro = economia + atenção.
Por que aprender: Histórico cresce; contexto cresce; lost-in-the-middle entra em jogo. Handoff explícito mitiga.
Conceitos-chave: Context compression, state handoff, summary message.
6 🚫 Quando UM agente é melhor — A maioria dos casos
O que é: Tarefas que cabem em um único contexto coerente, sem trabalho paralelizável real, são piores com multi-agente.
Por que aprender: Multi-agente adiciona: handoff loss, custo extra, complexidade de tracing. Default ao single agent é honesto.
Conceitos-chave: Default to simple, complexity budget, when-not-to.

✓ O que FAZER

  • Tracing global atravessa todos os agentes
  • Handoff com sumário explícito
  • Comparação de custo single vs multi no harness
  • MCP server para tools reusáveis

✗ O que NÃO fazer

  • Tracing isolado por agente
  • Passar histórico inteiro entre agentes
  • Adotar multi por inércia
  • Reimplementar tools em cada agente

🚫 Quando NÃO usar

💻 Exemplo de código

# Padrão orquestrador + trabalhadores (esquemático)
def orquestrador(query: str) -> str:
    plano = llm_planejar(query)  # decompõe em sub-tarefas
    resultados = []
    for tarefa in plano:
        if tarefa.tipo == "busca":
            r = trabalhador_busca(tarefa.descricao)
        elif tarefa.tipo == "código":
            r = trabalhador_codigo(tarefa.descricao)
        # ... outros especialistas
        resultados.append({"tarefa": tarefa, "resultado": r.summary})  # handoff = sumário
    return llm_consolidar(query, resultados)

🏋️ Exercício hands-on

Compare single agent vs orquestrador+trabalhadores em uma tarefa multi-domínio. Tabela com custo, latência, qualidade. Justifique a escolha. Em projetos/post-launch/P3/.

📚 Bibliografia

🎯 Resumo do Módulo

  • Default ao single agent — multi exige justificativa medida.
  • Orquestrador-trabalhador é o padrão mais útil.
  • Debate bate single em raciocínio adversarial (custo 2-3×).
  • MCP padroniza integração de tools/resources.
  • Handoff = sumário, não histórico inteiro.

Próximo Módulo:

T5 — Memória e Compressão