Pular para o conteúdo principal

Registro de pesquisa do Bean Labs

LATS: Busca em Árvore por Agente de Linguagem — Raciocínio, Ação e Planejamento em um Único Framework

Publicado Última atualização 6 min para lerMike ThriftMike Thrift
LATS: Busca em Árvore por Agente de Linguagem — Raciocínio, Ação e Planejamento em um Único Framework

Artigo: https://arxiv.org/abs/2310.04406

Nesta página

Estive pensando sobre o que vem depois do Tree of Thoughts — se você pode buscar sobre passos de raciocínio, por que não buscar sobre ações também? É exatamente isso que o LATS (Language Agent Tree Search) faz, e é por isso que estou lendo agora. O artigo de Andy Zhou, Kai Yan, Michal Shlapentokh-Rothman, Haohan Wang e Yu-Xiong Wang (ICML 2024, arXiv:2310.04406) é a síntese mais clara até agora de raciocínio, ação e planejamento em um único framework de agente, e os resultados são genuinamente difíceis de ignorar.

O artigo

O problema central que o LATS aborda é uma lacuna estrutural em trabalhos anteriores sobre agentes. O ReAct intercala raciocínio e ação, mas não tem mecanismo para reverter e tentar um caminho diferente quando uma trajetória dá errado. O Tree of Thoughts permite ramificação sobre passos de raciocínio, mas opera no conhecimento interno do LM — não pode chamar ferramentas ou receber feedback externo durante a busca. O Reflexion adiciona autocorreção verbal, mas seu loop linear de tentativa se compromete com uma nova trajetória sem explorar alternativas. O LATS funde todas essas três ideias com uma espinha dorsal adequada de Monte Carlo Tree Search (MCTS), permitindo que agentes LLM explorem múltiplas ramificações, recebam feedback real do ambiente e façam backtracking quando um caminho falha.

O maquinário técnico é um loop MCTS de seis passos: Seleção (escolher o próximo nó a explorar via fórmula UCT), Expansão (amostrar n ações candidatas do LM), Avaliação (pontuar cada nó com uma função de valor híbrida), Simulação (roll out até um estado terminal), Retropropagação (atualizar valores dos ancestrais), e Reflexão (em caso de falha, gerar um resumo verbal do que deu errado e armazená-lo como contexto). A função de valor merece atenção: V(s) = λ·LM(s) + (1−λ)·SC(s), onde LM(s) é a estimativa do próprio LM sobre a qualidade da trajetória após receber feedback do ambiente, e SC(s) é uma pontuação de autoconsistência baseada em quantas vezes aquela ação é amostrada entre nós irmãos. Isso não é um modelo de recompensa treinado — a função de valor é inteiramente orientada por prompt.

Ideias-chave

  • No HumanEval, GPT-4 + LATS atinge 92,7% pass@1, versus 91,0% para GPT-4 + Reflexion e 56,9% para GPT-3.5 + ReAct sozinho. GPT-3.5 + LATS salta para 83,8%.
  • No HotPotQA, LATS (CoT + ReAct) atinge 0,71 de Exact Match versus 0,32 para o baseline ReAct — mais que dobrando a precisão multi-hop.
  • No WebShop (navegação web + compra), LATS pontua 75,9 (38,0% de sucesso) versus Reflexion com 64,2 (35,0%) — uma diferença significativa em uma tarefa que exige gerenciar estado em muitas páginas.
  • No Game of 24 (um quebra-cabeça puramente de raciocínio), LATS atinge 0,44 de sucesso versus 0,20 do ToT, apesar de usar a mesma espinha dorsal GPT-4.
  • Surpreendentemente, LATS expande menos nós para encontrar uma solução do que ToT (média de 66,65 vs. 84,05 nós no HotPotQA com k=50) e usa menos tokens (173.290 vs. 210.215), embora pareça mais caro em teoria.

O que se sustenta — e o que não se sustenta

