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 = модель пишет шаги рассуждения перед ответом.
- Работает, потому что промежуточные токены становятся опорой для итога.
- Сильнее всего помогает на арифметике, логике и планировании.
- Отделяйте рассуждение от финального ответа для удобного парсинга.