Recursion of Thought (RoT, «рекурсия мысли») — техника, в которой модель разбивает сложную задачу на подзадачи, решает каждую в отдельном контексте, а затем возвращает результат обратно в родительский контекст. Вместо линейной цепочки рассуждений создаётся стек вызовов, как в рекурсивной программе: отдельный вход в подзадачу, отдельный возврат результата и дальнейшая сборка.
В 2026 году RoT уже разумнее трактовать как orchestration pattern для context management, а не как просто необычный prompt format. Его сильная сторона не только в декомпозиции, а в том, что каждая подзадача получает чистый рабочий контекст и не тянет за собой весь шум родительской трассы.
В оригинальной статье (Lee et al., 2023) модель дообучается на специальных токенах GO и RETURN. Когда модель «понимает», что текущая подзадача требует отдельного решения, она генерирует <GO> — это сигнал оркестратору запустить новый контекст. Результат из нового контекста возвращается через <RETURN result> и вставляется в исходный контекст на место вызова.
На практике при работе с промптингом (без дообучения) мы эмулируем этот механизм через multi-turn взаимодействие или явные инструкции модели.
Задача: В магазине 3 отдела. В первом 120 товаров, во втором — на 35% больше, в третьем — в 2 раза меньше, чем сумма первых двух. Какова средняя цена товара, если общая выручка 4 500 000 рублей? Реши методом рекурсивной декомпозиции. Каждую подзадачу решай отдельно, затем собери итог. Формат: - [GO подзадача]: формулировка - [РЕШЕНИЕ]: ход решения - [RETURN]: только ответ После всех RETURN — финальный ответ.
[GO подзадача 1]: Сколько товаров во втором отделе, если в первом 120, а во втором на 35% больше? [РЕШЕНИЕ]: 120 × 1.35 = 162 [RETURN]: 162 товара
[GO подзадача 2]: Сколько товаров в третьем отделе, если это в 2 раза меньше суммы первых двух (120 + 162 = 282)? [РЕШЕНИЕ]: 282 ÷ 2 = 141 [RETURN]: 141 товар
[GO подзадача 3]: Какова средняя цена, если общая выручка 4 500 000 руб., а всего товаров 120 + 162 + 141 = 423? [РЕШЕНИЕ]: 4 500 000 ÷ 423 ≈ 10 638.30 [RETURN]: ≈ 10 638 руб.
Финальный ответ: средняя цена товара составляет примерно 10 638 рублей.
У тебя есть длинный контракт из 5 разделов. Проанализируй каждый раздел рекурсивно. Метод: Recursion of Thought. - Каждый раздел — отдельная подзадача (GO) - Извлеки ключевые обязательства и риски (РЕШЕНИЕ) - Верни краткое резюме раздела (RETURN) - В конце — общий анализ из всех RETURN Раздел 1: Поставщик обязуется поставить оборудование в течение 90 дней. Штраф за просрочку — 0.1% от суммы за каждый день, но не более 10%. Раздел 2: Покупатель оплачивает 30% аванс, 50% при поставке, 20% после пусконаладки. Раздел 3: Гарантийный срок — 24 месяца с момента пусконаладки. Поставщик устраняет дефекты за свой счёт в течение 14 дней. Раздел 4: Форс-мажор: стихийные бедствия, военные действия, санкции. Уведомление — 5 дней. Раздел 5: Споры решаются в арбитражном суде г. Москвы. Применимое право — РФ.
[GO Раздел 1 — Сроки и штрафы] [РЕШЕНИЕ]: Срок 90 дней. Штраф 0.1%/день, макс. 10%. При сумме контракта 10 млн руб. максимальный штраф = 1 млн руб. Потолок штрафа фиксирован — риск ограничен. [RETURN]: Поставка 90 дней, штраф до 10% от суммы. Риск: потолок штрафа может не покрыть реальные убытки при длительной просрочке.
[GO Раздел 2 — Оплата] [РЕШЕНИЕ]: 30-50-20 схема. Аванс 30% — стандарт. 50% при поставке — покупатель платит до проверки работоспособности. 20% удержание до пусконаладки — мотивация поставщика. [RETURN]: Схема 30-50-20. Риск покупателя: 80% оплачено до проверки качества. Рычаг: 20% удержание.
[GO Раздел 3 — Гарантия] [РЕШЕНИЕ]: 24 месяца — хорошо для покупателя. 14 дней на устранение — жёсткий срок. Нет уточнения: что если дефект критический и 14 дней — слишком долго? [RETURN]: Гарантия 24 мес., устранение 14 дней. Риск: нет SLA по критичности дефектов.
[GO Раздел 4 — Форс-мажор] [РЕШЕНИЕ]: Перечень стандартный. Санкции включены — актуально. Уведомление 5 дней — разумно. Нет указания максимального срока форс-мажора, после которого контракт расторгается. [RETURN]: Форс-мажор стандартный + санкции. Риск: нет предельного срока форс-мажора.
[GO Раздел 5 — Споры] [РЕШЕНИЕ]: Арбитражный суд Москвы, право РФ — стандарт для российских контрактов. [RETURN]: Юрисдикция РФ, суд Москвы. Рисков нет.
Общий анализ (сборка из RETURN):
| Характеристика | CoT | Least-to-Most | Decomposed Prompting | RoT |
|---|---|---|---|---|
| Изоляция контекстов | Нет | Частичная | Да (специализированные обработчики) | Да (чистый контекст на каждую подзадачу) |
| Рекурсивная вложенность | Нет | Нет | Нет | Да — подзадача порождает подподзадачи |
| Управление глубиной | Нет | Линейная последовательность | Фиксированная | Динамическая (стек вызовов) |
| Контекстное окно | Всё в одном | Накопление в одном | Распределено | Распределено по уровням стека |
| Сложность оркестрации | Нет | Низкая | Средняя | Высокая (стек + маршрутизация) |
Задача: Рассчитай NPV инвестиционного проекта. Данные: инвестиция 5 млн руб., ставка дисконтирования 12%, денежные потоки за 4 года: 1.2, 1.8, 2.1, 2.5 млн руб. Метод: Recursion of Thought. Каждый дисконтированный поток — отдельная подзадача [GO]. В конце собери NPV из всех [RETURN].
[GO CF1]: Дисконтированный поток года 1: 1 200 000 / (1 + 0.12)^1 [РЕШЕНИЕ]: 1 200 000 / 1.12 = 1 071 428.57 [RETURN]: 1 071 429 руб.
[GO CF2]: Дисконтированный поток года 2: 1 800 000 / (1 + 0.12)^2 [РЕШЕНИЕ]: 1 800 000 / 1.2544 = 1 435 153.58 [RETURN]: 1 435 154 руб.
[GO CF3]: Дисконтированный поток года 3: 2 100 000 / (1 + 0.12)^3 [РЕШЕНИЕ]: 2 100 000 / 1.404928 = 1 494 726.07 [RETURN]: 1 494 726 руб.
[GO CF4]: Дисконтированный поток года 4: 2 500 000 / (1 + 0.12)^4 [РЕШЕНИЕ]: 2 500 000 / 1.57351936 = 1 588 635.68 [RETURN]: 1 588 636 руб.
[СБОРКА]: NPV = -5 000 000 + 1 071 429 + 1 435 154 + 1 494 726 + 1 588 636 NPV = 589 945 руб.
NPV положительный (≈590 тыс. руб.) — проект окупается при ставке 12%.
Если смотреть на современный стек, RoT стоит рядом с:
То есть это уже не просто “разбей задачу на части”, а способ управлять границами контекста. В длинных задачах именно это часто становится решающим: не дать одному уровню reasoning утонуть в деталях другого.
RoT оправдан, когда:
Такие сценарии часто встречаются в document analysis, long-form synthesis, legal review, financial modelling, hierarchical planning и multi-stage agents.
У техники есть и типичные anti-patterns:
Хорошее практическое правило: если подзадача не выигрывает от изоляции контекста, нет смысла открывать для неё отдельный frame. В этом случае проще использовать обычный decomposition workflow без рекурсивной оркестрации.
1. Что происходит при генерации токена GO в Recursion of Thought?
2. Чем RoT принципиально отличается от Least-to-Most Prompting?
3. Какой аналог из программирования лучше всего описывает механизм RoT?