← Trilha 3 | Módulo 3.4

📋 ReportAgent e o Padrão ReACT

Reasoning + Acting em loop, ferramentas de análise e geração de relatórios estruturados

O que é:

ReACT (Reasoning + Acting) é um paradigma de agentes LLM proposto por Yao et al. (2023) onde o modelo alterna entre raciocínio explícito e execução de ferramentas. Em cada iteração do loop: (1) Thought - o LLM raciocina sobre o que precisa fazer. (2) Action - escolhe uma ferramenta e seus parâmetros. (3) Observation - recebe o resultado da ferramenta. (4) Thought - raciocina sobre o resultado e decide se precisa de mais informação. O loop continua até o agente decidir que tem informação suficiente para gerar a resposta final, ou até atingir o limite máximo de iterações (tipicamente 5-10). Diferente de chain-of-thought puro, ReACT permite ao agente buscar ativamente informações em vez de apenas raciocinar sobre o que já está no prompt.

Por que aprender:

ReACT é o paradigma fundamental do ReportAgent do BettaFish. Sem ele, o agente estaria limitado ao que está no context window. Com ReACT, ele busca dados, entrevista agentes, e analisa traces ativamente, produzindo relatórios baseados em evidência em vez de especulação.

Conceitos-chave:
  • Loop Thought → Action → Observation: ciclo de raciocínio-ação
  • Stopping criterion: "tenho informação suficiente" ou max_iterations
  • Tool selection: LLM decide qual ferramenta usar a cada iteração
  • Observation parsing: resultado da ferramenta é formatado e injetado no contexto
  • Diferença vs CoT: ReACT age no mundo, CoT apenas raciocina internamente
O que é:

O ReportAgent dispõe de três ferramentas especializadas no loop ReACT: (1) insight_forge - analisa os dados brutos da simulação para identificar padrões estatísticos: clusters de opinião, tendências temporais, outliers, correlações entre ações de diferentes agentes. Recebe uma query analítica e retorna insights estruturados. (2) panorama_search - realiza busca ampla em todas as fontes: posts da simulação, dados externos crawlados, memórias de agentes, logs de ações. Combina full-text search com embedding search para máximo recall. (3) interview_agents - permite interrogar agentes individuais pós-simulação, re-instanciando-os com toda sua persona e memória para responder perguntas específicas.

Por que aprender:

Cada ferramenta serve uma dimensão analítica diferente: insight_forge encontra padrões quantitativos, panorama_search provê contexto qualitativo amplo, e interview_agents oferece explicação causal individual. O ReportAgent combina as três para produzir análise multi-dimensional.

Conceitos-chave:
  • insight_forge: input=query analítica, output=patterns + statistics + anomalies
  • panorama_search: input=search query, output=ranked list of relevant documents
  • interview_agents: input=(agent_id, questions[]), output=agent responses with reasoning
  • Tool composition: o ReportAgent frequentemente usa as 3 em sequência
  • Typical pattern: panorama → insight → interview para drill-down progressivo
O que é:

A geração de relatório segue um pipeline bifásico para garantir coerência em documentos longos: Fase 1 (Outline) - Após coletar dados via ReACT loop, o LLM gera um outline em JSON com a estrutura do relatório: {sections: [{title, key_points, data_references, subsections}]}. O outline é validado contra um schema e pode ser ajustado antes da Fase 2. Fase 2 (Expansion) - Cada seção do outline é expandida independentemente em Markdown completo, com dados, citações de agentes, tabelas e análise. Seções independentes podem ser geradas em paralelo. A montagem final concatena seções com transições geradas para coerência narrativa.

Por que aprender:

O pipeline bifásico é uma técnica reutilizável para qualquer geração de documentos longos com LLM. Evita o problema de "context drift" em documentos extensos e permite iteração rápida na estrutura sem reger todo o conteúdo.

Conceitos-chave:
  • Outline JSON: schema validável com hierarquia de seções e metadados
  • Parallel expansion: seções independentes geradas simultaneamente
  • Data references: cada ponto do outline aponta para dados específicos coletados
  • Transition generation: LLM gera parágrafos de transição entre seções
  • Template system: headers, footers e formatação consistentes via Jinja2
