Chain-of-thought, self-critique, tree-of-thoughts — когда что использовать
Три техники рассуждений, которые действительно улучшают результаты AI на сложных задачах, — и арифметика их издержек и выгод. С конкретными промптами, сравнениями бок-о-бок и подвохами, которые приносят современные reasoning-модели.
В prompt engineering есть три техники, которые дают измеримые, повторяющиеся улучшения на сложных аналитических задачах: chain-of-thought, self-critique и tree-of-thoughts. Их активно изучают с волны исследований по рассуждениям 2022–2023 годов, и несмотря на появление специализированных reasoning-моделей (o3, Claude Extended Thinking, DeepSeek R1), эти техники всё ещё важны — и потому, что остаются полезными с быстрыми моделями, и потому, что они задают стиль работы с самими reasoning-моделями.
Эта статья — про то, что каждая из техник из себя представляет, когда какую применять и какова их экономика.
Какую проблему они решают
Все три техники адресуют один и тот же корень: дефолтное поведение языковой модели — выдать ответ за один проход вперёд, рано фиксируя вывод без явного рассуждения. Для простых задач это нормально и эффективно. Для многошаговых рассуждений, сложного анализа или всего, где ответ зависит от правильно сделанных нескольких промежуточных шагов, дефолт «один проход» даёт уверенно неправильные ответы.
Техники заставляют модель потратить больше вычислений на промежуточные рассуждения, прежде чем фиксировать вывод.
Chain-of-thought (CoT)
Самая первая и самая простая. Добавьте к промпту что-то вроде «думай по шагам, прежде чем дать финальный ответ», и модель сначала выдаст рассуждение, а потом вывод.
Проработанный пример. Сравните:
Без CoT: Поезд выходит из Таллинна в 9:00, идёт со скоростью 80 км/ч. Другой поезд выходит из Тарту в 9:30 навстречу со скоростью 100 км/ч. Расстояние между городами 190 км. Во сколько они встретятся?
и:
С CoT: Тот же вопрос. Думай по шагам. Сначала посчитай расстояние, которое первый поезд проходит до отправления второго. Затем составь уравнение момента встречи. Покажи решение, потом дай финальный ответ.
На сложных арифметических задачах у моделей класса vanilla GPT-3.5 был процент ошибок около 30–50%; CoT-версии давали 5–15%. С развитием моделей цифры сдвинулись, но направление — добавление CoT повышает точность на многошаговых задачах — сохраняется из поколения в поколение.
Когда применять chain-of-thought:
- Многошаговая арифметика, особенно с единицами, датами или точными округлениями. Даже сильные модели тут спотыкаются.
- Логические задачи и похожие, где ответ — конец цепочки рассуждений.
- Отладка кода, где ответ зависит от прослеживания состояния.
- Стратегический анализ, где вывод зависит от взвешивания нескольких факторов.
Когда не стоит:
- Простое фактическое вспоминание. «Какая столица Эстонии?» CoT не нужен.
- Генеративные задачи. Письмо, сжатие, черновики. CoT только добавляет токены без выигрыша в качестве.
- Reasoning-модели. o3, Claude Extended Thinking, DeepSeek R1 уже делают CoT внутри — добавлять «думай по шагам» в промпт в лучшем случае избыточно, в худшем контрпродуктивно.
К последнему пункту вернёмся, он критичен.
Self-critique
Двухпроходная техника. Сначала просим модель дать ответ. Потом просим её же раскритиковать собственный ответ и выдать переработанную версию.
Структура промпта:
Шаг 1: [Ваш исходный вопрос]
>
Шаг 2: Просмотри свой ответ выше. Найди ошибки, слабые места и допущения, которые могут не выполняться. Будь жёстким критиком собственной работы.
>
Шаг 3: На основе критики выдай переработанный ответ.
Улучшение идёт оттого, что модель освобождается от приверженности выводу, к которой пришла в первом проходе. Будучи вынужденной смотреть на свою работу как критик, она ловит то, что не поймала бы исходно.
Более продвинутый вариант — constitutional / principle-based self-critique. Вы определяете набор принципов, которым ответ должен удовлетворять, и просите модель оценить себя по каждому.
Принципы хорошего ответа на такой вопрос: 1. Он отвечает на собственно заданный вопрос, а не на его обобщение. 2. Он цитирует конкретные доказательства, а не машет в сторону источников. 3. Он явно признаёт неопределённость там, где она есть. 4. Он откалиброван — уверен в сильных пунктах, осторожен в слабых.
>
Выдай ответ. Затем оцени его по каждому принципу. Затем переработай.
Это техника, которая стоит за работой Anthropic над Constitutional AI и похожими подходами в современной alignment-исследовательской работе.
Когда применять self-critique:
- Письменные задачи, где нужен второй проход, не выходя из разговора.
- Аналитика, где модель скорее всего будет самоуверенной.
- Поддержка решений, где хочется, чтобы модель нашла дыры в собственной аргументации.
- Код, где после прохода генерации хочется проход ревью.
Когда не стоит:
- Задачи без «правильного» ответа, к которому можно переработать (творческий брейншторм, генерация идей).
- Задачи, где критику хочется делать самому (всё, где ценность — ваше суждение).
- Быстрые разговорные ответы, где стоимость задержки перевешивает выигрыш в качестве.
Tree-of-thoughts (ToT)
Самая дорогая техника. Вместо одной цепочки рассуждений модель явно рассматривает несколько путей, оценивает каждый и выбирает самый перспективный.
Структура с проработанным примером:
Шаг 1: Сгенерируй три разных подхода к этой задаче.
>
Шаг 2: Для каждого подхода пройди несколько первых шагов, не фиксируя финальный ответ.
>
Шаг 3: Оцени, какой подход с большей вероятностью сработает и почему. Будь конкретен в плюсах и минусах.
>
Шаг 4: Выбери лучший подход и доведи решение.
Tree-of-thoughts работает потому, что у некоторых задач есть несколько правдоподобных стратегий, и первая попытка не всегда лучшая. Принудительное параллельное исследование избавляет от залипания на субоптимальном пути.
Практический пример — сложный промпт:
У меня сложный SQL-запрос, который выполняется слишком медленно. Помоги оптимизировать.
>
Шаг 1: Сгенерируй три разных стратегии оптимизации. Шаг 2: По каждой — какой конкретно bottleneck она адресует и какой ценой. Шаг 3: Оцени, какая даст самый большой выигрыш при наименьшем риске. Шаг 4: Реализуй выбранный подход.
В ответе вы получаете заметно более вдумчивую вещь, чем «вот один переписанный запрос». Три подхода, сравнение, рекомендация, реализация.
Когда применять tree-of-thoughts:
- Задачи с несколькими правдоподобными решениями. Архитектурные решения, выбор алгоритма, стратегический выбор.
- Задачи оптимизации. Где первая попытка редко лучшая.
- Творческие задачи, где исследование и есть смысл. Нейминг, упаковка, позиционирование.
- Что угодно, где вы подозреваете, что очевидный ответ неверен.
Когда не стоит:
- Задачи с одним правильным подходом. Не просите три SQL-запроса, если один работает.
- Простые фактические вопросы. Перебор.
- Большинство задач для reasoning-моделей — модели теперь делают такое исследование внутри.
Практическое дерево решений
Когда перед вами сложная задача, вопрос не в том, «какую технику применить — CoT, self-critique или ToT». Вопрос в том, «какой формы эта задача?»
- Линейная многошаговая задача (арифметика, логическая головоломка, строгое рассуждение) → chain-of-thought.
- Задача, где риск — самоуверенность (анализ, рекомендация, код, который нужно ревьюить) → self-critique.
- Задача с несколькими правдоподобными подходами (оптимизация, стратегический выбор, творческое исследование) → tree-of-thoughts.
- Разговорная, простая или генеративная → ничего. Пропустите оверхед.
Есть и полезный мета-паттерн: CoT внутри ToT внутри self-critique. Исследуем три пути (ToT), по каждому идём по шагам (CoT), потом критикуем выбранный путь (self-critique). Звучит как перебор, но действительно полезно для самой тяжёлой аналитики. Цена — задержка и токены; выгода — заметно лучшие ответы.
Как reasoning-модели меняют арифметику
Главный сдвиг с 2024 года — появление специализированных reasoning-моделей: o1, o3, Claude Extended Thinking, DeepSeek R1, Gemini 2.5 Thinking. Эти модели делают chain-of-thought внутренне, прежде чем выдать ответ, часто «думая» десятки секунд или минуты.
Это меняет то, как с ними работать, в трёх важных отношениях:
1. Перестаньте добавлять «думай по шагам». Reasoning-модели и так это делают. Явное добавление этой фразы может их сбить или дать избыточный вывод. Просто задавайте вопрос напрямую.
2. Доверяйте длине рассуждения модели. Если вопрос сложный, модель внутри сгенерирует длинную цепочку рассуждений. Вы видите не всё (часть скрыта в режиме «thinking»). Компромисс — задержка. Будьте терпеливы.
3. Используйте простые, прямые промпты. Reasoning-модели менее чувствительны к промптам, чем быстрые, — они прорассуждают через неоднозначность, а не застревают в ней. Переинженеренные промпты, которые хорошо работают с быстрыми моделями (тяжёлая рамка, много ограничений, структурированные шаблоны), иногда ухудшают выход reasoning-модели. Сначала пробуйте более простую версию.
Проработанный пример. Сравните два промпта к reasoning-модели:
Промпт A: «Думай по шагам про следующий вопрос. Сначала выяви ключевые ограничения. Потом перечисли варианты. Потом оцени каждый вариант по ограничениям. Потом выбери. Показывай рассуждения на каждом шаге. Вопрос: стоит ли нам ввести четырёхдневную рабочую неделю?»
Промпт B: «Стоит ли нам ввести четырёхдневную рабочую неделю? Контекст: B2B SaaS на 80 человек, команда поддержки работает пн–пт».
Для большинства reasoning-моделей Промпт B даст лучший ответ. Reasoning-модель и так знает, как продумать этот вопрос; явные строительные леса могут её ограничить и навредить.
Для быстрых моделей всё наоборот. Им нужны эти леса, чтобы выдать сравнимое качество.
Это самый важный новый факт о prompt engineering с 2023 года: тот же промпт, который лучше всего работает на быстрой модели, может быть хуже на reasoning-модели, и наоборот.
Арифметика издержек и выгод
У всех техник есть цена. Честный расчёт:
| Техника | Стоимость в токенах | Стоимость в задержке | Выигрыш в качестве | Когда стоит того | | --- | --- | --- | --- | --- | | Chain-of-thought | ~2–3x | ~1.5–2x | 10–40% на сложных задачах | Многошаговые задачи на быстрых моделях | | Self-critique | ~2x | ~2x | 5–20% в среднем | Когда самоуверенность — реальный риск | | Tree-of-thoughts | ~3–5x | ~2–3x | 10–30% на задачах с несколькими подходами | Сложные задачи с несколькими путями | | Reasoning-модель (встроенно) | ~3–10x | ~5–30x | 30–100% на сложных задачах | Что угодно по-настоящему сложное |
Для повседневного использования быстрая модель без техник — нормально. Для сложных задач правильная техника (или reasoning-модель) окупает доп. цену. Для тривиальных задач все эти техники жгут деньги и время.
Практическое правило: прежде чем тянуться за техникой, спросите, насколько цена ошибки на этой задаче оправдывает доп. стоимость техники. Если оправдывает — берите подходящую. Если нет — просто отправляйте промпт.
Проработанный пример: настоящая сложная задача
Допустим, вы оцениваете два предложения от подрядчиков и хотите выверенное сравнение.
Без техник (ванильный промпт):
Сравни эти два предложения [вставка]. Какое выбрать?
Вы получите осторожный, «и так и эдак» ответ. Полезная отправная точка; этого мало.
С CoT:
Сравни эти два предложения. Думай по шагам: 1. Перечисли критерии, важные для нашего решения. 2. Оцени каждого подрядчика по каждому критерию. 3. Определи критерии, по которым оценки расходятся сильнее всего. 4. Затем дай рекомендацию.
Вы получаете гораздо более структурированный анализ. Каждый шаг виден; можно проверить или поправить.
С self-critique сверху:
[то же, что выше]
>
После рекомендации раскритикуй собственный анализ: 1. Каким критериям я мог дать неправильный вес? 2. Что я допустил, чего не следовало? 3. Какой самый сильный правдоподобный довод за другого подрядчика?
>
Затем выдай переработанную рекомендацию, если нужно.
Критика ловит слепые зоны первого анализа.
С ToT:
Сравни эти два предложения.
>
Шаг 1: Сгенерируй три разных каркаса принятия таких решений (например, минимизирующий риск, максимизирующий ценность, ориентированный на возможности). Шаг 2: Примени каждый каркас. Получи три рекомендации. Шаг 3: Где каркасы сходятся? Где расходятся? Шаг 4: С учётом наших реальных ограничений, какой каркас уместнее? Финальная рекомендация.
Получаете три разных угла на выбор; различия — это место, где живёт интересное мышление.
С reasoning-моделью:
Сравни эти два предложения. Какое выбрать и почему? Включи то, что изменило бы твой ответ.
Reasoning-модель делает всё вышеперечисленное внутри. Выход часто сопоставим или лучше, чем у тяжело промпченной быстрой модели, примерно за то же реальное время.
В 2026 году на по-настоящему сложной аналитической работе reasoning-модель с чистым промптом — обычно правильный ход. CoT и ToT остаются полезными с быстрыми моделями, а self-critique — полезным слоем поверх любой модели.
Несколько практических привычек
Делайте технику видимой себе. Помечайте в промпте, какую технику применили — это помогает наработать интуицию.
Сравнивайте выводы. Раз в неделю прогоняйте один и тот же сложный промпт с техникой и без, смотрите, насколько ответы различаются. Быстро откалибруетесь, когда техника окупает свою цену.
Не стопкуйте техники бездумно. Стек CoT + self-critique + ToT + reasoning-модель редко лучше правильно выбранной одной. Каждый слой добавляет цену; добавляйте только те, что действительно улучшают ответ на вашу конкретную задачу.
Держите техники в библиотеке. Сниппеты «с CoT», «с self-critique», «с ToT» — приложил к текущей задаче — экономят реальное время по сравнению с перепечатыванием каркаса.
Главная мысль
Три техники. У каждой свой sweet spot. Chain-of-thought — для линейных многошаговых задач. Self-critique — чтобы ловить самоуверенность. Tree-of-thoughts — для задач с несколькими подходами. Reasoning-модели меняют арифметику, делая первые две внутри, — но техники всё равно важны и для быстрых моделей, и как паттерны, которые можно класть сверху.
Подбирайте правильную под задачу. Пропускайте, когда они не оправдывают цену. Усвойте разницу между «более сложная задача» и «другая задача» — в этом вся игра.