---
title: "ReAct Prompting"
source: "https://systems-analysis.info/wiki/ReAct_Prompting"
wiki: "systems-analysis.info/wiki"
article: "ReAct_Prompting"
language: "ru"
categories:
  - "Категория:Prompt инжиниринг"
  - "Категория:Russian"
  - "Категория:Большие языковые модели"
  - "Категория:Машинное обучение"
revision_id: 174
wiki_created_at: 2026-09-06T22:04:50Z
wiki_modified_at: 2026-09-06T22:04:50Z
downloaded_at: 2026-09-07T22:18:03Z
---

# ReAct Prompting

**ReAct** (сокр. от **Reason + Act**, в переводе с англ. — «Рассуждай и Действуй») — это парадигма проектирования запросов (промптинга) для [больших языковых моделей](https://systems-analysis.info/wiki/%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%B8%D0%B5_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8 "Большие языковые модели") (LLM), позволяющая им решать сложные задачи путём чередования вербальных рассуждений (мыслей) и действий, взаимодействующих с внешней средой<sup>[\[1\]](https://systems-analysis.info/wiki/ReAct_Prompting#cite_note-yao2022react-1)</sup>. Метод был предложен в 2022 году исследователями из **Google Research** и **Принстонского университета** и стал фундаментальным подходом в развитии интеллектуальных агентов.

Ключевая инновация ReAct заключается в объединении логических рассуждений, характерных для техник типа Chain-of-Thought (CoT), с выполнением внешних действий, таких как поиск информации или взаимодействие с программными интерфейсами (API). Это позволяет модели динамически корректировать свой план, проверять факты и преодолевать ограничения собственных, зачастую устаревших или неполных знаний<sup>[\[2\]](https://systems-analysis.info/wiki/ReAct_Prompting#cite_note-googleblog-react-2)</sup>.

## Предпосылки и история создания

До появления ReAct существовали два основных, но разрозненных подхода к использованию LLM для решения сложных задач:

- **Цепочка рассуждений (Chain-of-Thought, CoT)**: Модель генерирует пошаговые логические рассуждения для решения задачи, но делает это в «информационном вакууме», опираясь исключительно на свои внутренние знания. Это часто приводит к фактическим ошибкам и «галлюцинациям»<sup>[\[1\]](https://systems-analysis.info/wiki/ReAct_Prompting#cite_note-yao2022react-1)</sup>.
- **Планирование действий (Act-Only)**: Модель генерирует последовательность действий для взаимодействия с внешней средой (например, в текстовых играх), но без явного высокоуровневого планирования. Такие системы плохо справляются с ошибками и не могут адаптировать свою стратегию при столкновении с непредвиденными обстоятельствами.

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

## Механизм работы: цикл «Мысль — Действие — Наблюдение»

ReAct работает в рамках итеративного цикла, который включает три ключевых компонента. Модель последовательно генерирует траекторию, состоящую из шагов **Thought**, **Action** и **Observation**.

**Пример структуры промпта:**

***Вопрос: Какой столицей является город, в котором родился изобретатель, известный благодаря переменному току?***

***Thought 1:** Мне нужно выяснить, кто изобрел переменный ток. Затем найти место его рождения и проверить, является ли этот город столицей.*

***Action 1:** Search\[изобретатель переменного тока\]*

***Observation 1:** Переменный ток (AC) был разработан и продвинут Николой Теслой.*

***Thought 2:** Теперь мне нужно узнать, где родился Никола Тесла.*

***Action 2:** Search\[место рождения Николы Теслы\]*

***Observation 2:** Никола Тесла родился в селе Смилян, Австрийская империя (современная Хорватия).*

***Thought 3:** Смилян не является столицей. Таким образом, у вопроса нет однозначного ответа в такой формулировке. Однако Тесла долго жил и работал в США. Возможно, имеется в виду столица страны, где он сделал свои главные открытия. Это более сложный вопрос. Я должен констатировать факт, основанный на месте рождения. Город его рождения не является столицей.*

***Final Answer:** Изобретатель, связанный с переменным током, Никола Тесла, родился в Смиляне (Хорватия), который не является столицей.*

### Мысль (Thought)

Модель генерирует внутреннее рассуждение, в котором она анализирует задачу, декомпозирует ее на подзадачи, формирует или корректирует план действий и оценивает текущее состояние. Этот шаг не влияет на внешнюю среду, но служит для внутреннего планирования.

### Действие (Action)

На основе своего рассуждения модель выполняет внешнее действие, обращаясь к одному из доступных инструментов. Примеры действий:

- Search \[запрос\] — для поиска информации в базе знаний (например, Википедии).
- Click \[элемент\] — для навигации по веб-странице.
- API_call \[параметры\] — для вызова внешнего API.

### Наблюдение (Observation)

Система или внешний инструмент выполняет действие и возвращает результат (наблюдение). Это может быть фрагмент текста, ответ API или сообщение об ошибке. Модель использует это наблюдение для формирования следующей мысли, замыкая цикл обратной связи<sup>[\[2\]](https://systems-analysis.info/wiki/ReAct_Prompting#cite_note-googleblog-react-2)</sup>.

## Экспериментальные результаты и эффективность

Авторы ReAct протестировали метод на широком спектре задач, продемонстрировав его превосходство над CoT и Act-Only подходами.

| Бенчмарк     | Задача                           | ReAct (успех/точность) | Chain-of-Thought (успех/точность) | Act-Only (успех/точность) |
|--------------|----------------------------------|------------------------|-----------------------------------|---------------------------|
| **FEVER**    | Проверка фактов                  | **87.6%**              | 82.8%                             | 70.1%                     |
| **HotpotQA** | Вопросы с несколькими переходами | 31.8%                  | **36.3%**                         | 17.0%                     |
| **ALFWorld** | Текстовая игра (планирование)    | **71%**                | 10%                               | 13%                       |
| **WebShop**  | Веб-навигация                    | **40%**                | \-                                | 30.1%                     |

Результаты ReAct по сравнению с базовыми методами на ключевых бенчмарках<sup>[\[1\]](https://systems-analysis.info/wiki/ReAct_Prompting#cite_note-yao2022react-1)</sup>

- В задачах, требующих **проверки фактов** (FEVER), ReAct значительно превосходит CoT, так как может верифицировать информацию.
- В задачах на **интерактивное планирование** (ALFWorld, WebShop), ReAct демонстрирует огромное преимущество, так как может адаптироваться к меняющейся среде.
- В задачах на **чистое рассуждение** (HotpotQA), CoT может показывать сопоставимые или даже лучшие результаты. Однако гибридный подход **ReAct+CoT** показал наилучшую производительность, достигнув 35% в HotpotQA<sup>[\[1\]](https://systems-analysis.info/wiki/ReAct_Prompting#cite_note-yao2022react-1)</sup>.

## Критика и ограничения

Несмотря на свою эффективность, ReAct имеет ряд ограничений и уязвимостей.

- **«Хрупкость» (Brittleness)**: Позднейшие исследования показали, что успех ReAct может быть связан не столько с подлинной синергией рассуждения и действия, сколько с **синтаксическим сходством** между примерами в промпте и текущей задачей. Модель может следовать шаблону \`Thought-Action-Observation\`, не в полной мере понимая семантику рассуждений<sup>[\[3\]](https://systems-analysis.info/wiki/ReAct_Prompting#cite_note-verma2024brittle-3)</sup>.
- **Вычислительные издержки**: Каждый цикл ReAct требует как минимум одного вызова LLM и одного обращения к внешнему инструменту, что делает его медленным и дорогостоящим по сравнению со стандартным промптингом.
- **Зависимость от инструментов**: Эффективность агента напрямую зависит от качества и надежности доступных инструментов. Некорректный или зашумленный ответ от API может направить рассуждения модели по ложному пути.

## Значение и дальнейшее развитие

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

- **[LangChain](https://systems-analysis.info/wiki/LangChain "LangChain")**
- **LlamaIndex**
- **AutoGen**

Идеи ReAct послужили отправной точкой для более сложных архитектур рассуждений, таких как **Reflexion** (добавляет цикл саморефлексии после неудач) и **Tree of Thoughts (ToT)** (исследует несколько путей рассуждения параллельно).

## См. также

- [Function Calling](https://systems-analysis.info/wiki/Function_Calling "Function Calling")
- [Основные приёмы Prompt Engineering](https://systems-analysis.info/wiki/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D1%91%D0%BC%D1%8B_Prompt_Engineering "Основные приёмы Prompt Engineering")
- [Chain-of-Thought Prompting](https://systems-analysis.info/wiki/Chain-of-Thought_Prompting "Chain-of-Thought Prompting")
- [Generated Knowledge Prompting](https://systems-analysis.info/wiki/Generated_Knowledge_Prompting "Generated Knowledge Prompting")
- [Least-to-Most Prompting](https://systems-analysis.info/wiki/Least-to-Most_Prompting "Least-to-Most Prompting")

## Ссылки

- <a href="https://react-lm.github.io/" class="external text" rel="nofollow">Официальная страница проекта ReAct</a>
- <a href="https://learnprompting.org/docs/agents/react" class="external text" rel="nofollow">Описание ReAct в руководстве Learn Prompting</a>
- Google Research (2022). *ReAct: Synergizing Reasoning and Acting in Language Models* (blog post). <a href="https://research.google/blog/react-synergizing-reasoning-and-acting-in-language-models/" class="external text" rel="nofollow">Google Research Blog</a>.

## Литература

- Yao, S. et al. (2022). *ReAct: Synergizing Reasoning and Acting in Language Models*. <a href="https://arxiv.org/abs/2210.03629" class="external text" rel="nofollow">arXiv:2210.03629</a>.
- Yao, S. et al. (2023). *Tree of Thoughts: Deliberate Problem Solving with Large Language Models*. <a href="https://arxiv.org/abs/2305.10601" class="external text" rel="nofollow">arXiv:2305.10601</a>.
- Shinn, N. et al. (2023). *Reflexion: Language Agents with Verbal Reinforcement Learning*. <a href="https://arxiv.org/abs/2303.11366" class="external text" rel="nofollow">arXiv:2303.11366</a>.
- Verma, V. et al. (2024). *On the Brittle Foundations of ReAct Prompting for Agentic Large Language Models*. <a href="https://arxiv.org/abs/2405.13966" class="external text" rel="nofollow">arXiv:2405.13966</a>.
- Yao, S. et al. (2022). *WebShop: Towards Scalable Real-World Web Interaction with Grounded Language Agents*. <a href="https://arxiv.org/abs/2207.01206" class="external text" rel="nofollow">arXiv:2207.01206</a>.
- Shridhar, M. et al. (2020). *ALFWorld: Aligning Text and Embodied Environments for Interactive Learning*. <a href="https://arxiv.org/abs/2010.03768" class="external text" rel="nofollow">arXiv:2010.03768</a>.
- Qin, L. et al. (2023). *AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Collaboration*. <a href="https://arxiv.org/abs/2308.08155" class="external text" rel="nofollow">arXiv:2308.08155</a>.
- Thorne, J. et al. (2018). *FEVER: A Large-Scale Dataset for Fact Extraction and Verification*. <a href="https://arxiv.org/abs/1803.05355" class="external text" rel="nofollow">arXiv:1803.05355</a>.
- Yang, Z. et al. (2018). *HotpotQA: A Dataset for Diverse, Explainable Multi-hop Question Answering*. <a href="https://arxiv.org/abs/1809.09600" class="external text" rel="nofollow">arXiv:1809.09600</a>.

## Примечания

1.  <span id="cite_note-yao2022react-1">↑ <sup>[1,0](https://systems-analysis.info/wiki/ReAct_Prompting#cite_ref-yao2022react_1-0)</sup> <sup>[1,1](https://systems-analysis.info/wiki/ReAct_Prompting#cite_ref-yao2022react_1-1)</sup> <sup>[1,2](https://systems-analysis.info/wiki/ReAct_Prompting#cite_ref-yao2022react_1-2)</sup> <sup>[1,3](https://systems-analysis.info/wiki/ReAct_Prompting#cite_ref-yao2022react_1-3)</sup> Yao, S., Zhao, J., Yu, D., et al. (2022). «ReAct: Synergizing Reasoning and Acting in Language Models». *arXiv preprint arXiv:2210.03629*. <a href="https://arxiv.org/abs/2210.03629" class="external autonumber" rel="nofollow">[1]</a></span>
2.  <span id="cite_note-googleblog-react-2">↑ <sup>[2,0](https://systems-analysis.info/wiki/ReAct_Prompting#cite_ref-googleblog-react_2-0)</sup> <sup>[2,1](https://systems-analysis.info/wiki/ReAct_Prompting#cite_ref-googleblog-react_2-1)</sup> «ReAct: Synergizing Reasoning and Acting in Language Models». *Google Research Blog*. <a href="https://research.google/blog/react-synergizing-reasoning-and-acting-in-language-models/" class="external autonumber" rel="nofollow">[2]</a></span>
3.  <span id="cite_note-verma2024brittle-3">[↑](https://systems-analysis.info/wiki/ReAct_Prompting#cite_ref-verma2024brittle_3-0) Verma, V., et al. (2024). «On the Brittle Foundations of ReAct Prompting for Agentic Large Language Models». *arXiv preprint arXiv:2405.13966*. <a href="https://arxiv.org/abs/2405.13966" class="external autonumber" rel="nofollow">[3]</a></span>
