Phase 16 - Lesson 14

Consenso e Tolerância a Falhas Bizantinas para Agentes

This lesson includes a graded coding exercise that runs in your browser, unlocked with lifetime access.

A tolerância a falhas bizantinas (BFT) de sistemas distribuídos clássicos encontra LLMs estocásticos. Em 2025-2026, surgiram três direções de pesquisa: o CP-WBFT (arXiv:2511.10400) pondera o voto de cada agente por uma verificação de confiança; o DecentLLMs (arXiv:2507.14928) segue uma abordagem sem líder com propostas paralelas dos trabalhadores e agregação por mediana geométrica; o WBFT (arXiv:2505.05103) combina votação ponderada com Agrupamento de Estrutura Hierárquica para dividir nós de Núcleo (Core) e de Borda (Edge). O resultado empírico honesto apresentado em "Can AI Agents Agree?" (arXiv:2603.01213) é que até mesmo o acordo sobre valores escalares é frágil hoje — um único agente enganoso pode comprometer uma arquitetura de Mixture-of-Agents. O BFT é necessário, mas não suficiente. Esta lição constrói um protocolo BFT minimalista, injeta três ataques específicos de agentes (mentira bizantina, conformidade bajuladora e monocultura de erro correlacionado) e mede como cada variante de consenso lida com essas ameaças.

Tipo: Aprenda + Construa Linguagens: Python (stdlib) Pré-requisitos: Phase 16 · 04 (Primitive Model), Phase 16 · 07 (Society of Mind and Debate), Phase 16 · 13 (Shared Memory) Tempo: ~75 minutos

Problema

Você tem N agentes de LLM, cada um gerando uma resposta diferente. Eles discordam. A votação por maioria escolhe a resposta errada porque dois agentes estão correlacionados (mesmo modelo base, mesmos dados de treinamento, mesmos modos de falha). Um terceiro agente erra de uma forma inédita — logo, a maioria formada é uma maioria falsa.

Agora, adicione um agente enganoso: ele mente de propósito. Ou um agente bajulador: ele concorda com quem falou por último. No BFT clássico, assume-se que os nós bizantinos representam uma fração f < n/3 e se comportam arbitrariamente. A realidade de 2026 é que os nós de LLM são estocásticos mesmo quando honestos, correlacionados entre modelos e influenciados pelas saídas dos outros. Não é possível tratá-los como eleitores independentes de Bernoulli.

O BFT clássico (PBFT, 1999) não está errado — ele é apenas incompleto. Ele lida com a alteração arbitrária de bits, mas não com "três agentes honestos compartilhando uma alucinação porque compartilham os mesmos dados de treinamento". Esta lição parte da base do PBFT clássico e adiciona três adaptações de 2025-2026.

Conceito

O que o BFT clássico oferece

A Tolerância Prática a Falhas Bizantinas (Practical Byzantine Fault Tolerance - Castro & Liskov, OSDI 1999) tolera f < n/3 nós bizantinos. O protocolo possui três fases (pré-preparação, preparação e confirmação) e duas primitivas (mensagens assinadas e certificados de quórum). Garante acordo sobre um único valor entre n >= 3f + 1 nós honestos ou maliciosos.

Essas garantias são robustas, mas assumem que:

  1. As falhas são independentes. Os nós bizantinos não se coordenam.
  2. Nós honestos são verdadeiramente honestos. A corretude das saídas dos nós honestos não é questionada; o protocolo apenas alinha discordâncias.
  3. A pergunta tem uma resposta factual absoluta. O consenso sobre um fato errado ainda é considerado consenso.

Agentes de LLM violam todas as três premissas. Dois agentes executando o mesmo modelo base compartilham falhas. Um LLM "honesto" ainda alucina. E em perguntas ambíguas, a "verdade" é o que os agentes decidirem — não há um oráculo externo.

Os três ataques específicos de agentes

Mentira bizantina (Byzantine lie). Um agente gera deliberadamente uma resposta incorreta. O BFT clássico lida com isso se f < n/3.

Conformidade bajuladora (Sycophantic conformity). Um agente lê as respostas dos outros antes de votar e alinha-se com quem falou por último. Ele não é malicioso, mas correlaciona-se com a voz mais forte. O BFT clássico não previne isso porque o agente passa por todas as verificações de assinatura.

Monocultura de erro correlacionado (Correlated-error monoculture). Três agentes compartilham um modelo base. Eles alucinam a mesma resposta incorreta. A maioria está errada. O BFT clássico não ajuda porque os três concordam "honestamente".

