ReAct: рассуждение и действия
Чтобы модель не просто говорила, а действовала — искала, считала, вызывала API — её рассуждение чередуют с действиями.
ReAct (Reasoning + Acting) — паттерн, где модель чередует шаги рассуждения и действия: думает, вызывает инструмент, получает результат, думает дальше.
Зачем модели инструменты
Сама по себе LLM не знает сегодняшнюю погоду, не считает большие числа точно и не видит вашу базу данных. Но она может решить, что нужен инструмент, и сформировать запрос к нему. Инструмент (поиск, калькулятор, SQL, внешний API) возвращает факт, который модель использует дальше. Так выдумки заменяются проверенными данными.
Цикл Thought → Action → Observation
Идея ReAct — текстовый цикл: модель пишет мысль, затем действие (вызов инструмента), получает наблюдение (результат), и повторяет, пока не готова дать ответ.
Вопрос: Какая сейчас погода в столице Франции?
Thought: Нужно узнать столицу и затем погоду.
Action: search("столица Франции")
Observation: Париж.
Thought: Теперь нужна погода в Париже.
Action: weather("Париж")
Observation: +18°C, ясно.
Thought: Достаточно данных.
Answer: В Париже сейчас +18°C, ясно.Рассуждение (Thought) делает выбор инструмента осмысленным, а Observation заземляет ответ на реальные данные, а не на память модели.
Как это реализуется
В современных API это оформлено как tool use / function calling: вы описываете доступные инструменты (имя, параметры, назначение), модель возвращает структурированный вызов, ваш код выполняет его и подаёт результат обратно в диалог. Цикл повторяется автоматически. ReAct — концептуальная основа этого механизма.
| Часть | Кто делает |
| Решение вызвать инструмент | Модель (рассуждение) |
| Описание инструментов | Разработчик в промпте/схеме |
| Само выполнение | Ваш код |
| Использование результата | Модель (следующий шаг) |
Что это даёт
- Доступ к свежим и приватным данным (поиск, БД).
- Точные вычисления через калькулятор/код вместо «арифметики в уме».
- Меньше галлюцинаций: факты приходят из инструментов.
- Действия в мире: отправить письмо, создать задачу.
Итог
- ReAct чередует рассуждение и действия (вызовы инструментов).
- Цикл Thought → Action → Observation заземляет ответ на реальные данные.
- В API это реализуется как tool use / function calling.
- Инструменты дают свежие данные, точные расчёты и снижают выдумки.