Uma mesa de trading feita de agentes LLM: 117.000 estrelas e um aviso

O TradingAgents tem cerca de 117.700 estrelas no GitHub e ganhou umas 4.900 só nesta semana, o que o coloca entre os repositórios mais populares da categoria "agentes que fazem trabalho de verdade". É um framework multiagente da Tauric Research que simula uma mesa de trading: analistas, pesquisadores, um operador, uma equipe de risco e um gestor de portfólio, todos movidos por modelos de linguagem, discutindo entre si até algo ser aprovado.
O repositório é cuidadoso com o que afirma. A própria descrição diz que ele foi projetado para fins de pesquisa e acrescenta que o desempenho varia conforme o modelo de base escolhido, a temperatura, o período de negociação, a qualidade dos dados e a mais pura não determinabilidade. Essa frase carrega muito peso, e é a mais importante do README.
O organograma é a arquitetura
O interessante aqui não é um LLM conseguir escolher ações. Muitos prompts fazem isso muito mal. O interessante é que o pipeline está estruturado como uma empresa de verdade, com separação de funções e uma etapa de debate.
Quatro analistas trabalham em paralelo e de forma independente: fundamentos (demonstrativos, valor intrínseco, sinais de risco), sentimento (manchetes, StockTwits, Reddit), notícias (eventos globais e macro) e técnico (MACD, RSI, reconhecimento de padrões). Nenhum vê a produção dos outros. Os quatro relatórios precisam estar prontos antes de qualquer outra coisa começar.
Depois, uma equipe de pesquisa de duas pessoas — um touro e um urso — debate esses relatórios em rodadas estruturadas. Em seguida, um operador sintetiza o material de analistas e pesquisadores numa decisão com momento e tamanho. Então a equipe de risco avalia volatilidade, liquidez e exposição, e entrega uma avaliação a um gestor de portfólio, que aprova ou rejeita. As operações aprovadas vão para uma corretora simulada.
Se você já trabalhou num fundo, o formato vai parecer familiar, inclusive a parte em que a equipe de risco tem poder de veto e o gestor de portfólio dá a palavra final. Isso não é enfeite. As mesas de trading se organizam assim porque um único decisor, com uma só visão de mundo, comete erros correlacionados. A estrutura é um mecanismo de correção de erro, e o framework copia o mecanismo, não os cargos.