As soluções de 2025-2026

CP-WBFT (arXiv:2511.10400) — BFT Ponderado por Verificação de Confiança (Confidence-Probed Weighted BFT). Cada eleitor anexa uma estimativa de confiança à sua resposta (uma probabilidade autorrelatada ou uma previsão de um modelo de calibração separado). O peso do voto escala com a confiança. Relatou +85,71% de melhoria do BFT em grafos completos. Mitigação para: conformidade bajuladora (agentes que apenas se conformam tendem a ter baixa confiança na posição adotada).

DecentLLMs (arXiv:2507.14928) — Sem líder. Agentes trabalhadores propõem em paralelo, agentes avaliadores pontuam as propostas, e a resposta final é a mediana geométrica das posições pontuadas. Robusto quando f < n/2. Mitigação para: mentiras bizantinas e erros correlacionados (a mediana geométrica é robusta a valores discrepantes e aproxima-se do cluster mais denso, não da média enviesada pelo modelo).

WBFT (arXiv:2505.05103) — BFT Ponderado com Agrupamento de Estrutura Hierárquica. Os pesos dos votos são atribuídos pela qualidade da resposta somada a uma pontuação de confiança aprendida com o histórico. Agrupa os agentes em Núcleo (Core) e Borda (Edge); os agentes do Núcleo devem alcançar o consenso primeiro, e os da Borda os seguem. Mitigação para: escalabilidade (o consenso no Núcleo é pequeno e rápido) e parcialmente para monocultura (o Núcleo pode ser escolhido com base na diversidade).

Empírico: "Can AI Agents Agree?" (arXiv:2603.01213)

O artigo mede o acordo escalar (agentes de LLM concordando com um único valor numérico) em vários modelos de fronteira. A conclusão é desconfortável:

  • Mesmo sem adversários, os agentes de LLM discordam sobre questões escalares em taxas acima de 30% em muitos benchmarks.
  • Um único agente que adota uma persona enganosa pode desviar o consenso de um Mixture-of-Agents em mais de 40 pontos percentuais em relação à linha de base honesta.
  • As taxas de desacordo correlacionam-se com a diversidade de modelos — conjuntos heterogêneos discordam mais do que os homogêneos (bom: erros não correlacionados), mas também convergem mais lentamente (ruim: maior tempo para consenso).

A lição: o BFT fornece o mecanismo para alinhar as saídas, mas não garante se a saída alinhada está correta. Combine com verificação (Lição 08, especialização de papéis), diversidade (Lição 15, variantes de debate) e agentes avaliadores (Lição 24, benchmarks).

O protocolo principal simplificado

Uma rodada BFT mínima para agentes de LLM:

1. a tarefa chega; cada agente i produz a resposta a_i
2. cada agente anexa uma pontuação de confiança c_i em [0, 1]
3. o agregador coleta (a_i, c_i) de todos os n agentes
4. o agregador agrupa por cluster semântico (respostas equivalentes)
5. o agregador calcula o peso de cada cluster C:
     w(C) = sum_{i em C} c_i
6. vencedor = cluster com peso máximo, se máximo > limite * sum(c_i)
   caso contrário: reintentar ou escalar
7. clusters minoritários registrados com proveniência para auditoria posterior

A etapa de agrupamento semântico é a particularidade para LLMs. Duas respostas como "o estudo relata 4,2%" e "melhoria de 4,2%" representam o mesmo cluster. Uma verificação ingênua de igualdade de strings falharia. Em produção, use um modelo de embeddings leve ou canonização explícita.

Ajuste de limites (threshold tuning)

O parâmetro limite (threshold) decide quando aceitar e quando reintentar. Muito baixo: aceitam-se maiorias fracas. Muito alto: nunca se aceita nada. Faixa empírica: 0,5-0,67 para n=5-7 agentes, maior para n menores. Abaixo do limite, escala-se para um humano ou para um conjunto diferente de agentes.

Onde o consenso não ajuda

  • Questões ambíguas. Se a pergunta não tem uma resposta factual absoluta, o consenso é apenas uma opinião. Trate-o como tal.
  • Questões compostas. "Escreva o código e explique-o" — duas respostas distintas. Vote em cada uma de forma independente.
  • Debate adversarial de múltiplas rodadas. Se os agentes puderem observar rodadas anteriores e imitar os outros (debate Du 2023), eles começam a concordar entre si independentemente da verdade. Limite as rodadas (2-3 normalmente).

