ReAct
ReAct (Synergizing Reasoning + Acting) — agentic-паттерн, при котором модель чередует рассуждения (reasoning) и действия (acting) в цикле.
Общее
ReAct — альтернатива чистому reasoning (CoT) или чистому action (function calling). Каждый шаг = «подумал → сделал → увидел результат → скорректировал». Это позволяет агенту учиться на лету, а не следовать заранее прописанному плану.
Цикл ReAct
- Thought — модель описывает ход рассуждения: «Мне нужно узнать погоду в Москве».
- Action — вызывает инструмент:
weather("Москва"). - Observation — получает результат: «Дождь, 12°C».
- Повтор с учётом наблюдения.
Пример =
Thought: «Я не знаю точный возраст Цезаря. Найду в Википедии.» Action: search("Julius Caesar age at death") Observation: «Цезарь умер в 44 г. до н.э., родился в 100 г. до н.э.» Thought: «100 - 44 = 56 лет. Ответ: 56 лет.» Final answer: «Юлий Цезарь прожил около 56 лет.»
Отличие от CoT =
CoT: только рассуждение, без действия. Результат — текстовое рассуждение. ReAct: рассуждение + инструменты. Результат — действие с обоснованием.
Связанные понятия
- Agentic workflow — ReAct — конкретный паттерн agentic workflow.
- Chain-of-thought — базовое рассуждение без действий.
- Функциональный вызов — Action в ReAct реализуется через функциональный вызов.