Pular para o conteúdo principal

AutoGen: Frameworks de Conversação Multagentes para IA Financeira

· 7 min para ler
Mike Thrift
Mike Thrift
Marketing Manager

Depois que o Gorilla mostrou que um único LLM pode aprender a chamar milhares de APIs com precisão, a pergunta natural é: o que acontece quando você dá a múltiplos LLMs papéis distintos e permite que eles conversem entre si? O AutoGen (Wu et al., 2023) responde a essa pergunta construindo um framework para conversação multagentes, e ler isso agora parece oportuno — a maioria dos sistemas de IA financeira em produção que vejo sendo projetados envolvem pelo menos três agentes por padrão.

O artigo

2026-05-04-autogen-multi-agent-conversation-framework

AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation (Wu, Bansal, Zhang et al., Microsoft Research, 2023) propõe um framework onde "agentes conversáveis" — cada um apoiado por alguma combinação de um LLM, ferramentas e entrada humana — enviam mensagens uns aos outros até que uma tarefa seja concluída. O framework introduz dois tipos de agentes integrados: AssistantAgent (dirigido por um LLM) e UserProxyAgent (que pode executar código e transmitir entrada humana), além de um GroupChatManager que roteia os turnos em conjuntos maiores.

A ideia central é o que os autores chamam de "programação de conversação": em vez de escrever manualmente a lógica de orquestração em código, você especifica o que cada agente deve fazer via prompts de sistema em linguagem natural e deixa a passagem de mensagens lidar com o fluxo de controle. O artigo demonstra isso em resolução de problemas matemáticos, QA com recuperação aumentada (RAG), tomada de decisão no ALFWorld e uma aplicação de pesquisa operacional chamada OptiGuide.

Principais ideias

  • Aumento de precisão no benchmark MATH: uma configuração de dois agentes no AutoGen (um assistente LLM mais um proxy de execução de código) atinge 69,48% no conjunto de teste MATH, em comparação com 55,18% para o GPT-4 usado sozinho — um ganho de 14 pontos ao adicionar feedback de execução de código.
  • Human-in-the-loop é cidadão de primeira classe: o UserProxyAgent possui um human_input_mode configurável — ALWAYS, NEVER ou TERMINATE — o que significa que você pode aumentar ou diminuir a supervisão sem alterar a lógica do agente.
  • Chat de grupo dinâmico: o GroupChatManager seleciona o próximo falante com base no estado da conversação, em vez de uma ordem round-robin fixa, o que permite que os fluxos de trabalho se ramifiquem em resposta aos resultados emergentes.
  • Ganho de segurança do OptiGuide: anexar um agente SafeGuard a um fluxo de trabalho de otimização de cadeia de suprimentos melhorou o F1 de detecção de código inseguro em 8 pontos percentuais no GPT-4 e 35 pontos no GPT-3.5, enquanto reduziu a base de código do usuário de 430 linhas para 100.
  • Recuperação interativa: em tarefas de QA, o agente assistente pôde solicitar contexto adicional emitindo um sinal UPDATE CONTEXT; isso ocorreu em cerca de 19,4% das perguntas no Natural Questions, e o F1 geral foi de 23,40%.
  • Componibilidade por design: qualquer agente AutoGen é, por si só, uma "ferramenta" válida que outro agente pode chamar, de modo que pipelines hierárquicos se compõem sem código de integração especial.

O que se sustenta — e o que não

Os resultados do MATH e do ALFWorld são sólidos — comparações controladas e reproduzíveis contra baselines nomeados com benchmarks reais. A cifra de 69,48% é significativa porque isola o benefício do feedback da execução de código dentro de um loop de conversação estruturado.

O que é mais fraco é a análise de custo e latência, ou melhor, a ausência dela. Cada turno do GroupChat dispara uma chamada completa de LLM com o histórico de conversação acumulado. Um fluxo de trabalho de quatro agentes com dez rodadas significa quarenta chamadas de LLM no mínimo, cada uma com uma janela de contexto crescente. O artigo nunca relata o custo de tokens ou a latência para nenhuma de suas aplicações. Em um pipeline de contabilidade real processando milhares de transações, essa omissão não é acadêmica — ela determina se a abordagem é viável.

A metáfora da programação de conversação também é mais frágil do que parece nas demonstrações. O GroupChatManager seleciona o próximo falante solicitando ao LLM que escolha de uma lista de agentes. Essa seleção é, por si só, uma etapa probabilística de geração de texto, o que significa que o fluxo de controle pode falhar de maneiras sutis que não levantam exceções. Para um agente de gravação no livro-razão (write-back) — onde a ordem das operações importa e uma chamada de ferramenta equivocada pode corromper um lançamento — a seleção não determinística do falante é uma responsabilidade real.

Finalmente, as tarefas de avaliação são todas de sessão única e curto prazo. Não há experimentos onde os agentes acumulam estado ao longo de dias, lidam com instruções contraditórias ou precisam resolver conflitos entre uma memória antiga do agente e uma nova entrada no livro-razão. Esses são exatamente os cenários que surgem em fluxos de trabalho contábeis reais.

Por que isso é importante para a IA financeira

O caso da IA financeira para sistemas multagentes é direto: reconciliação, lançamentos e relatórios são naturalmente preocupações distintas. Um pipeline Beancount poderia ter um LedgerReaderAgent que consulta o livro-razão como somente leitura, um ReconcilerAgent que compara transações com extratos bancários, um WriterAgent que propõe novas entradas e um ReviewerAgent que as verifica contra as regras do plano de contas antes que qualquer gravação seja confirmada. O padrão UserProxyAgent do AutoGen é a abstração correta para o WriterAgent — ele pode executar a gravação real no livro-razão e retornar o resultado como uma mensagem que o ReviewerAgent inspeciona.

O resultado do SafeGuard do OptiGuide é a descoberta mais diretamente transferível: adicionar um agente de verificação dedicado para capturar ações inseguras melhorou substancialmente a detecção, e a detecção aconteceu dentro do loop de conversação em vez de uma auditoria post-hoc. Essa é exatamente a arquitetura que eu desejaria para a segurança de write-back no Beancount — um verificador que bloqueia a confirmação (commit), e não um que alerta após o fato.

O problema da seleção não determinística do falante é solucionável: você pode substituir o GroupChatManager por uma função Python determinística que roteia com base no conteúdo da mensagem. Mas você precisa saber que deve fazer isso, e o artigo não coloca isso em primeiro plano como uma preocupação.

O que ler a seguir

  • AgentBench: Evaluating LLMs as Agents (Liu et al., arXiv:2308.03688, ICLR 2024) — avalia LLMs em oito ambientes de agentes distintos, incluindo navegação na web, codificação e manipulação de bancos de dados; a lacuna entre modelos comerciais e de código aberto é a descoberta principal e informa diretamente quais modelos base usar para pipelines de agentes financeiros.
  • TradingAgents: Multi-Agents LLM Financial Trading Framework (arXiv:2412.20138) — instancia diretamente o padrão AutoGen para mercados financeiros com agentes especializados de analista, pesquisador, trader e gestor de risco; os resultados de índice Sharpe e drawdown máximo fornecem os primeiros números reais de desempenho para sistemas financeiros multagentes.
  • AGENTLESS: Demystifying LLM-based Software Engineering Agents (Xia et al., arXiv:2407.01514) — argumenta que uma abordagem simples e sem agentes em duas fases (localizar, depois reparar) supera frameworks multagentes complexos no SWE-bench; um contrapeso útil à suposição de que mais agentes sempre ajudam.