Cumulative Reasoning (кумулятивное рассуждение) — техника, в которой несколько ролей итеративно строят граф верифицированных утверждений: Proposer предлагает новый шаг, Verifier проверяет его корректность, Reporter решает, достаточно ли накоплено для финального ответа. Ошибки отсекаются на каждом шаге, и в рабочую память попадают только подтверждённые элементы рассуждения.
В 2026 году CR полезнее воспринимать не как академическую “игру в три роли”, а как early pattern для verified reasoning loops. По сути это предок современных workflow-идей вроде proposer-critic, generator-judge и trace-gated execution.
В отличие от линейной цепочки CoT, Cumulative Reasoning строит DAG (directed acyclic graph):
| Структура | CoT | Cumulative Reasoning |
|---|---|---|
| Топология | Линейная цепочка A→B→C→D | DAG: A→C, B→C, C→D |
| Верификация | Постфактум или никогда | На каждом шаге |
| Ошибка на шаге 3 | Портит шаги 4-10 | Отсекается, не попадает в граф |
| Параллельность | Нет | Возможна: независимые ветви |
С практической точки зрения CR — это не столько техника генерации, сколько техника допуска. Новая мысль должна не просто появиться, а пройти контроль качества, прежде чем стать основой для следующего шага. Это делает подход близким к:
То есть CR особенно полезен там, где важна не ширина поиска, а чистота накапливаемого reasoning state.
Подход особенно хорошо ложится на задачи, где:
Это делает CR интересным для formal-ish logic, constrained math, policy reasoning и safety-critical маршрутов, где нельзя просто “надеяться на хороший CoT”.
Есть и чёткие ограничения:
Поэтому на практике CR чаще полезен как selective route для сложных high-stakes задач, а не как дефолтная техника на весь трафик. Обычно хороший router должен сначала понять, требуется ли verified buildup вообще.
Используй Cumulative Reasoning для логической задачи: Факты: - Все программисты знают логику - Некоторые программисты знают Python - Все, кто знают Python, могут писать скрипты - Алексей — программист, который знает Python Вопрос: Может ли Алексей писать скрипты?
Верифицированные утверждения:
[Proposer] Факт P1: Алексей — программист (из условия) [Verifier] ✓ Прямо указано в условии.
[Proposer] Факт P2: Алексей знает Python (из условия) [Verifier] ✓ Прямо указано в условии.
[Proposer] Факт P3: Алексей знает логику (из P1 + правило «все программисты знают логику») [Verifier] ✓ Modus ponens: Алексей — программист → все программисты знают логику → Алексей знает логику.
[Proposer] Факт P4: Алексей может писать скрипты (из P2 + правило «все, кто знают Python, могут писать скрипты») [Verifier] ✓ Modus ponens: Алексей знает Python → все, кто знают Python, могут писать скрипты → Алексей может писать скрипты.
[Reporter] Достаточно для ответа? Да — P4 прямо отвечает на вопрос.
Ответ: Да, Алексей может писать скрипты. Это следует из факта, что он знает Python, и правила, что все знающие Python могут писать скрипты.
1. Какие три роли используются в Cumulative Reasoning?
2. Чем DAG в Cumulative Reasoning лучше линейной цепочки в CoT?
3. Какой результат Cumulative Reasoning показал на Game of 24?