Phase 16 - Lesson 07

Sociedade da Mente e Debate Multiagente

A premissa de 1986 de Minsky — a inteligência é uma sociedade de especialistas — é redescoberta a cada década. Em 2023, Du et al. a transformaram em um algoritmo concreto: múltiplas instâncias de LLM propõem respostas, leem as respostas umas das outras, criticam e atualizam. Ao longo de N rodadas, elas convergem para um consenso que supera CoT zero-shot e reflexão em seis tarefas de raciocínio e factualidade. Duas descobertas são importantes: tanto múltiplos agentes quanto múltiplas rodadas contribuem de forma independente. A sociedade supera o monólogo de um único agente; a troca de múltiplas rodadas supera a votação em rodada única.

Tipo: Aprender + Construir Linguagens: Python (stdlib) Pré-requisitos: Fase 16 · 04 (Modelo Primitivo) Tempo: ~60 minutos

Problema

A autoconsistência (self-consistency) — amostrar um modelo várias vezes e escolher a resposta majoritária — é a melhoria de raciocínio mais barata que você pode acoplar. Funciona, mas satura rapidamente. Você pode dobrar suas amostras e não ver outro salto significativo.

O debate quebra essa saturação. Em vez de N amostras independentes de um único modelo, N agentes leem o raciocínio uns dos outros e revisam suas respostas. A correlação entre as amostras cai (elas não são mais i.i.d.), e o ponto de convergência costuma ser correto onde a votação i.i.d. estava confiantemente errada.

Conceito

O algoritmo de Du et al. 2023

De arXiv:2305.14325 (ICML 2024):

  1. Cada um dos N agentes produz uma resposta inicial para a pergunta.
  2. Para a rodada r = 2..R: cada agente visualiza as respostas da rodada r-1 dos outros agentes e é solicitado a "considerando estas respostas, apresente sua resposta atualizada".
  3. Após R rodadas, realiza-se uma votação por maioria das respostas finais.

O artigo realiza testes nos benchmarks de MMLU, GSM8K, biografias, MATH e factualidade. O debate supera consistentemente CoT e autorreflexão (Self-Reflection).

Dois parâmetros independentes

Ablações do mesmo artigo:

  • Apenas a quantidade de agentes (1 rodada, votação por maioria de N) supera o agente único na maioria das tarefas, mas atinge um platô.
  • Apenas a quantidade de rodadas (1 agente visualizando seu próprio raciocínio anterior) mal ajuda — a fraqueza conhecida da reflexão.
  • Ambos juntos produzem os grandes saltos. A troca de múltiplas rodadas entre múltiplos agentes impulsiona o ganho.

Por que funciona

Dois mecanismos:

  1. Exposição ao desacordo. Quando um agente vê a cadeia de raciocínio de outro agente com uma conclusão diferente, ele precisa se justificar ou atualizar sua resposta. De qualquer forma, o contexto para a rodada r+1 torna-se mais rico do que o da rodada r.
  2. Redução de erro correlacionado. Na autoconsistência, todas as amostras vêm do mesmo modelo, fazendo com que os erros se correlacionem — você obtém uma média em uma resposta confiantemente errada. Modelos diferentes ou sementes (seeds) diferentes decorrelacionam os resultados. Diferentes pontos de vista debatidos decorrelacionam ainda mais.

Debate heterogêneo

O A-HMAD e desdobramentos relacionados usam modelos de base diferentes para agentes diferentes. O debate entre Llama + Claude + GPT reduz o colapso de monocultura (Lição 26) porque os erros correlacionados de uma família de modelos não são compartilhados pelas outras.

Ponto negativo: um modelo fraco participando de um debate pode arrastar o consenso em direção à sua resposta errada (consulte "Should we be going MAD?", arXiv:2311.17371).

NLSOM — a extensão de 129 agentes

Zhuge et al. ("Mindstorms in Natural Language-Based Societies of Mind", arXiv:2305.17066) escalaram essa ideia para sociedades de 129 membros. O resultado: especialização e auto-organização emergem com a escala, e o sistema supera o agente único em tarefas como resposta visual a perguntas (visual question answering).