Colocando para rodar
Python 3.11 ou superior. O README sugere conda ou uv:
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
pip install .
Depois copie o arquivo de ambiente e adicione as chaves:
cp .env.example .env
E rode a CLI interativa:
tradingagents
Há também o caminho com Docker, que é o que eu usaria se você quer resultados reproduzíveis:
docker compose run --rm tradingagents
Para execuções agendadas existe um modo não interativo, com seleção explícita de modelo:
export TRADINGAGENTS_LLM_PROVIDER=openai \
TRADINGAGENTS_QUICK_THINK_LLM=gpt-6-luna \
TRADINGAGENTS_DEEP_THINK_LLM=gpt-6-sol
tradingagents --ticker NVDA --date 2026-09-23 \
--analysts market,news,fundamentals --save --no-show
Essa divisão em dois modelos merece atenção. O "quick think" cuida dos turnos mecânicos; o "deep think" cuida da análise. É uma decisão de controle de custo disfarçada de opção de configuração, e indica que os autores sabem que uma execução multiagente completa num modelo grande sai cara por ticker.
O problema dos números
É aqui que eu discordaria de como esse repositório costuma ser discutido.
Um sistema de trading multiagente que produz uma decisão por ticker por dia gera pouquíssimos pontos de dados por ano. Rodando em 30 tickers ao longo de 12 meses, você tem 7.560 decisões — o que parece muito até lembrar que todas vêm dos mesmos 12 meses de condições de mercado. O tamanho efetivo da amostra está mais próximo de um único regime do que de 7.560 observações independentes.
Some a não determinabilidade que o README avisa. Temperatura, versão do modelo, latência das ferramentas e a ordem em que as notícias recuperadas chegam deslocam a saída. Duas execuções na mesma data e no mesmo ticker podem divergir na etapa de debate dos pesquisadores e terminar com posições diferentes. Isso torna um backtest convencional praticamente impossível de replicar, e replicação é a única coisa que transforma um resultado em evidência.
Nada disso é uma crítica ao framework. É uma crítica ao gênero de texto "meu agente bateu o S&P" que segue todo lançamento como este. Os próprios autores publicam como paper no arXiv (2412.20138) com enquadramento de pesquisa, e o repositório diz "fins de pesquisa" na primeira frase. A distância entre isso e a forma como o projeto é compartilhado é onde as pessoas perdem dinheiro.
O que a camada de debate realmente entrega
Já li bastante transcrição de debate entre agentes, e há um padrão consistente: o debate muda a conclusão menos vezes do que muda a confiança.
Isso ainda é útil. Um touro e um urso discutindo os mesmos relatórios de analistas trazem à superfície a premissa específica da qual a operação depende — "isso funciona se a expansão de margem continuar" — e essa é justamente a frase que um analista humano deveria estar lendo de qualquer forma. A saída não é um sinal. É uma declaração estruturada do que precisa ser verdade.
Há também um risco real na direção oposta: transcrições de debate são persuasivas. Uma tese de baixa bem escrita parece insight mesmo quando se apoia num número de lucro alucinado. O framework mitiga isso isolando os analistas entre si e dando poder de veto à equipe de risco, mas nada no pipeline verifica se o número citado existe. Se você for implantar, a camada de verificação é sua para construir, e ela deveria ser um portão rígido, não a opinião de mais um agente.
Como um resultado sério teria que ser
Se alguém quiser me convencer de que um arranjo multiagente assim tem vantagem, esta é a régua mínima, e ela é mais alta do que qualquer demo que eu já vi.
Congele tudo. Versões de modelo, temperatura, templates de prompt, data do snapshot de dados e o corpus de recuperação. Um resultado obtido com dados ao vivo numa terça-feira específica é uma anedota, não uma medição.
Compare com a referência certa. Não "deu lucro?", mas "bateu uma estratégia ingênua com a mesma exposição?". Um sistema só comprado num mercado em alta bate o caixa por definição, e uma quantidade surpreendente de conteúdo sobre trading com agentes é exatamente isso, com etapas extras.
Reporte o custo. Uma execução completa, com quatro analistas e várias rodadas de debate, consome tokens de verdade por ticker por dia. Se a estratégia rende 12 por cento ao ano e a conta dos modelos é 3 por cento do portfólio, a camada de debate precisa valer um quarto do alfa antes de merecer seu lugar.
E publique as execuções perdedoras. O repositório de segurança da Cloudflare é crível porque diz em voz alta que uma passada encontra metade do que passadas repetidas encontram. O equivalente aqui seria publicar os tickers em que o pesquisador de baixa estava certo e o gestor de portfólio o sobrepôs. Ninguém faz isso ainda, em repositório nenhum.
Quem deveria de fato clonar isso
Três usos legítimos, e nenhum deles é "cuide do meu dinheiro".
Como andaime para pesquisa em coordenação multiagente, é genuinamente bom: separação de papéis limpa, um protocolo de debate, um mecanismo de veto e um paper descrevendo o desenho. Se você estuda se o desacordo estruturado melhora o raciocínio dos LLMs, isto é um banco de testes funcionando, com uma interface que você não precisa construir.
Como ferramenta educacional para quem está aprendendo como uma mesa decompõe uma decisão, é melhor que um diagrama de livro didático, porque dá para ver os relatórios fluindo e onde uma entrada ruim se propaga.
Como pré-mortem pessoal, com limites rigorosos: rode numa posição que você já tem, leia a tese de baixa e trate a saída como uma lista de itens a verificar. O valor está nas perguntas, não no campo BUY/SELL. E mantenha na corretora simulada, que é onde ele roda por padrão e onde deveria ficar.
As 117.000 estrelas são um sinal de demanda, não de desempenho. As pessoas querem um sistema que leia as notícias por elas e diga o que fazer. Este framework entrega algo mais honesto e menos satisfatório: uma sala cheia de colegas em desacordo, e uma decisão que ainda depende de os dados estarem certos.
Artigos relacionados
A Cloudflare abriu o auditor que usa em casa: o ponto é a contestação
Seis fases, três veredictos e uma regra que importa: o agente que confere um achado nunca é o que o encontrou. A Cloudflare também admite que uma execução acha mais ou menos metade.
225 mil estrelas para um Markdown: Karpathy em quatro regras
Sem código, sem build, sem benchmark: quatro princípios num CLAUDE.md atraíram mais atenção do que a maioria dos lançamentos de capacidade do ano.
Impeccable: 62 regras determinísticas contra o slop de IA
Inter em tudo, gradientes roxos, cards dentro de cards: 24 comandos e 62 regras determinísticas barram o slop no CI sem gastar um token.
Graphify transforma uma pasta em grafo. O 71.5x precisa de contexto
Aponte um agente de programação para uma pasta, digite /graphify e receba um grafo com arestas rotuladas como extracted, inferred ou ambiguous. O rótulo é o ponto, não a economia de tokens.