Chain-of-thought: думай пошагово

Заставив модель «рассуждать вслух» перед ответом, вы часто превращаете неверный ответ в верный — особенно на логике и арифметике.

Chain-of-thought (CoT) — приём, при котором модель генерирует промежуточные шаги рассуждения перед итоговым ответом.

Проблема «ответа сразу»

Если попросить модель сразу дать число в задаче с несколькими шагами, она часто ошибается: финальный токен «ответ» приходится выдавать без места на вычисление. Сравните.

В корзине 3 яблока. Купили ещё 2 пакета по 4 яблока
и отдали 5. Сколько яблок осталось? Ответь числом.

Без рассуждения модель может выпалить неверное число. Теперь добавим всего одну фразу.

В корзине 3 яблока. Купили ещё 2 пакета по 4 яблока
и отдали 5. Сколько яблок осталось?
Рассуждай пошагово, потом дай итог отдельной строкой «Ответ: N».

Модель распишет: 3 + 2×4 = 11, минус 5 = 6, и выдаст «Ответ: 6». Точность растёт.

Почему это работает

Промежуточные шаги — это сгенерированные токены, которые становятся частью контекста для финального ответа. Модель как будто «выкладывает черновик», и итоговый токен опирается уже на проделанную работу, а не на догадку. Грубо: вы даёте модели «оперативную память» в виде текста рассуждения.

Где CoT особенно помогает

  • Арифметика и многошаговые вычисления.
  • Логические задачи и выводы из посылок.
  • Планирование (составить шаги, потом выполнить).
  • Разбор кода, поиск бага по шагам.
  • Сравнение вариантов с критериями.

Как просить

Базовая формула — «давай рассуждать пошагово» (think step by step). Полезно отделять рассуждение от итога, чтобы потом легко извлечь ответ.

Реши задачу. Сначала рассуждения, затем строка вида:
ИТОГ: <только ответ>

В продакшне рассуждение иногда не показывают пользователю, а парсят только строку «ИТОГ». В некоторых моделях есть отдельный режим/параметр «расширенного размышления» — он делает то же самое более системно.

Итог

  • CoT = модель пишет шаги рассуждения перед ответом.
  • Работает, потому что промежуточные токены становятся опорой для итога.
  • Сильнее всего помогает на арифметике, логике и планировании.
  • Отделяйте рассуждение от финального ответа для удобного парсинга.
Проверьте себя
1. Почему просьба рассуждать пошагово повышает точность на многошаговых задачах?
AОна увеличивает размер модели
BПромежуточные шаги становятся контекстом, на который опирается финальный ответ
CОна снижает температуру до нуля
DОна отключает галлюцинации полностью
2. На каких задачах CoT помогает сильнее всего?
AПеревод одного слова
BПростое приветствие
CАрифметика, логика, планирование, разбор кода
DКопирование текста как есть
3. Зачем отделять рассуждение от итога строкой вида «ИТОГ: ...»?
AЧтобы запутать модель
BЧтобы удобно извлечь финальный ответ в коде, не показывая рассуждение пользователю
CЭто обязательно по спецификации API
DЧтобы увеличить стоимость
Поддержать проект