Рассуждение и планирование

В процессе создания автономных ИИ-агентов, если большая языковая модель (LLM) — это мозг агента, а использование инструментов — его руки и ноги, тоРассуждения и планирование— это основной движок, который превращает его из простой машины для вопросов и ответов в автономного решателя задач.

Сложные задачи из реального мира часто невозможно выполнить за одну генерацию. ИИ нуждается в способности декомпозировать цели, выполнять логические рассуждения, исследовать пути, самокорректироваться и оркестрировать инструменты.

Ниже представлены наиболее популярные на сегодняшний день в отрасли фреймворки для рассуждения и планирования.


Цепочка рассуждений (CoT)

Способность к пошаговому рассуждению

Традиционные LLM часто интуитивно генерируют ответы за один шаг.

Основная идея Chain of Thought (CoT):Заставить модель явно выводить промежуточные шаги рассуждения (Let's think step by step). Этот подход может значительно активировать потенциал модели в сложной математике, логических рассуждениях и вопросах-ответах на основе здравого смысла.

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

Пример: проектирование few-shot CoT-промпта

# Направляйте модель выполнять CoT-рассуждение, предоставляя примеры, включающие процесс рассуждения.
prompt = """
Задача: У Роджера есть 5 теннисных мячей. Он покупает ещё 2 банки теннисных мячей. В каждой банке по 3 теннисных мяча. Сколько всего теннисных мячей у него?
Решение: Изначально у Роджера 5 теннисных мячей. 2 банки теннисных мячей, по 3 в каждой, дают 2 * 3 = 6 теннисных мячей. 5 + 6 = 11. Ответ — 11.

Задача: В столовой 23 яблока. Если 20 используют на обед и купят ещё 6, сколько яблок там теперь?
Решение: Изначально в столовой было 23 яблока. После использования 20 остаётся 23 - 20 = 3. После покупки ещё 6 теперь 3 + 6 = 9. Ответ — 9.

Задача: {user_question}
Решение: """


Фреймворк ReAct (рассуждение + действие)

Цикл рассуждения + действия

Если CoT — это просто сборка телеги за закрытыми дверями внутри модели, тоReAct(Reason + Act)— это позволить модели открыть глаза и увидеть мир. Он переплетает внутреннее логическое рассуждение (Thought) с внешним взаимодействием с инструментами (Action), образуя динамическую замкнутую систему обратной связи.

В парадигме ReAct Агент следует циклуThought -> Action -> Observationдо достижения окончательного вывода.

ReAct Loop Architecture Diagram Shows the loop relationship among Thought, Action, and Observation. Thought Analyze the current state and goals Action Call external tools/APIs Observation User Query

Ограничения:ReAct отлично работает в краткосрочных задачах с четкими шагами. Однако, поскольку вся история мыслей и действий упаковывается в одно и то же контекстное окно, когда цепочка задач слишком длинная, очень легко попасть в бесконечный цикл или забыть исходную цель из-за перегрузки контекста.


Plan-and-Execute (режим выполнения с предварительным планированием)

Чтобы решить слабость ReAct в долгосрочных задачах, Plan-and-Execute разделяет мышление и действие, принимая стратегию, похожую на то, как люди справляются с крупными проектами:Сначала составьте расписание, затем выполняйте задачи одну за другой.。

Система обычно делится на две независимые роли:

  1. Planner: Отвечает за получение общей цели и генерацию подробного пошагового списка подзадач.
  2. Executor: Отвечает за выполнение этих подзадач по порядку. Исполнитель обычно представляет собой небольшого ReAct-агента, который каждый раз сосредоточен только на выполнении текущей небольшой цели.
Plan-and-Execute Architecture Diagram Complex Goal Planner Scrape web pages Extract data Generate report Executor Process subtasks one by one (Each with independent context) Final delivery

Tree of Thoughts (ToT) и древовидное многопутевое исследование

Древовидное многопутевое исследование

Будь то CoT или Plan-and-Execute, по сути этолинейноеисследование путей. Однако при написании кода, решении математических задач или творческом письме люди часто представляют несколько вариантов, оценивают их, выбирают лучший и даже возвращаются назад при обнаружении ошибок.

ToT (Tree of Thoughts)Он моделирует процесс рассуждения как дерево: узлы — это текущие состояния мыслей. В каждой точке ветвления модель генерирует несколько кандидатных мыслей, затем использует внутренний Evaluator для оценки этих узлов (например, выполнимо, потенциально рискованно, невыполнимо). В сочетании сBFS (Breadth-First Search)илиDFS (Depth-First Search)алгоритмом, он решает, продолжать ли глубже или вернуться назад и повторить попытку.


Планирование задач и MCTS (Monte Carlo Tree Search)

Декомпозиция сложных задач и поиск

Когда речь идёт о стратегических играх или чрезвычайно сложных задачах рассуждения (таких как передовая математическая проверка и сложный рефакторинг кодовой базы), простой ToT всё ещё недостаточно эффективен. Индустрия начала объединять LLM с традиционными алгоритмами поиска из обучения с подкреплениемMCTS(Monte Carlo Tree Search)Объединение их (аналогично основной логике AlphaGo).

  • LLM как Policy Network: предоставляет эвристические предложения действий для следующего шага, сокращая бессмысленное расширение ветвей.
  • LLM/среда выполнения кода как Value Network: посредством симулированного выполнения (Rollout) она предсказывает итоговую вероятность победы или успеха последовательности действий.
  • Преимущества: в огромном пространстве решений он может найти путь планирования с наибольшим потенциалом глобальной оптимальности.

Reflexion: саморефлексия и исправление ошибок

Когда люди выполняют задачи, если у них не получается с первой попытки, они обобщают извлечённые уроки и избегают ошибок в следующей попытке.

ReflexionЭтот фреймворк даёт Агенту аналогичные возможности.

В замкнутом цикле Reflexion, когда вывод агента оценивается как сбой (например, тесты не проходят, возникают ошибки API), запускаетсяReviewer-механизм。

LLM просят написать разговорное размышление (Reflection) на основе истории действий и обратной связи о сбоях, например:"Я только что использовал неправильный формат параметров API. В следующий раз мне следует свериться с документацией, прежде чем передавать JSON."Это размышление будет сохранено в эпизодической памяти как контекстные подсказки для следующей попытки, что значительно повысит способность агента к самовосстановлению.

Пример: дизайн промпта рефлексии в Reflexion

reflection_prompt = """
Вы — ИИ-ассистент, пытающийся написать Python-краулер.
Это код, который вы только что выполнили: {previous_code}
Это сообщение об ошибке, возвращённое средой выполнения: {error_traceback}

Пожалуйста, глубоко поразмышляйте:
1. Какова первопричина ошибки?
2. Какова ваша конкретная стратегия изменения для следующей попытки?

Пожалуйста, зафиксируйте размышление, чтобы направлять последующие действия.
"""


Стратегии декомпозиции задач и инженерные практики

В реальной промышленной разработке AI-агентов опора исключительно на LLM "zero-shot" для сложного планирования нестабильна. Распространённые гибридные стратегии вмешательства включают:

Стратегия вмешательства Основной подход Применимые сценарии
Шаблонизация подзадач (SOP) Вместо того чтобы позволять LLM свободно планировать, используются предопределённые стандартные операционные процедуры (SOP), чтобы LLM работала в рамках фиксированного конечного автомата. Системы обслуживания клиентов, стандартизированные конвейеры очистки данных.
HITL (человек в цикле) После того как Planner формирует список задач, выполнение прерывается и требуется, чтобы человек-пользователь подтвердил, изменил или одобрил его, после чего задача передаётся Executor для выполнения. Операции с высоким риском: например, удаление записей из базы данных, массовая отправка электронных писем и крупные денежные переводы.
Планирование под управлением RLHF Использовать обучение с подкреплением и обратную связь по предпочтениям человека для тонкой настройки способности больших моделей к планированию, чтобы они были более склонны генерировать безопасные и эффективные комбинации шагов. Этап обучения базовой большой языковой модели (например, обучение модели OpenAI o1).

Сводное сравнение фреймворков

Паттерн Основной механизм Преимущества Недостатки
CoT Пошаговое линейное рассуждение Минимальная реализация, значительно повышает точность базовых рассуждений Не может вызывать внешние инструменты, легко заходит в тупик
ReAct Цикл чередования размышления и действия Динамически адаптируется к среде, может корректироваться в реальном времени на основе наблюдений Контекст легко разрастается по мере накопления шагов, и исходная цель теряется из виду
Планирование и выполнение Сначала разложить на подзадачи, затем выполнять изолированно Чрезвычайно подходит для сложных долгосрочных задач, понятный контекст Недостаточно гибкий при внезапных изменениях (когда сам план неверен)
ToT / MCTS Поиск по дереву, оценка и возврат с возвратом Может решать самые сложные комплексные логические задачи Вычислительные затраты чрезвычайно высоки, а потребление токенов растёт экспоненциально.
Reflexion Создаёт рефлексивную память на основе обратной связи о неудачах. Обладает способностью к самокоррекции и непрерывному развитию. Полагается на явные сигналы обратной связи (например, ошибки компилятора кода)
Другие расширения