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

ReAct: Синергия рассуждения и действия в языковых моделях

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

ReAct (Yao et al., ICLR 2023) — это научная работа, стоящая за циклом «рассуждение-затем-действие», который большинство современных финансовых агентов теперь используют в качестве стандартного каркаса. Я откладывал её разбор, потому что она кажется частью инфраструктуры — тем, что и так все знают — но после работы с автономной обратной записью в журналы учета мне захотелось понять сценарии сбоев в первоисточнике, а не из вторичного фольклора.

Статья

2026-04-17-react-синергия-рассуждения-и-действия-в-языковых-моделях

Шунью Яо, Джеффри Чжао, Диан Ю, Нан Ду, Ицхак Шафран, Картик Нарасимхан и Юань Цао предлагают обманчиво простую идею: вместо того чтобы просить языковую модель либо рассуждать (цепочка мыслей), либо действовать (вызывать инструменты), позвольте ей делать и то, и другое в чередующемся потоке. Каждый шаг в траектории — это либо Мысль (Thought — свободное рассуждение о том, что делать дальше), либо пара Действие/Наблюдение (Act/Obs — действие и полученный результат из среды). Утверждается, что такое чередование синергично: рассуждение определяет, какие действия предпринять, а наблюдения корректируют ход рассуждений.

Они тестируют это на четырех бенчмарках: HotpotQA и Fever (интенсивные по знаниям QA и проверка фактов с использованием поиска в Wikipedia в качестве пространства действий), а также ALFWorld и WebShop (прикладные и симулированные среды электронной коммерции, требующие многошагового принятия решений). Во всех экспериментах используются PaLM-540B и GPT-3 (text-davinci-002) в режиме few-shot промптинга всего с одним или двумя примерами в контексте.

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

  • В ALFWorld ReAct превосходит базовые показатели имитационного обучения и обучения с подкреплением на 34 абсолютных процентных пункта по показателю успеха задач; в WebShop прирост составляет 10 абсолютных процентных пунктов.
  • В Fever (проверка фактов) ReAct превосходит цепочку мыслей (CoT). В HotpotQA (многоходовый QA) CoT фактически побеждает ReAct — авторы признают это прямо, а не замалчивают.
  • Случаи сбоев делятся на два типа: ошибки рассуждения (модель неверно оценивает имеющуюся информацию) и ошибки поиска (неинформативный результат из Википедии сбивает последующую цепочку рассуждений). Они качественно различаются и требуют разных мер по исправлению.
  • Сам формат интерпретируем: человек может прочитать след Мыслей, найти ошибку и исправить её, отредактировав одну строку. Это прямо позиционируется как свойство безопасности.
  • Тонкая настройка (Fine-tuning) небольших моделей на траекториях ReAct позволяет им превосходить более крупные модели, работающие на промптах — это говорит о том, что чередующийся формат является обучаемым, а не просто трюком промптинга.

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

Результаты интерактивного принятия решений (ALFWorld, WebShop) — самая сильная часть статьи. Разрыв с чистым имитационным обучением достаточно велик, чтобы его нельзя было списать на удачу с гиперпараметрами. Траектории рассуждений действительно читабельны, а анализ ошибок, разделяющий сбои поиска и сбои рассуждения, честен и полезен.

Результаты QA с интенсивным использованием знаний слабее, и авторы это понимают. Проигрыш ReAct перед CoT в HotpotQA — это важный сигнал: когда ответ можно получить, связав внутренние знания модели, издержки на вызов внешних инструментов начинают вредить. Модель иногда извлекает фрагмент из Википедии, который связан с темой лишь косвенно, фиксируется на нем и выдает худшее рассуждение, чем если бы она опиралась только на «свою голову». Статья называет это «отвлечением, вызванным поиском» (search-induced distraction), и это не исправляется архитектурой — это проблема качества извлечения данных, замаскированная под проблему агента.

Существует также фундаментальная проблема оценки, унаследованная от самих бенчмарков: и ALFWorld, и WebShop имеют относительно ограниченные пространства действий по сравнению с тем, что нужно агенту в реальном мире. Улучшение на 34% в ALFWorld впечатляет внутри игры, но ALFWorld — это симулированная домашняя среда с фиксированным словарем действий. Экстраполяция этого на, скажем, журнал Beancount с открытой схемой транзакций требует обоснований, которых в статье нет.

Настройка few-shot является одновременно и сильной, и слабой стороной. Один или два примера в контексте — это впечатляюще, но это также означает, что результаты сильно зависят от выбора этих примеров. Я не нашел в статье аблиационных исследований по выбору примеров, которые были бы полезны.

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

Проблема безопасности обратной записи для автономных агентов Beancount — это именно тот режим отказов, который освещает ReAct. Если агент рассуждает над категоризацией транзакции и извлекает двусмысленную запись из журнала — ту, которую можно отнести как к Expenses:Food, так и к Expenses:Entertainment, — паттерн ReAct закрепит последующее рассуждение на той интерпретации, которую предложила первая извлеченная запись. Это финансовый аналог «отвлечения, вызванного поиском», и он не исчезает при более тщательном составлении промптов.

Аргумент об интерпретируемости здесь важнее, чем, вероятно, предполагали авторы. В бухгалтерском учете аудитору нужен не просто правильный ответ — ему нужна отслеживаемая цепочка рассуждений, которую он может заверить. Следы Мыслей в ReAct дают такую цепочку, а наблюдение о том, что человек может исправить траекторию, отредактировав одну Мысль, напрямую применимо к этапу проверки с участием человека (human-in-the-loop) перед фиксацией любой проводки в журнале.

Однако режим сбоя, который беспокоит меня больше всего, — это накопление ошибок в задачах с длинным горизонтом. Процесс сверки, затрагивающий пятьдесят транзакций, дает гораздо больше возможностей для ошибки в Мыслях, чем одноходовый поиск в Википедии. ReAct не предоставляет встроенного механизма для обнаружения агентом того, что он сбился с пути — он просто продолжает идти. Решение Reflexion (Shinn et al., arXiv:2303.11366) решает это, добавляя этап вербальной самооценки, и связка ReAct + Reflexion закрывает 130 из 134 задач ALFWorld по сравнению с чистым ReAct. Эта разница показывает, насколько ценно добавление цикла восстановления поверх базового каркаса ReAct.

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

  • Reflexion: Language Agents with Verbal Reinforcement Learning (Shinn et al., 2023, arXiv:2303.11366) — добавляет этап саморефлексии, позволяющий агенту ReAct пересматривать свою стратегию; наиболее прямое расширение для агентов учета, которым нужно восстанавливаться после ошибок в середине траектории.
  • FireAct: Toward Language Agent Fine-tuning (Chen et al., 2023, arXiv:2310.05915) — тонко настраивает модели специально под траектории ReAct с использованием нескольких инструментов; актуально для обучения агента, специфичного для Beancount, на реальных вызовах инструментов журнала.
  • Tree of Thoughts: Deliberate Problem Solving with Large Language Models (Yao et al., 2023, arXiv:2305.10601) — исследует поиск по путям рассуждений вместо следования одной цепочке; важно для случаев, когда первая траектория ReAct оказывается неверной и требуется систематический возврат назад (backtracking).