← Trilha 3 | Módulo 3.5

🐠 BettaFish Profundo: ForumEngine e Debate

Arquitetura de 5 agentes, colisão de cadeias de pensamento e modelos de sentimento

O que é:

O BettaFish implementa uma arquitetura de 5 agentes especializados que operam como um pipeline cooperativo: (1) QueryEngine recebe a pergunta do usuário e a decompõe em sub-queries otimizadas para busca - por exemplo, "impacto da IA na educação brasileira" vira ["IA educação Brasil tendências", "edtech Brasil 2024", "professores opinião IA sala de aula"]. (2) MediaEngine executa web crawling assíncrono nas sub-queries, coletando dados de múltiplas fontes com deduplicação. (3) InsightEngine analisa os dados coletados, identificando padrões, contradições e lacunas de informação. (4) ForumEngine promove debate entre perspectivas divergentes para stress-test das conclusões do InsightEngine. (5) ReportEngine gera o relatório final consolidando dados, insights e resultado do debate.

Por que aprender:

A arquitetura de 5 agentes é um caso de estudo em design de sistemas multi-agente. Cada agente tem responsabilidade única (Single Responsibility), comunica via shared state (não mensagens diretas), e pode ser substituído independentemente. Este padrão é replicável para outros domínios.

Conceitos-chave:
  • Pipeline flow: Query → Media → Insight → Forum → Report (com feedback loops)
  • Shared state: todos os agentes leem/escrevem em um estado compartilhado
  • Agent independence: cada agente pode usar LLM diferente (ex: GPT-4 para Insight, Claude para Report)
  • Orchestrator: controlador central decide sequência, repetições e early stopping
  • Feedback loops: InsightEngine pode pedir mais dados ao MediaEngine
O que é:

O ForumEngine é o componente mais inovador do BettaFish. Ele implementa "chain-of-thought collision" - um mecanismo onde múltiplos agentes com perspectivas divergentes debatem uma conclusão, cada um expondo seu raciocínio completo (chain-of-thought). O processo: (1) O Orchestrator cria N participantes com perspectivas designadas (otimista, pessimista, cético, técnico, etc.). (2) Na Rodada 1, cada participante apresenta sua análise independente. (3) Nas rodadas subsequentes, cada participante lê os argumentos dos outros e responde: concordando com evidência, refutando com contra-evidência, ou refinando sua posição. (4) O debate continua até convergência (posições estabilizam) ou até max_rounds. (5) Um moderador LLM sintetiza o debate em: pontos de consenso, pontos de dissenso, e nível de confiança por conclusão.

Por que aprender:

O ForumEngine é o que diferencia o BettaFish de sistemas single-agent. Um agente sozinho produz uma perspectiva; o debate revela incertezas, contradições e nuances que um agente isolado nunca capturaria. É a diferença entre um artigo de opinião e um painel de especialistas.

Conceitos-chave:
  • CoT collision: raciocínios explícitos se confrontam diretamente
  • Perspective assignment: cada participante recebe uma perspectiva designada
  • Devil's advocate: pelo menos 1 participante argumenta contra a conclusão principal
  • Convergence criterion: posições mudam menos que threshold por 2 rounds consecutivos
  • Confidence scoring: cada conclusão recebe score 0-1 baseado no nível de consenso
O que é:

A comunicação entre os 5 agentes do BettaFish segue o padrão publish-subscribe (pub-sub): cada agente publica suas conclusões em um shared log (um registro central), e os outros agentes se inscrevem para receber atualizações quando há novas entradas relevantes para seu trabalho. Um moderador LLM atua como filtro: ele lê cada nova publicação e decide se ela (a) deve ser encaminhada a outros agentes, (b) é redundante e deve ser descartada, ou (c) indica que o debate não está progredindo e precisa de nova direção. Este padrão desacopla os agentes - nenhum agente precisa saber da existência dos outros, apenas do log compartilhado.

Por que aprender:

O padrão pub-sub com moderação LLM resolve dois problemas clássicos de sistemas multi-agente: (1) acoplamento - adicionar ou remover agentes não exige mudanças nos existentes; (2) degeneração - sem moderação, agentes tendem a concordar vazio ou debater em círculos. O moderador LLM mantém o debate produtivo.

Conceitos-chave:
  • Shared log: append-only log de mensagens com timestamps e agent_id
  • Topic-based subscription: agentes recebem apenas mensagens de tópicos relevantes
  • LLM moderator: filtra redundância, detecta deadlock, sugere nova direção
  • Decoupling: agentes não se referenciam diretamente, apenas ao log
  • Replay capability: log pode ser replayed para debug ou análise post-mortem