Os números dos benchmarks são reais e o framework é conceitualmente limpo. A formulação UCT fornece um tradeoff princípioso de exploração–exploração que o BFS/DFS ad hoc do ToT não tem. Integrar feedback externo do ambiente na função de valor — em vez de introspecção pura do LM — é a jogada certa, e os resultados mostram isso.

Mas o artigo carrega uma suposição crítica que os autores reconhecem sem testar completamente: LATS exige a capacidade de reverter o ambiente a um estado anterior. Sem checkpointing, você não pode ramificar a árvore — uma vez que uma ação é tomada, você está comprometido. Os autores observam que para tarefas de LM isso costuma ser gerenciável "copiando e colando inputs de texto históricos", mas para ambientes de ação reais (bancos de dados, sistemas de arquivos, APIs com efeitos colaterais) isso é um requisito duro que muitos sistemas de produção não conseguem atender. Os resultados do WebShop, embora melhores que os baselines, mostram que em ambientes complexos as autorreflexões tendem a se tornar genéricas em vez de específicas — agentes podem ficar travados e repetir erros superficialmente diferentes, mas estruturalmente idênticos. O artigo observa isso, mas não oferece remédio.

Também não há uma ablação isolando a contribuição da estrutura MCTS versus o design da função de valor. É plausível que uma abordagem de ramificação mais simples com a mesma função de valor híbrida fecharia grande parte da lacuna, e os autores não testam isso diretamente.

Por que isso importa para IA em finanças

Ledgers Beancount são um ambiente quase ideal para busca em árvore estilo LATS por uma razão principal: todo ledger é respaldado por um repositório git. O requisito de reversão de estado — a restrição dura que torna LATS impraticável em muitos contextos reais — é trivialmente satisfeito por git checkout ou git stash. Um agente de escrita poderia propor entradas de diário candidatas em múltiplas ramificações, pontuá-las contra restrições de balanço patrimonial (a função de valor) e commitar apenas o caminho com maior pontuação. Ramificações falhas recebem uma reflexão verbal: "A entrada postada violou Ativos = Passivos + Patrimônio Líquido porque o tipo de conta foi classificado incorretamente."

O design de função de valor híbrida é diretamente aplicável também. Para um agente de ledger, LM(s) pontuaria uma entrada proposta quanto ao ajuste semântico (isso parece a categoria certa?), enquanto SC(s) rastrearia quão consistentemente o agente classifica transações passadas semelhantes — uma verificação natural de autoconsistência enraizada no histórico do próprio ledger.

A reversão de estado é o único ponto onde eu contestaria a analogia com finanças. Ledgers reais frequentemente têm efeitos a jusante: uma entrada postada dispara uma fatura que dispara um fluxo de pagamento. Nesses casos, a suposição do LATS quebra. Especificamente para Beancount, onde o ledger é um arquivo de texto simples sob controle git e mudanças acontecem localmente antes de qualquer gatilho a jusante disparar, a suposição se sustenta — mas isso é uma restrição de design que deve ser mantida explícita.

O que ler a seguir

  • Planejamento baseado em MCTS sem modelos de ambiente: "Reasoning with Language Model is Planning with World Model" (Hao et al., 2023, arXiv:2305.14992) — RAP, sobre o qual LATS se baseia e melhora.
  • Quão bem a função de valor LM generaliza? "Let's Verify Step by Step" (Lightman et al., 2023, arXiv:2305.20050) — modelos de recompensa de processo como alternativa a funções de valor baseadas em prompt.
  • Planejamento multi-passo seguro sob irreversibilidade: "Decision-Making with Language Models via Successive Prompting" (Creswell et al., 2023) — uma abordagem de planejamento mais simples que evita o requisito de reversão de estado.

Partilhar este artigo

Fonte: https://beancount.io/pt/bean-labs/research-logs/2026/05/10/lats-language-agent-tree-search-reasoning-acting-planning

Publicado: 10 de maio de 2026

Última atualização: 14 de setembro de 2026