В LangChain представили новый тип исполнителя агентов — Plan-and-Execute. Он призван заменить ранее использовавшиеся «Action Agents», которые работали по схеме, описанной в статье ReAct. Агенты Action Agents получали ввод от пользователя, выбирали инструмент, вызывали его, фиксировали результат и на основе истории действий решали, какой шаг сделать дальше. Этот процесс повторялся, пока агент не завершал работу.
Однако с ростом сложности задач и повышением требований к надёжности систем такой подход стал давать сбои. В частности, увеличивались размеры промтов: в них приходилось включать всё больше данных об истории взаимодействий и инструкций по использованию инструментов.
Plan-and-Execute агенты работают иначе: сначала они планируют шаги, а затем последовательно их выполняют. В основе такой схемы — планировщик (обычно это языковая модель) и исполнитель. Планировщик с помощью рассуждений языковой модели разрабатывает план действий, а исполнитель (в первой реализации — Action Agent) определяет, какие инструменты использовать для выполнения конкретного шага.
Такой подход позволяет разделить задачи планирования и исполнения между разными моделями — это повышает надёжность и упрощает замену компонентов на более мелкие, настроенные под конкретную задачу модели. Главный минус — увеличение числа обращений к моделям.
В будущем разработчики планируют улучшить поддержку длинных последовательностей шагов (например, хранить промежуточные данные в векторном хранилище), добавить механизм пересмотра и корректировки плана, разработать более строгие способы оценки фреймворков агентов, а также реализовать выбор цепочки исполнения (например, отдельные цепочки для веб‑поиска и анализа данных). Среди источников идей для будущих улучшений — BabyAGI и статья Plan-and-Solve.