Phase 14 - Lesson 25
Debate e Colaboração Multiagente
Du et al. (ICML 2024, "Society of Minds") executam N instâncias de modelo que propõem respostas de forma independente e, em seguida, criticam-se iterativamente ao longo de R rodadas para convergir. Melhora a factualidade, o seguimento de regras e o raciocínio. A topologia esparsa supera a malha completa (full mesh) no custo de tokens.
Tipo: Learn + Build Linguagens: Python (stdlib) Pré-requisitos: Fase 14 · 12 (Padrões de Fluxo de Trabalho), Fase 14 · 05 (Auto-Refinamento e CRITIC) Tempo: ~60 minutos
Objetivos de Aprendizado
- Explicar o protocolo de debate: N proponentes, R rodadas, convergência em uma resposta compartilhada.
- Descrever por que o debate melhora a factualidade, o seguimento de regras e o raciocínio.
- Explicar a topologia esparsa: nem todo debatedor precisa ver todos os outros.
- Implementar um debate usando a stdlib sobre um LLM roteirizado com variantes de malha completa e esparsa; medir o custo de tokens em relação à acurácia.
O Problema
O Auto-Refinamento (Lição 05) consiste em um único modelo criticando a si mesmo — o que gera o risco de pensamento de grupo (groupthink). O CRITIC (Lição 05) fundamenta a crítica em ferramentas externas — nem sempre disponíveis. O debate introduz um terceiro modo: múltiplas instâncias, crítica cruzada e convergência por discordância.
O Conceito
Society of Minds (Du et al., ICML 2024)
- N instâncias de modelo propõem respostas de forma independente para a mesma pergunta.
- Ao longo de R rodadas, cada modelo lê as propostas dos outros e as critica.
- Os modelos atualizam suas respostas com base nas críticas.
- Após R rodadas, retorna-se a resposta convergente.
Os experimentos originais usaram N=3, R=2 devido ao custo. A acurácia melhora com mais agentes e mais rodadas em problemas difíceis (MMLU, GSM8K, Validade de Movimento de Xadrez, geração de biografias).
As combinações multimodelo superam os debates de um único modelo: ChatGPT + Bard juntos > qualquer um deles sozinho.
Topologia esparsa
"Improving Multi-Agent Debate with Sparse Communication Topology" (arXiv:2406.11776, 2024-2025) mostrou que o debate em malha completa nem sempre é o ideal. Topologias esparsas (estrela, anel, hub-and-spoke) podem igualar a acurácia com um custo menor de tokens. Cada debatedor vê apenas um subconjunto de pares.
Implicações:
- Malha completa N=5, R=3 = 5 × 3 = 15 propostas, cada um lendo 4 pares = 60 operações de crítica.
- Estrela N=5, R=3 (um hub + 4 spokes) = 15 propostas, spokes leem apenas o hub = 12 operações de crítica.
Quando o debate ajuda
- Factualidade. N propostas independentes, a verificação cruzada reduz alucinações.
- Seguimento de regras. Validade de movimentos no xadrez — se um modelo esquece uma regra, os outros a identificam.
- Raciocínio aberto. Múltiplas abordagens convergem para a resposta correta.
Quando o debate prejudica
- UX sensível à latência. N × R rodadas em série geram uma latência que você pode não poder tolerar.
- Escala sensível ao custo. N × R tokens por pergunta.
- Buscas factuais simples. Uma única busca é mais barata do que cinco debates.
Instanciações práticas de 2026
- Orquestrador-trabalhadores da Anthropic (Lição 12) — uma variante de debate com uma etapa de síntese.
- Supervisor do LangGraph (Lição 13) — roteador central + agentes especialistas podem implementar debate como um nó.
- SDK de Agentes da OpenAI (Lição 16) — agentes passam a vez de um para o outro para crítica iterativa.
- Avaliações multiagente — pareamento de debate + avaliador-otimizador para sinal de avaliação.
Onde esse padrão falha
- Colapso de convergência. Todos os agentes convergem na primeira resposta incorreta. Mitigue isso com rodadas de discordância obrigatórias.
- Falha no hub. Em uma topologia em estrela, um hub ruim corrompe a todos. Rotacione ou use múltiplos hubs.
- Homogeneização de prompts. Todos os agentes usam o mesmo prompt; eles produzem as mesmas respostas. Use prompts e/ou modelos diversos.
Build It
O arquivo code/main.py implementa o debate com a biblioteca padrão (stdlib):
- Classe
Debater(LLM roteirizado com desvio de opinião por debatedor). - Executores de
FullMeshDebateeSparseDebate. - Três perguntas: uma factual, uma baseada em regras e outra de raciocínio.
- Métricas: resposta convergente, rodadas até a convergência, total de operações de crítica.
Execute:
python3 code/main.py
Saída: acurácia e custo por protocolo; a topologia esparsa iguala-se à malha completa em 2 de 3 perguntas com um custo menor.
Use It
- Orquestrador-trabalhadores da Anthropic para debates simples de 2 a 3 trabalhadores.
- LangGraph para debate multirrodada com estado e salvamento de pontos de controle (checkpointing).
- Customizado para pesquisa ou garantias especializadas de correção.
Ship It
O arquivo outputs/skill-debate.md estrutura um debate multiagente com topologia, N, R configuráveis e uma regra de convergência.
Exercícios
- Implemente uma regra de "discordância forçada": na rodada 1, cada debatedor deve produzir uma proposta distinta. Meça o efeito na velocidade de convergência.
- Adicione uma agregação ponderada pela confiança: os debatedores retornam (resposta, confiança); o agregador pondera pela confiança. Isso ajuda?
- Substitua um "agente" por um LLM roteirizado diferente com opiniões diferentes. A heterogeneidade melhora a acurácia?
- Meça o custo de tokens da malha completa versus a esparsa em suas 3 perguntas. Plote o custo em relação à acurácia.
- Leia o artigo "Society of Minds". Adapte seu protótipo para N=5, R=3. O que quebra? O que melhora?
Termos-Chave
| Termo | O que as pessoas dizem | O que realmente significa |
|---|---|---|
| Debate | "Crítica multiagente" | N proponentes, R rodadas de crítica cruzada, convergência |
| Malha completa (Full mesh) | "Todo mundo lê todo mundo" | Cada debatedor lê cada um de seus pares a cada rodada |
| Topologia esparsa | "Visualização limitada de pares" | Os debatedores leem apenas um subconjunto de pares |
| Hub-and-spoke | "Topologia em estrela" | Um debatedor central, N-1 spokes leem apenas o hub |
| Convergência | "Acordo" | Os debatedores convergem em uma resposta compartilhada |
| Society of Minds | "Artigo de debate de Du et al." | Método de debate multiagente do ICML 2024 |
Leitura Adicional
- Du et al., Society of Minds (arXiv:2305.14325) — debate multiagente canônico
- Sparse Communication Topology (arXiv:2406.11776) — resultados de topologia esparsa
- Anthropic, Building Effective Agents — orquestrador-trabalhadores como variante de debate
- Madaan et al., Self-Refine (arXiv:2303.17651) — contraparte de autocrítica em modelo único