Zero-shot CoT: «Давай подумаем шаг за шагом»

Zero-shot CoT: «Давай подумаем шаг за шагом»

В прошлом уроке мы узнали, ЧТО такое Chain of Thought. Теперь — самый простой способ его применить. Zero-shot CoT — это когда ты не даёшь модели примеров рассуждений, а просто просишь её «подумать шаг за шагом». Одна фраза в конце промпта — и модель начинает рассуждать.

Волшебная фраза

Вся техника сводится к добавлению в промпт одной из фраз:

  • «Давай подумаем шаг за шагом.»
  • «Рассуждай последовательно.»
  • «Подумай шаг за шагом, прежде чем ответить.»
  • «Let's think step by step.»

Эти фразы действуют как «спусковой крючок» — модель переходит в режим последовательного рассуждения.

До и после

Без CoT (вход):

У Маши было 40 яблок. Она отдала Пете половину, а Васе — треть
оставшихся. Сколько яблок осталось у Маши?

Выход (без CoT — ошибочный или неуверенный):

У Маши осталось 10 яблок.

Неверно. Правильный ответ — не 10.

С zero-shot CoT (вход):

У Маши было 40 яблок. Она отдала Пете половину, а Васе — треть
оставшихся. Сколько яблок осталось у Маши?

Давай подумаем шаг за шагом.

Выход (с CoT — правильный):

Шаг 1: У Маши было 40 яблок.

Шаг 2: Она отдала Пете половину.
Половина от 40 = 20 яблок.
Осталось: 40 - 20 = 20 яблок.

Шаг 3: Васе она отдала треть оставшихся.
Треть от 20 = 20 / 3 ≈ 6.67. Так как яблоки целые, округлим
до 6 или 7. Но в задачах обычно подразумевается точное деление,
если не сказано иное. 20 / 3 — не целое число. Вероятно, имеется
в виду 1/3 от 20 = 6 и 2/3 яблока. Возьмём 6 целых яблок
(или 7, если округлить вверх).

Шаг 4: Осталось: 20 - 6 = 14 яблок (или 13 если отдать 7).

Но давай пересчитаем. Если от трети подразумевается точное
математическое значение: 20 × (1 - 1/3) = 20 × 2/3 ≈ 13.33.
Целых яблок осталось 13 (и треть яблока).

Ответ: у Маши осталось 13 целых яблок (и ещё треть).

CoT не только дал правильный ответ, но и подсветил неоднозначность в условии задачи («треть оставшихся» при 20 яблоках не делится на 3 нацело). Без CoT модель просто выдала число.

Где размещать «волшебную фразу»

Фразу «Давай подумаем шаг за шагом» лучше всего размещать в конце промпта, после условия задачи. Тогда модель сначала «прочитает» задачу, а затем получит инструкцию к рассуждению.

Можно и в начале:

Давай подумаем шаг за шагом.

Задача: ...

Но в конце надёжнее — модель видит задачу, а затем «спусковой крючок».

Zero-shot CoT + формат

Можно комбинировать CoT с управлением выводом:

Реши задачу. Давай подумаем шаг за шагом.

После рассуждения дай ОТВЕТ одной строкой в формате:
ОТВЕТ: <число>

Задача: У Маши было 40 яблок. Она отдала Пете половину, а Васе —
треть оставшихся. Сколько яблок осталось у Маши?

Выход:

Шаг 1: 40 яблок, отдала половину = 20 Пете. Осталось 20.
Шаг 2: От оставшихся 20 отдала треть = 20/3 ≈ 6.67. Так как яблоки
целые — отдала 6 (или 7, но обычно в задачах подразумевается
округление вниз при «отдала»). Осталось 20 - 6 = 14 (или 13).
Но 1/3 от 20 = 6 + 2/3. Если отдала 6 — осталось 14.
Если отдала 7 — осталось 13. В математических задачах без доп.
уточнений берём точное значение: осталось 20 - 20/3 = 40/3 ≈ 13.33.

ОТВЕТ: 13 (и треть яблока)

Ограничения zero-shot CoT

Zero-shot CoT — мощная техника, но не панацея:

  • Не помогает, если модель не знает предмета. Если задача требует фактов, которых модель не знает, рассуждение их не создаст.
  • Может увести в неверное рассуждение. Иногда модель уверенно рассуждает шаг за шагом... и приходит к неверному ответу. Поэтому всегда проверяй логику, а не только ответ.
  • Увеличивает verbosity. Модель тратит токены на рассуждение, а не на ответ. В production это стоит денег.

Проверь себя

Возьми задачу из жизни: «Стоит ли мне брать ипотеку на 15 лет под 10% или на 20 лет под 9%?» Как применить zero-shot CoT к этому вопросу? Напиши промпт.

Пример ответа: «Я хочу понять, что выгоднее: ипотека на 15 лет под 10% или на 20 лет под 9%. Сумма кредита — 5 000 000 ₽. Давай подумаем шаг за шагом: сравни общую переплату и ежемесячный платёж для обоих вариантов. После рассуждения дай рекомендацию в одном предложении.»

Итог

  • Zero-shot CoT — самая простая форма Chain of Thought. Достаточно добавить «Давай подумаем шаг за шагом» в конец промпта.
  • Одна фраза превращает «быстрый и возможно ошибочный» ответ в «медленный и точный».
  • Размещай «волшебную фразу» в конце промпта, после условия задачи.
  • Комбинируй CoT с форматом ответа, чтобы разделить «рассуждение» и «итоговый ответ».
  • Ограничения: не помогает, если модель не знает фактов; может дать уверенное, но неверное рассуждение; увеличивает расход токенов.

Что дальше

Zero-shot CoT — быстрый старт. Но что, если модель рассуждает неправильно даже с CoT? Тогда нужен few-shot CoT — мы показываем модели ПРИМЕРЫ правильных рассуждений, и она учится рассуждать по образцу. Об этом — следующий урок.

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике