Думай вслух: Chain-of-Thought
🤔 Зачем это читать
Ты приносишь на совещание число от нейросети — а дотошный коллега при всех пересчитывает на калькуляторе, и оказывается, что ты неправ. Разница не копеечная, и неудобно перед всеми. Знакомо?
Откуда оно берётся. Ты просишь нейросеть посчитать что-нибудь не из учебника, а из жизни. Например: «у нас 3 поставщика, у первого цена 1 200 ₽ за единицу при заказе от 500 штук, у второго 1 350 ₽ без минимума, у третьего 1 100 ₽ но плюс доставка 40 000 ₽ — что выгоднее на партию 800 штук?». Через секунду прилетает уверенный ответ: «Выгоднее второй поставщик». С точкой. Без объяснений. Звучит солидно — ты и понёс его на то самое совещание. А выгоднее-то был третий. Модель не «соврала» специально: она прыгнула от условия сразу к итогу одним движением — и на этом прыжке потеряла полпути. А выглядел ответ ровно так же уверенно, как если бы был верным.
Вот в чём ловушка: на сложной задаче нейросеть чаще ошибается не потому, что глупая, а потому, что торопится — выдаёт результат, не разложив его по шагам. И ты этого не видишь: на выходе только итог, без «как считал». Цена такой невидимой ошибки — неверное решение, принятое с уверенным лицом.
Хорошая новость: лечится это одной фразой в запросе. После этой темы ты сможешь разглядеть, где модель прыгнула к ответу и потому ошиблась, и одним приёмом заставить её рассуждать вслух — расписать шаги до итога. На расчётах и логике это почти бесплатно поднимает точность. А ещё — научишься замечать, когда красивое рассуждение всё равно ведёт к неверному ответу.
Задержись на 10 секунд. Вспомни последний раз, когда нейросеть выдала тебе число, итог или вывод — а ты не стал проверять, потому что звучало уверенно. Расчёт скидки, прикидка сроков, «какой вариант лучше». Держи этот случай в голове: к концу страницы ты поймёшь, стоило ли тогда доверять — и что надо было дописать в запрос.
🍳 Повар, который проговаривает техкарту вслух
Представь двух поваров на сложном заказе. Первый — лихой: услышал заказ, тут же хватает что под руку и кидает в кастрюлю, на глаз, не задумываясь о порядке. Иногда попадает. На простом блюде — почти всегда. Но на сложном, где важна очерёдность и пропорции, он нет-нет да и перепутает этап — и блюдо подгорит или развалится.
Второй повар на том же заказе сначала проговаривает техкарту вслух: «так, сперва ставлю бульон, пока он варится — обжариваю овощи, потом соединяю, в конце ввожу сливки на малом огне». И только потом готовит. Он реже ошибается ровно потому, что не перепрыгивает этапы: каждый шаг назван и стоит на своём месте.
Нейросеть по умолчанию ведёт себя как первый повар. Помнишь из прошлой темы про примеры (few-shot — несколько образцов в запросе): модель не «думает» в нашем смысле, а предсказывает, что обычно идёт дальше. На простом она угадывает итог сразу и попадает. А на сложной задаче «угадать сразу весь итог» — это и есть тот самый рискованный прыжок через полблюда.
Chain-of-Thought (буквально «цепочка рассуждений», по-нашему — «думай вслух») — это когда ты просишь модель сначала расписать шаги, а потом дать итог. То есть превращаешь лихого повара во второго: заставляешь проговорить техкарту до того, как он схватится за кастрюлю. И на логике с расчётами это резко поднимает точность.
✍️ Как это включить: одна фраза в запросе
Самое приятное — приём почти ничего не стоит. Есть два способа «попросить вслух», от самого ленивого к чуть более вдумчивому.
Способ первый, на одну фразу. Просто допиши в конец запроса: «Рассуждай по шагам, в конце дай ответ» (в оригинале гайдов это знаменитое «Let’s think step by step» — «давай рассуждать шаг за шагом»). Всё. Эта приписка часто превращает неверный итог в верный — без всяких примеров. Звучит как магия, но механика простая: ты заставил повара проговорить техкарту.
# было — модель прыгает к итогу:
«Партия 800 штук. Поставщик 1: 1 200 ₽/шт от 500 шт.
Поставщик 2: 1 350 ₽/шт. Поставщик 3: 1 100 ₽/шт + доставка 40 000 ₽.
Кто выгоднее?»
# стало — добавили одну фразу:
«…Кто выгоднее? Посчитай итог по каждому поставщику отдельно,
покажи расчёт по шагам, в самом конце назови победителя.»
Способ второй, через пример. Если задача типовая и тебе нужно, чтобы модель рассуждала в определённом порядке, покажи ей один-два примера с уже расписанным ходом мысли — не только «вопрос → ответ», а «вопрос → вот так рассуждаем → ответ». Это тот же few-shot из прошлой темы, только в примерах ты показываешь не итог, а дорогу к нему. Модель копирует не ответ, а привычку рассуждать.
В обоих случаях есть один практичный момент, про который забывают: попроси отделить итог от рассуждения — например, «в конце напиши: ИТОГ: …». Иначе финальный ответ утонет в трёх абзацах рассуждений, и его придётся выковыривать вручную. Особенно если этот ответ потом куда-то передаётся дальше.
🧮 Откуда вообще берётся прирост (и почему не везде)
Это не фокус и не «секретное заклинание». За приёмом стоит понятная вещь. Когда модель пишет шаги, каждый следующий шаг она строит, опираясь на уже написанные предыдущие — то есть на правильную промежуточную опору, а не на пустоту. Расписанный шаг «бульон варится 20 минут» помогает не забыть про него на этапе «соединяем». Прыжок сразу к итогу такой опоры лишён: модель пытается удержать всю задачу в одном движении — и на сложном спотыкается.
Важная оговорка, которую стоит знать владельцу. Способность рассуждать по шагам с пользой — эмерджентная (то есть проявляется только у достаточно крупных, «насмотренных» моделей; на маленьких слабых моделях приписка «по шагам» почти не помогает). Для тебя на практике это значит: на нормальной современной модели приём работает, на какой-нибудь крошечной встроенной — может и не дать ничего. Это исследованный факт, а не моё предположение (его описали ещё в 2022 году, и с тех пор он только подтверждался).
И обратная сторона — не лей этот соус на всё подряд. На простом вопросе («переведи фразу», «какой сегодня день недели в этой дате») просьба рассуждать вслух только удлинит ответ, потратит лишние токены (токен — кусочек текста, из которых модель собирает ответ) и заставит тебя ждать дольше. Повар, который вслух проговаривает техкарту кипячения воды, — это не надёжность, это потеря времени.
⚠️ Красивое рассуждение ≠ верный ответ
А вот главная ловушка, ради которой стоило дочитать до сюда. Когда модель рассуждает вслух, появляется приятное ощущение: «ну она же всё расписала, значит, посчитала правильно». Это ощущение обманчиво.
Рассуждение бывает гладким, логичным на вид — и при этом ведущим к неверному итогу. Модель может уверенно написать четыре правильных шага и на пятом тихо подставить не то число или перепутать знак. Со стороны цепочка выглядит убедительно, а ответ всё равно кривой. Хуже того: иногда модель сначала «решает», какой ответ дать, а потом подгоняет под него правдоподобное обоснование — и тогда красивые шаги вообще служат не поиску истины, а её маскировке.
Для тебя как владельца отсюда два следствия. Первое: рассуждение вслух — это не гарантия правоты, а возможность проверить. Раньше ты видел только итог и не мог придраться; теперь видишь шаги — и на важном решении можешь пробежать их глазами и поймать, где число поехало. Второе: чем дороже цена ошибки, тем меньше доверяй гладкости и тем внимательнее смотри именно на шаги, а не на финальную цифру. CoT превращает «чёрный ящик с итогом» в «расчёт, который видно» — но смотреть всё равно тебе.
Прежде чем жать кнопки — сформулируй гипотезу. Сейчас будут пары: один и тот же запрос решён двумя способами — «сразу итог» и «по шагам». Прикинь заранее: по какому признаку самой задачи ты будешь решать, нужно тут рассуждение вслух или нет? Запиши своё правило одной фразой — и проверь его на каждой паре. Где твоя гипотеза не сойдётся с разбором — там и спрятан настоящий навык.
🎮 Сравни два ответа и реши
Пять задач. Для каждой показаны два варианта ответа одной и той же модели: слева «сразу итог», справа «по шагам». Сначала сам реши, какой из них надёжнее для этой задачи — и нужен ли тут вообще CoT. Потом жми кнопку и сверься.
Это анализ, а не угадайка: смотри не на то, какой ответ «красивее», а на то, какая задача — простая или с расчётом и шагами. Расхождение с разбором полезнее угаданного совпадения.
📖 Ключевые понятия
- Chain-of-Thought (рассуждение вслух)
- Приём, когда ты просишь модель сначала расписать шаги решения, а потом дать итог — вместо того чтобы прыгать к ответу одним движением. На задачах с логикой и расчётами заметно повышает точность. Кухонный образ: повар проговаривает техкарту вслух, прежде чем готовить.
- Прыжок к итогу
- Режим по умолчанию: модель выдаёт результат сразу, не показывая, как считала. На простом — нормально. На сложном — рискованно: легко потерять полпути и ошибиться так же уверенно, как если бы ответ был верным.
- «Рассуждай по шагам»
- Та самая приписка в конце запроса (в оригинале «давай рассуждать шаг за шагом»), которая включает рассуждение вслух без всяких примеров. Самый дешёвый способ применить CoT — одна фраза.
- Эмерджентность
- Свойство, которое появляется только у достаточно крупных моделей. Рассуждение по шагам с пользой — как раз такое: на маленьких слабых моделях приписка «по шагам» почти не помогает, на нормальных современных — работает.
- Гладкое, но неверное рассуждение
- Цепочка шагов может выглядеть убедительно и при этом вести к ошибочному итогу — модель тихо подставит не то число или подгонит обоснование под заранее выбранный ответ. Рассуждение вслух даёт не гарантию правоты, а возможность проверить.
🛡️ Частые заблуждения
«Если модель всё подробно расписала по шагам — значит, посчитала правильно»
Нет. Рассуждение бывает гладким на вид и неверным по сути: четыре шага верных, на пятом подставлено не то число. А иногда модель сначала «решает» ответ, потом подгоняет под него красивое обоснование. Шаги — это повод проверить, а не справка о правоте. Чем дороже решение, тем внимательнее смотри именно на шаги, а не на финальную цифру.
«Рассуждение вслух — это всегда лучше, добавлю-ка я "по шагам" в каждый запрос»
На простом вопросе это только вредит: лишние токены, дольше ждать, ноль прироста точности. Перевести фразу или определить тон отзыва модель и так делает одним движением. CoT окупается там, где есть расчёт или многошаговая логика, — на остальном это повар, который вслух комментирует, как кипятит воду.
«Чтобы модель считала точнее, надо просто взять модель помощнее»
Не обязательно. Часто та же самая модель резко повышает точность от одной фразы «рассуждай по шагам» — без всякой замены и доплаты за более дорогую. Сначала выжми бесплатный приём из той модели, что есть, и только потом, если не хватило, думай про более сильную. Приём дешевле апгрейда.
🧠 AI-чутьё (AI Judgment)
Когда рассуждение вслух окупается, когда лишнее, как проверять
Собранная в одну фразу мысль этой темы: рассуждение вслух — это почти бесплатный апгрейд точности на логике и расчётах, но не волшебная кнопка «сделай правильно». Дописал в запрос «посчитай по шагам» — и на многошаговой задаче чаще получаешь верный итог, без всякой замены модели. Это самый выгодный по соотношению «усилие к отдаче» приём промптинга, который есть у бизнес-пользователя.
Но у него есть честная цена. Шаги — это лишние токены и лишнее время: ответ становится длиннее и дороже. На потоке из тысяч запросов разница в счёте и скорости заметна. Поэтому правило простое: есть расчёт или логика в несколько ходов — проси вслух; простой одношаговый вопрос — не трать. Не лей этот соус на всё подряд.
И главное движение чутья, ради которого всё затевалось: рассуждение вслух не освобождает тебя от проверки, оно делает проверку возможной. Раньше ты видел только итог и верил ему на слово. Теперь видишь шаги — и на дорогом решении можешь пробежать их глазами и поймать, где число поехало. Гладкость цепочки — не доказательство правоты. Чем выше цена ошибки, тем меньше доверяй красоте рассуждения и тем пристальнее смотри на сами шаги.
🎯 Практика
Одно задание на десять минут — чтобы приём лёг на твою реальную работу, а не остался теорией.
- Возьми любую расчётную или многошаговую задачу со своей работы: прикинуть скидку с условиями, сравнить два предложения поставщиков, посчитать сроки с учётом выходных, разложить смету.
- Задай её нейросети дважды. Первый раз — как обычно, просто вопросом. Второй раз — тот же вопрос плюс приписка «рассуждай по шагам, в конце напиши ИТОГ отдельной строкой».
- Сравни два ответа. Совпали итоги или разошлись? Если разошлись — пройди глазами по шагам второго ответа и найди, на каком именно шаге первый вариант ошибся.
- Загляни в свою заметку из начала страницы — тот случай, когда ты поверил числу не проверяя. Прогнал бы ты его сейчас «по шагам»? Стоило ли тогда доверять с первого раза?
Если итоги разошлись хотя бы раз — ты только что своими руками поймал ошибку, которую раньше принял бы на веру. Это и есть навык владельца: не верить уверенному итогу, а уметь попросить показать расчёт и проверить его.