O que é:

Cada simulação gera traces: logs detalhados de todas as ações de todos os agentes com timestamps, contexto e reasoning. O insight_forge processa esses traces para identificar: (1) Turning points - rounds onde métricas agregadas (sentimento médio, volume de posts, diversidade de opinião) mudam abruptamente, detectados via change point detection com algoritmo PELT. (2) Coalizões - clusters de agentes que convergem em opinião e comportamento, identificados via community detection no grafo de interações. (3) Cascatas de influência - sequências de ações onde um post desencadeia reações em cadeia, reconstruídas como árvores de propagação a partir dos traces de reply/repost.

Por que aprender:

Traces brutos são incompreensíveis em escala. Uma simulação com 500 agentes e 50 rounds gera 25.000+ entradas de log. A análise automatizada transforma esse volume em insights acionáveis: "no round 23, a coalizão A se fragmentou após o post viral do Agent_127".

Conceitos-chave:
  • Change point detection (PELT): identifica onde séries temporais mudam de regime
  • Community detection (Louvain): clustering de agentes no grafo de interações
  • Propagation trees: árvore de cascata original_post → replies → reposts
  • Influence score: métrica composta de reach × engagement × opinion_shift
  • Temporal correlation: eventos que co-ocorrem ou se precedem sistematicamente
O que é:

A ferramenta interview_agents permite ao ReportAgent "conversar" com agentes individuais pós-simulação. O processo: (1) O agente é re-instanciado com toda sua persona (Big Five, perspectiva, posicionamento) e memória completa (todas as memórias acumuladas até o final da simulação). (2) O ReportAgent faz perguntas dirigidas como "Por que você mudou de opinião sobre X entre o round 15 e 30?" ou "Qual post mais influenciou sua posição atual?". (3) O agente responde com seu chain-of-thought, referenciando memórias específicas. As respostas são formatadas como citações diretas no relatório final.

Por que aprender:

Entrevistas com agentes são a ponte entre análise quantitativa e compreensão qualitativa. Elas adicionam narrativa humana aos padrões estatísticos. Um relatório que diz "3 agentes mudaram de opinião" é informativo; um que inclui "Agent_042 disse: mudei de opinião depois de ler o post sobre os dados econômicos" é convincente.

Conceitos-chave:
  • Re-instanciação: persona + memória completa carregadas para responder
  • Directed questions: perguntas baseadas em anomalias detectadas pelo insight_forge
  • Memory reference: agente pode citar memórias específicas como justificativa
  • Post-hoc rationalization caveat: agente racionaliza, não reporta processo real
  • Quote formatting: respostas inseridas como blockquotes no Markdown final
O que é:

O relatório final segue uma estrutura padronizada de 6 seções: (1) Executive Summary - 3 parágrafos com os achados mais importantes, escrito por último para refletir todo o conteúdo. (2) Tendências Identificadas - padrões macro com dados quantitativos e gráficos textuais (sparklines ASCII). (3) Atores-Chave - top-10 agentes por influence score com perfil, trajetória de opinião e citações de entrevista. (4) Pontos de Virada - momentos críticos com timeline e análise causal. (5) Dinâmicas de Grupo - mapa de coalizões, conflitos inter-grupo e alianças inesperadas. (6) Cenários Prováveis - 3 cenários projetados (otimista, pessimista, mais provável) com probabilidades estimadas.

Por que aprender:

A estrutura do relatório é o produto final visível ao tomador de decisão. Ela transforma dados complexos de simulação em narrativa clara e acionável. Entender cada seção permite customizar o template para diferentes audiências (executivos, pesquisadores, analistas).

Conceitos-chave:
  • Executive Summary: escrito por último, reflete todo o conteúdo em 3 parágrafos
  • Sparklines ASCII: visualizações de tendência em texto puro (ex: ▁▂▃▅▇▇▅▃)
  • Influence score ranking: agentes ordenados por reach × engagement × opinion_shift
  • Causal timeline: sequência de eventos com setas de causalidade
  • Scenario modeling: 3 cenários com probabilidades e assumptions explícitas
← Personalização de Agentes Próximo: BettaFish Profundo →