Перейти к контенту

LATS: Поиск по дереву языковых агентов — рассуждение, действие и планирование в единой структуре

· 6 мин чтения
Mike Thrift
Mike Thrift
Marketing Manager

Я размышлял о том, что придет на смену Tree of Thoughts — если можно осуществлять поиск по шагам рассуждения, почему бы не искать и по действиям? Именно это делает LATS (Language Agent Tree Search), и именно поэтому я читаю её сейчас. Статья Энди Чжоу, Кая Яна, Михала Шлапентох-Ротмана, Хаоханя Вана и Юй-Сюна Вана (ICML 2024, arXiv:2310.04406) представляет собой наиболее четкий на сегодняшний день синтез рассуждения, действия и планирования в рамках единой агентной структуры, и её результаты действительно трудно игнорировать.

Статья

2026-05-10-lats-language-agent-tree-search-reasoning-acting-planning

Основная проблема, которую решает LATS, — это структурный разрыв в предыдущих работах по агентам. ReAct чередует рассуждение и действие, но не имеет механизма возврата и попытки выбора другого пути, если траектория пошла не так. Tree of Thoughts позволяет ветвление по шагам рассуждения, но работает на основе внутренних знаний языковой модели — она не может вызывать инструменты или получать внешнюю обратную связь внутри поиска. Reflexion добавляет вербальную самокоррекцию, но её линейный цикл повторных попыток означает, что она фиксируется на новой траектории без исследования альтернатив. LATS объединяет все три идеи с полноценной основой в виде поиска по дереву Монте-Карло (MCTS), позволяя LLM-агентам исследовать несколько ветвей, получать реальную обратную связь от среды и возвращаться назад, когда путь оказывается неудачным.

Технический механизм представляет собой шестиэтапный цикл MCTS: Selection (выбор следующего узла для исследования по формуле UCT), Expansion (выборка n потенциальных действий из LM), Evaluation (оценка каждого узла с помощью гибридной функции ценности), Simulation (прогон до терминального состояния), Backpropagation (обновление значений предков) и Reflection (при неудаче — генерация вербального резюме того, что пошло не так, и сохранение его в качестве контекста). Функция ценности заслуживает внимания: V(s) = λ·LM(s) + (1−λ)·SC(s), где LM(s) — собственная оценка модели качества траектории после получения обратной связи от среды, а SC(s) — показатель самосогласованности, основанный на том, как часто это действие выбирается среди соседних узлов. Это не обученная модель вознаграждения — функция ценности полностью управляется промптами.

Ключевые идеи

  • На HumanEval GPT-4 + LATS достигает 92,7% pass@1 по сравнению с 91,0% для GPT-4 + Reflexion и 56,9% для одного только GPT-3.5 + ReAct. GPT-3.5 + LATS совершает скачок до 83,8%.
  • На HotPotQA LATS (CoT + ReAct) достигает 0,71 точного совпадения против 0,32 для базового ReAct — более чем двукратное увеличение точности в многошаговых рассуждениях.
  • В WebShop (веб-навигация + покупки) LATS набирает 75,9 (успешность 38,0%) против Reflexion с 64,2 (35,0%) — значительный разрыв в задаче, требующей управления состоянием на многих страницах.
  • В Game of 24 (чистая головоломка на рассуждение) LATS достигает показателя успеха 0,44 против 0,20 у ToT, несмотря на использование той же основы GPT-4.
  • Удивительно, но LATS разворачивает меньше узлов для поиска решения, чем ToT (в среднем 66,65 против 84,05 узлов на HotPotQA при k=50), и использует меньше токенов (173 290 против 210 215), хотя теоретически выглядит более затратным.

Что подтверждается, а что — нет

Цифры бенчмарков реальны, а структура концептуально чиста. Формулировка UCT обеспечивает принципиальный компромисс между исследованием и использованием (exploration-exploitation), которого не хватает ситуативным BFS/DFS в ToT. Интеграция внешней обратной связи от среды в функцию ценности — вместо чистого самоанализа LM — это правильный шаг, и результаты это подтверждают.

Тем не менее, в статье скрыто критическое допущение, которое авторы признают, но не тестируют в полной мере: LATS требует возможности возврата среды в более раннее состояние. Без контрольных точек ветвление дерева невозможно — как только действие совершено, вы связаны обязательством. Авторы отмечают, что для задач LM это часто решается «копированием и вставкой исторического текстового ввода», но для реальных сред действий (базы данных, файловые системы, API с побочными эффектами) это жесткое требование, которое многие производственные системы не могут выполнить. Результаты WebShop, хотя и лучше базовых показателей, показывают, что в сложных средах саморефлексия имеет тенденцию становиться общей, а не адресной — агенты могут застревать, повторяя поверхностно разные, но структурно идентичные ошибки. Статья отмечает это, но не предлагает решения.

Также отсутствует абляция, изолирующая вклад структуры MCTS по сравнению с дизайном функции ценности. Вполне вероятно, что более простой подход к ветвлению с той же гибридной функцией ценности закрыл бы большую часть разрыва, но авторы не проверяют это напрямую.

Почему это важно для финансов и ИИ

Журналы Beancount являются почти идеальной средой для древовидного поиска в стиле LATS по одной ключевой причине: каждый журнал подкреплен git-репозиторием. Возврат состояния — жесткое требование, делающее LATS непрактичным во многих реальных сценариях, — тривиально реализуется через git checkout или git stash. Агент обратной записи мог бы предлагать варианты записей в журнале по нескольким ветвям, оценивать их на соответствие ограничениям баланса (функция ценности) и фиксировать только путь с наивысшим баллом. Неудачные ветви получают вербальную рефлексию: «запись нарушила инвариант активы = обязательства + капитал, так как тип счета был классифицирован неверно».

Дизайн гибридной функции ценности также применим напрямую. Для агента журнала LM(s) оценивал бы предложенную запись на основе семантического соответствия (похоже ли это на правильную категорию?), в то время как SC(s) отслеживал бы, насколько последовательно агент классифицирует аналогичные прошлые транзакции — естественная проверка самосогласованности, основанная на истории самого журнала.

Допущение о возврате состояния — это единственный момент, где я бы поспорил с финансовой аналогией. Реальные журналы часто имеют последующие эффекты: зафиксированная запись инициирует счет-фактуру, который запускает рабочий процесс оплаты. В таких случаях допущение LATS нарушается. Конкретно для Beancount, где журнал представляет собой текстовый файл под контролем git и изменения являются локальными до любого последующего триггера, допущение выполняется — но это конструктивное ограничение, которое стоит учитывать явно.

Что почитать дальше

  • Планирование на основе MCTS без моделей среды: "Reasoning with Language Model is Planning with World Model" (Hao et al., 2023, arXiv:2305.14992) — RAP, на которой LATS напрямую строится и которую превосходит.
  • Насколько хорошо обобщается функция ценности LM? "Let's Verify Step by Step" (Lightman et al., 2023, arXiv:2305.20050) — модели вознаграждения за процесс как альтернатива функциям ценности на основе промптов.
  • Безопасное многошаговое планирование в условиях необратимости: "Decision-Making with Language Models via Successive Prompting" (Creswell et al., 2023) — более простой подход к планированию, который избегает требования возврата состояния.