Modos de falha

  • Cascata de bajulação (Sycophancy cascade). Todos os agentes cedem ao agente que parecer mais confiante. O debate colapsa para a voz mais alta. Instruir papéis adversariais ("um agente deve defender a posição oposta") ajuda a mitigar isso.
  • Desvio de tópico (Topic drift). Debates ao longo de muitas rodadas desviam-se da pergunta original. Mitigação: reinserir a pergunta em cada rodada.
  • Explosão de computação. N agentes × R rodadas = N·R chamadas de LLM, cada uma com um contexto crescente. Um debate com 5 agentes e 5 rodadas resulta em 25 chamadas com contextos crescentes. O custo por pergunta pode exceder 10 vezes o de uma única chamada de CoT.

Construa

code/main.py executa um debate de 3 agentes × 3 rodadas sobre uma questão matemática na qual cada agente começa com uma resposta diferente (possivelmente errada). Os agentes são programados (scripted) — cada um "atualiza" fazendo a média das respostas dos vizinhos ponderada por uma confiança predefinida. A convergência é visível no log rodada a rodada.

A demonstração mostra dois efeitos principais:

  • Uma única rodada de troca aproxima os agentes da resposta correta.
  • Rodadas adicionais além da rodada 2 mostram retornos decrescentes (condizente com o platô de Du et al.).

Execute:

python3 code/main.py

Use

O outputs/skill-debate-configurator.md configura um debate para uma nova tarefa: número de agentes, número de rodadas, heterogeneidade (mesmo modelo vs misto), atribuição de papéis (simétrico vs um adversarial). Ele também estima o custo de tokens antes da execução.

Coloque em Produção

Se você colocar o debate em produção:

  • Limite as rodadas em 3. Du et al. mostram que 3 rodadas capturam a maior parte do ganho. Mais do que isso gera custo, não qualidade.
  • Limite os agentes em 5. Além de 5, o inchaço do contexto e o custo dominam os ganhos.
  • Heterogêneo por padrão. Pelo menos dois modelos de base diferentes no grupo.
  • Slot adversarial. Um agente instruído a discordar independentemente da situação. Isso quebra a bajulação (sycophancy).
  • Registre todas as rodadas. Sistemas de debate que ocultam rodadas intermediárias não podem ser depurados ou auditados.

Exercícios

  1. Execute code/main.py, depois defina a quantidade de rodadas para 5 e observe os retornos decrescentes. Em qual rodada a convergência adicional cessa?
  2. Adicione um quarto agente com um papel adversarial: sempre discordar da maioria atual. Isso prejudica ou melhora a convergência?
  3. Plote (imprima) a pontuação de concordância por rodada (fração de agentes na resposta majoritária). Quando ela atinge 1.0 e isso é equivalente a estar "correto"?
  4. Leia as ablações da Seção 4 de Du et al. Replique o resultado de "apenas agentes" vs "apenas rodadas" vs "ambos" usando este código.
  5. Leia "Should we be going MAD?" (arXiv:2311.17371) e liste duas variantes de debate além do round-robin — por exemplo, liderado por juiz (judge-led), cadeia de debate (chain-of-debate) ou adversarial.

Termos-Chave

Termo O que as pessoas dizem O que realmente significa
Sociedade da Mente (Society of Mind) "Ideia de Minsky" Inteligência como especialistas interagindo; a estrutura de 1986 agora operacionalizada via debate de LLMs.
Debate multiagente "Agentes discutem" N agentes propõem, criticam uns aos outros, revisam ao longo de R rodadas e realizam votação por maioria.
Consenso "Eles concordam" Não é a verdade epistêmica — apenas a fração que escolhe a resposta majoritária. Pode estar confiantemente errada.
Rodadas "Etapas de troca" Uma rodada = cada agente lê os outros e se atualiza uma vez.
Debate heterogêneo "Misturar famílias de modelos" Usar modelos de base diferentes para decorrelacionar erros.
Cascata de bajulação (Sycophancy cascade) "Todos concordam com o que fala mais alto" Falha no debate em que os agentes cedem ao agente mais confiante, independentemente de estar correto.
NLSOM "Sociedade de 129 agentes" Sociedade da Mente baseada em linguagem natural (Natural-Language Society of Mind); a versão em escala de Zhuge et al.
Erro correlacionado "Mesmo modelo, mesmo bug" O motivo pelo qual a autoconsistência satura; o debate entre diferentes pontos de vista decorrelaciona os erros.

Leituras Adicionais

0 lifetime access. Curriculum based on AI Engineering from Scratch by Rohit Ghumare (MIT, used under attribution).