Construa

code/main.py implementa:

  • AgentVoter — uma política programada com (resposta, confiança).
  • MajorityVote — votação clássica por maioria relativa (pluralidade).
  • CPWBFT — votação ponderada por confiança com agrupamento semântico.
  • DecentLLMs — agregação por mediana geométrica sobre propostas pontuadas.
  • Scenario — executa cada agregador sob três padrões de ataque.

Padrões de ataque implementados:

  1. byzantine: um agente mente com alta confiança.
  2. sycophancy: um agente copia a primeira resposta que vê, com confiança correspondente.
  3. monoculture: três agentes compartilham uma resposta errada (erro correlacionado) com confiança moderada.

Execute:

python3 code/main.py

Saída esperada: uma tabela de (ataque, agregador) -> resposta final, com a resposta correta destacada. A maioria relativa (pluralidade) falha no caso de monocultura. A ponderação por confiança do CPWBFT mitiga a bajulação. A mediana geométrica do DecentLLMs aproxima-se do cluster honesto quando a monocultura representa menos da metade da população.

Use

O outputs/skill-consensus-designer.md projeta um protocolo de consenso para um conjunto multiagente: método de agrupamento, ponderação, limite e política de escalonamento para rodadas abaixo do limite.

Coloque em Produção

Antes de colocar qualquer mecanismo de consenso em produção:

  • Teste contra ataques com pelo menos os três padrões descritos acima. O protocolo deve falhar de forma previsível, nunca silenciosa.
  • Registre cada cluster minoritário com proveniência. Os clusters minoritários são seu sistema de alerta precoce para erros correlacionados.
  • Imponha rodadas limitadas. Evite "debater até concordar" — isso favorece a conformidade bajuladora.
  • Separe o acordo da corretude. A saída do consenso vai para um verificador; o verificador é independente do conjunto de agentes.
  • Monitore a taxa de acordo. Um aumento abrupto indica viés de conformidade; uma queda acentuada sinaliza desvio (drift) do modelo.

Exercícios

  1. Execute code/main.py. Confirme que a maioria relativa falha no ataque de monocultura, mas o CPWBFT o mitiga parcialmente quando a confiança da monocultura está abaixo de 0,7.
  2. Adicione um quarto padrão de ataque: abstenção silenciosa — um agente se recusa a responder ("não sei"). Como cada agregador deve tratar as abstenções? Implemente sua escolha.
  3. Altere o agrupamento semântico da canonização de strings para similaridade por embeddings (use qualquer modelo de embeddings de código aberto). O que acontece com o ataque de bajulação?
  4. Leia o CP-WBFT (arXiv:2511.10400). Implemente a etapa de calibração de confiança (um modelo de calibração separado verifica a confiança autorrelatada de cada agente). Meça o ganho de precisão no cenário de monocultura.
  5. Leia "Can AI Agents Agree?" (arXiv:2603.01213). Reproduza um experimento simplificado de acordo escalar: três agentes, uma pergunta escalar, o prompt com persona enganosa. O CPWBFT ou o DecentLLMs detectam a mentira?

Termos-Chave

Termo O que as pessoas dizem O que realmente significa
BFT "Tolerância a falhas bizantinas" Protocolo Castro-Liskov de 1999 para consenso com f < n/3 falhas arbitrárias.
Byzantine "Qualquer comportamento ruim" Um nó que pode mentir, descartar mensagens, falhar silenciosamente — qualquer coisa além de falhar de forma segura.
Confidence probe "Quão seguro você está?" Probabilidade autorrelatada ou prevista por calibração associada a um voto.
Semantic clustering "Mesma resposta, palavras diferentes" Agrupamento de respostas equivalentes antes da contagem de votos.
Geometric median "Centro robusto" O ponto que minimiza a soma das distâncias aos pontos da amostra. Robusto a valores discrepantes, ao contrário da média.
Monoculture "Mesmo modelo, mesmas falhas" Erros correlacionados quando os agentes compartilham dados de treinamento ou modelo base.
Sycophantic conformity "Concordar com a voz mais forte" O voto de um agente desvia em direção a quem falou primeiro/mais alto.
Core/Edge "BFT hierárquico" Divisão do WBFT: consenso no Núcleo pequeno primeiro, nós de Borda seguem depois. Limita a latência.

Leituras Adicionais

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