O que é:

O BettaFish implementa 5 modelos de análise de sentimento intercambiáveis via plugin system: (1) Transformer pré-treinado (cardiffnlp/twitter-roberta-base-sentiment) - baseline rápido, ~85% accuracy em inglês. (2) BERT + LoRA fine-tuning - BERT base adaptado com Low-Rank Adaptation (rank=8, alpha=16) em dados do domínio, ~91% accuracy, requer GPU para fine-tuning. (3) GPT-2 + LoRA - modelo generativo adaptado para classificação, útil quando se quer tanto label quanto justificativa textual. (4) Qwen3 via API - modelo multilíngue que funciona bem em português sem fine-tuning, custo por chamada. (5) SVM + TF-IDF - modelo clássico de machine learning, sem GPU, sem dependência de API, ~80% accuracy, latência < 1ms.

Por que aprender:

Análise de sentimento é essencial para medir polarização, mapear opinião pública e detectar mudanças de humor em simulações. Ter 5 opções permite otimizar para cada cenário: SVM para prototipagem rápida, BERT LoRA para produção com GPU, Qwen3 para análise multilíngue.

Conceitos-chave:
  • LoRA: adapta 0.1% dos parâmetros do modelo base, fine-tuning em minutos
  • Plugin system: models/ directory com interface padronizada predict(text) → {label, score}
  • Trade-off matrix: accuracy vs latência vs custo vs multilíngue por modelo
  • Ensemble: média ponderada de múltiplos modelos para maior robustez
  • PT-BR support: Qwen3 e SVM com dados brasileiros são as melhores opções
O que é:

O pipeline completo do BettaFish do input ao output: (1) Query Stage (~30s): QueryEngine decompõe a pergunta em 3-7 sub-queries otimizadas. (2) Collection Stage (~2-5min): MediaEngine faz crawling assíncrono, coleta 50-200 documentos, deduplica e filtra por relevância. (3) Analysis Stage (~1-2min): InsightEngine identifica padrões, contradições e gaps nos dados. (4) Forum Stage (~3-8min, configurável): N ciclos de debate entre 3-5 perspectivas, com moderação LLM. (5) IR Consolidation (~30s): resultados do debate são ranqueados por evidência e consenso. (6) Rendering Stage (~1-2min): ReportEngine gera Markdown estruturado com dados, citações e visualizações. Total: 8-18 minutos para uma query completa em modo multi-agente.

Por que aprender:

Entender o pipeline permite: diagnosticar gargalos (Forum Stage tipicamente domina), otimizar custos (reduzir ciclos de forum para queries simples), e customizar estágios individuais sem afetar o resto do pipeline.

Conceitos-chave:
  • Stage isolation: cada estágio pode falhar e ser retried independentemente
  • Forum cycles: configurável 1-10, default 3, custo dominante do pipeline
  • Caching: resultados de Collection são cached para re-runs rápidos
  • Streaming: relatório pode ser renderizado progressivamente seção por seção
  • Cost breakdown: Collection ~20%, Forum ~50%, Rendering ~20%, outros ~10%
O que é:

O BettaFish suporta 4 modos de execução selecionáveis via flag --mode: (1) full - Pipeline completo com todos os 5 engines, máxima qualidade, 8-18 minutos, custo mais alto. (2) single - Apenas 1 engine (ex: --mode single --engine insight), útil para debug e testes de componentes individuais. (3) crawl-only - Apenas Collection stage, gera dataset de documentos sem análise LLM, útil para preparar dados offline ou para pipelines customizados. (4) report-only - Usa dados pré-coletados (de um crawl-only anterior ou de uma run anterior cached), regenera relatório com parâmetros diferentes sem recoletar dados, útil para iteração rápida no formato do relatório.

Por que aprender:

O modo correto para cada situação otimiza custo e tempo drasticamente. Debug em modo full desperdiça dinheiro; produção em modo single perde qualidade. Crawl-only + report-only separados permitem workflow de "coletar uma vez, analisar muitas vezes".

Conceitos-chave:
  • --mode full: pipeline completo, produção, ~$0.50-2.00 por query
  • --mode single --engine X: testa 1 engine isoladamente, debug
  • --mode crawl-only: coleta dados sem LLM analysis, ~$0.01 por query
  • --mode report-only --data-dir ./cache: reutiliza dados coletados, ~$0.20 por query
  • Composability: crawl-only → (iterate) → report-only é o workflow mais custo-eficiente
← ReportAgent e ReACT Próximo: Customização e Forks →