TL;DR
Если модель уже умеет решать задачи пошагово — она делает это сама, без подсказок. Хуже: если вы даёте ей примеры решений перед своей задачей (классический few-shot Chain-of-Thought), модель начинает копировать стиль и формат этих примеров вместо того, чтобы сосредоточиться на самой задаче. Точность падает.
Боль в том, что все привыкли думать: "чем больше примеров дам модели — тем лучше она поймёт, что делать". Для слабых моделей это правда. Но для моделей, специально обученных на рассуждениях (типа Mathstral), примеры из датасета — это чужой стиль, который приходится "натягивать" на себя, тратя ресурс на подстройку формата, а не на решение задачи. В одном из тестов такая подстройка "съедала" до 10 процентных пунктов точности.
Решение оказалось до смешного простым: уберите примеры вообще. Просто задайте вопрос напрямую (zero-shot) — модель выдаст своё естественное пошаговое рассуждение и решит задачу точнее, чем с "обучающими" примерами. Опционально можно добавить фразу "давай думать шаг за шагом" — для слабых моделей это даёт заметный бонус, для сильных — почти незаметный.
Схема метода
ШАГ 1: Задать вопрос напрямую, без примеров решений → модель генерирует свой пошаговый ответ
ШАГ 2 (опционально, усиливает эффект для слабых моделей):
Добавить фразу "давай решать шаг за шагом" → лёгкий буст точности
Оба шага — это один промпт, без отдельных запросов.
Пример применения
Задача: Вы продаёте товар на Wildberries и считаете юнит-экономику, чтобы не уйти в минус.
❌ Так делают многие (few-shot с примерами):
Вот пример расчёта: себестоимость 200 руб, комиссия 12%, логистика 40 руб,
минимальная цена — 320 руб (расчёт: ...).
Теперь посчитай для меня: себестоимость товара 350 руб, комиссия маркетплейса
15%, логистика 60 руб за единицу, хочу маржу минимум 25%. Какая минимальная
цена продажи?
✅ Так надёжнее (zero-shot, без примеров):
У меня магазин на Wildberries. Себестоимость товара 350 руб, комиссия
маркетплейса 15%, логистика 60 руб за единицу, хочу маржу минимум 25%.
Посчитай минимальную цену продажи.
Результат: во втором случае модель выдаст полное пошаговое рассуждение в своём естественном стиле и с большей вероятностью придёт к верному числу. В первом случае модель может начать имитировать формат примера ("расчёт: ...") вместо того, чтобы честно посчитать вашу цифру — и на этом сбиться.
Почему это работает
Современные LLM, особенно "заточенные" под рассуждения, уже обучены на огромном количестве примеров пошаговых решений. Пошаговое рассуждение — это их естественный стиль вывода, а не что-то, что нужно вызывать специальной подсказкой.
Когда вы даёте модели чужие примеры решений (особенно человеческие, из датасета), она тратит часть "внимания" не на задачу, а на подстройку под формат этих примеров — стиль изложения, структуру, требования к оформлению ответа. Это как заставить хорошего математика решать задачу, глядя на чужой почерк и пытаясь писать так же — вместо того, чтобы просто решить.
Убирая примеры, вы даёте модели рассуждать так, как ей естественно. Это освобождает "мыслительный ресурс" для самой задачи, а не для копирования формата.
Рычаги управления: - Наличие примеров — для слабых, не заточенных на рассуждения моделей, примеры всё ещё могут помогать. Для сильных reasoning-моделей — убирайте. - Фраза "думай шаг за шагом" — для слабых моделей заметный бонус, для сильных — минимальный, иногда почти нулевой эффект. - Формат ответа ("выведи только число" vs свободный текст) — влияет не на качество рассуждения, а на то, насколько легко потом достать финальный ответ из текста. - Свои примеры модели (если вы всё же хотите дать few-shot) — генерируйте их той же моделью, а не берите готовые чужие тексты. Это менее вредно, чем человеческие примеры, но всё равно не гарантированно лучше чистого zero-shot.
Шаблон промпта
{Ваша задача, сформулированная напрямую, без примеров решений}
{Опционально, для менее продвинутых моделей: Давай решать шаг за шагом.}
Никаких плейсхолдеров сложнее не нужно — суть метода именно в минимализме: не давайте модели образцы для подражания, дайте ей просто задачу.
Ограничения
⚠️ Проверено только на математике: исследование использует один бенчмарк школьных задач (GSM8K). Для логических задач, кода или творческих текстов выводы не проверены напрямую — принцип "не мешай модели её естественным стилем" вероятно применим шире, но это не доказано в этой работе.
⚠️ Тестировали модели среднего размера (7–8 млрд параметров): для флагманских моделей уровня GPT-4 или Claude Opus эффект может отличаться — они ещё сильнее в естественном рассуждении, и разрыв может быть даже больше.
⚠️ Работает по-разному для разных моделей: для моделей, специально обученных на рассуждениях (как Mathstral), эффект огромный. Для универсальных моделей без такой специализации (как Llama) убирание примеров иногда даже немного вредит — они всё ещё выигрывают от небольшой подсказки в виде примера.
⚠️ "Думай шаг за шагом" — угасающий эффект: чем сильнее модель, тем меньше пользы от этой фразы. Для самых продвинутых моделей она может быть почти бесполезна или даже слегка мешать.
Как исследовали
Исследователи взяли три модели среднего размера: Mathstral (специально обучена на математике), Qwen2.5 (универсальная, но с упором на рассуждения) и Llama-3.1 (обычная универсальная модель без акцента на рассуждения). Все три прогнали через 7,5 тысячи учебных и 1,3 тысячи тестовых задач из GSM8K — стандартного бенчмарка школьной математики.
Ключевая деталь дизайна: примеры для few-shot выбирались случайно, а не по специальным алгоритмам подбора похожих задач. Это сделано специально — чтобы измерить чистый эффект самого формата CoT, не смешивая его с эффектом "умного" подбора примеров.
Сравнивали шесть вариантов: примеры из датасета (с инструкциями по формату и без), примеры, сгенерированные самой моделью (с добавлением "думай шаг за шагом" и без), а также baseline — просто задать вопрос напрямую.
Результат удивил даже авторов: для Mathstral точность выросла с ≤74% (лучший результат с человеческими примерами) до 84% при простом zero-shot — и это без единого дополнительного примера в промпте, то есть буквально бесплатно. Причина, которую нашли исследователи — экстракция ответа: модели с датасетными примерами часто путались в требуемом формате ответа (например, паттерн #### число), и это маскировало настоящую точность рассуждений.
Ресурсы
Denys Pushkin, Albert Q. Jiang, Aryo Lotfi, Colin Sandon, Emmanuel Abbé — EPFL, Apple, Mistral AI. Статья ссылается на оригинальные работы по CoT: Wei et al. (2022) — классический few-shot CoT, Kojima et al. (2022) — zero-shot CoT ("Let's think step by step"). Датасет — GSM8K (Cobbe et al., 2021).
