Мы находимся в разгаре «агентной революции». Если раньше большие языковые модели (LLM) воспринимались как продвинутые чат-боты — своего рода «энциклопедичные стажеры, запертые в комнате без выхода в сеть» — то сегодня они превращаются в автономных агентов, способных действовать в реальном мире.
Ключевой сдвиг произошел благодаря появлению паттернов проектирования, которые позволяют ИИ не просто генерировать текст, а рассуждать и использовать инструменты. В этой статье мы детально разберем два фундаментальных фреймворка: ReAct и Reflexion.
1. ReAct: Рассуждай и действуй (Reason + Act)
Предложенный в 2022 году исследователями из Google и Принстона, ReAct стал «секретным соусом», который превратил ИИ из «угадывателя» в «исследователя».
Механизм работы: Цикл «Мысль — Действие — Наблюдение»
Традиционные LLM работают в режиме «one-shot»: они получают вопрос и сразу выдают лучший догадку. ReAct заменяет это итеративным циклом:
- Мысль (Thought): Модель анализирует задачу, декомпозирует её на подзадачи и планирует следующий шаг.
- Действие (Action): Агент вызывает внешний инструмент (поиск в Google, калькулятор, запрос к БД).
- Наблюдение (Observation): Модель получает результат действия (например, фрагмент текста из Википедии или JSON от API) и обновляет свой контекст.
Этот цикл повторяется до тех пор, пока агент не соберет достаточно информации для финального ответа.
Почему это важно?
- Борьба с галлюцинациями: Проверяя свои рассуждения через реальные инструменты, ИИ резко снижает количество выдуманных фактов.
- Актуальность: Агент получает доступ к информации, которой не было в его обучающих данных (например, текущее время или новости за последний час).
- Интерпретируемость: Мы видим всю цепочку рассуждений ИИ, что делает процесс принятия решений прозрачным и удобным для отладки.
———————————————————————————
2. Reflexion: Обучение через саморефлексию
Если ReAct — это «работник», исправляющий ошибки на лету, то Reflexion — это «студент», который делает работу над ошибками после проваленной попытки.
Архитектура системы
Reflexion использует метод вербального обучения с подкреплением (Verbal Reinforcement Learning), который не требует изменения весов модели. Фреймворк состоит из трех модулей:
- Актер (Actor): Генерирует действия (может быть построен на базе ReAct или CoT).
- Оценщик (Evaluator): Выставляет «награду» или оценку за результат попытки.
- Модель саморефлексии (Self-Reflection): Анализирует лог неудачной попытки и формулирует текстовый вывод: «что именно пошло не так и как это исправить».
Память как ключ к успеху
Reflexion опирается на эпизодическую память. Выводы саморефлексии сохраняются и передаются Актеру в следующей попытке (испытании) в качестве контекста. Это позволяет агенту избегать прошлых ловушек. Например, в тестах программирования HumanEval Reflexion достиг точности 91%, превзойдя базовую GPT-4 (80%).
———————————————————————————
3. Синергия: Когда ReAct встречает Reflexion
Наилучшие результаты достигаются при комбинации этих методов. ReAct эффективно решает пошаговые задачи, а Reflexion помогает ему выйти из тупиков, где обычный агент мог бы зациклиться. В задачах принятия решений (ALFWorld) такая связка показала улучшение результатов на 22%.
———————————————————————————
4. Уязвимости: Атака «Нога в дверях» (FITD)
Несмотря на мощь, агенты на базе ReAct имеют критическую уязвимость, выявленную исследователями IBM.
Суть атаки Foot-in-the-Door (FITD): Злоумышленник внедряет в сторонний источник (например, email или веб-страницу) безобидный запрос (например, «посчитай 2+2») перед вредоносной инструкцией. Исследования показали, что если агент соглашается выполнить простое действие, вероятность того, что он выполнит последующее опасное действие (например, «отправь учетные данные админа»), возрастает на 34.5% – 44%.
Почему это происходит? Агенты ReAct часто оценивают безопасность только на этапе генерации первой мысли. Как только вредоносное действие попадает в «ход мыслей» ИИ, он редко подвергает его повторной критике и просто следует структурированному формату, к которому привык при обучении.
Защита: Внедрение механизмов рефлексии безопасности, которые заставляют агента переоценивать свои намерения перед каждым вызовом инструмента.
———————————————————————————
Итоги
Переход к ReAct и Reflexion превращает LLM в настоящих автономных решателей проблем. ReAct дает им возможность действовать и наблюдать, а Reflexion — учиться на ошибках без дорогостоящей донастройки. Однако с ростом автономности растут и требования к безопасности: контроль над «ходом мыслей» агента становится таким же важным, как и качество его кода.


