3 мифа о few-shot и chain-of-thought, из-за которых вы жжёте токены зря

3 мифа о few-shot и chain-of-thought, из-за которых вы жжёте токены зря

Промпт-инжиниринг обзавёлся своим фольклором. Советы вроде «добавь побольше примеров» или «попроси подумать шаг за шагом» кочуют из статьи в статью с 2023 года, хотя модели за это время сильно изменились. Разберём по пунктам, что из привычного арсенала всё ещё работает, а что давно стоит сдать в архив — опираясь на свежие замеры, а не на интуицию.

Миф 1: больше примеров в few-shot — выше точность

Классика жанра: если модель ошибается, нужно добавить ещё пару примеров в промпт. Для современных сильных моделей это не так. Исследование Revisiting Chain-of-Thought Prompting на серии Qwen2.5 показало: для современных сильных моделей добавление традиционных CoT-примеров не улучшает качество рассуждений по сравнению с zero-shot CoT, а их основная функция — выравнивание формата вывода под ожидания человека. Авторы даже попробовали усилить примеры ответами топовых моделей — не помогло, улучшенные примеры, построенные на ответах продвинутых моделей, всё равно не повышают качество рассуждений. Модель ориентируется на инструкцию, а не копирует логику из демонстраций.

Миф 2: «подумай шаг за шагом» нужно писать всегда

Эта фраза была рабочим лайфхаком в 2022–2023 годах. Сейчас у reasoning-моделей шаг за шагом уже встроен внутрь. Расширенный режим мышления Claude, настройки рассуждений GPT-5 и аналогичные функции других моделей автоматически применяют рассуждение в духе chain-of-thought ещё до генерации ответа, и для многих задач включение режима мышления снимает необходимость вручную добавлять фразу «подумай шаг за шагом». Хуже того: ручной CoT-триггер на reasoning-модели не бесплатен. Исследование Wharton, на которое ссылаются авторы одного из гайдов, зафиксировало, что явный CoT даёт лишь незначительный прирост на reasoning-моделях при росте задержки на 20–80%. То есть вы платите токенами и временем ответа за приём, который модель и так выполняет внутри себя.

Миф 3: few-shot и CoT ведут себя одинаково на любой модели

Удобно думать, что один и тот же шаблон промпта одинаково сработает на GPT, Claude и Gemini. На практике модели по-разному реагируют на форму примеров. У Claude есть характерная особенность: он особенно чувствителен к формату few-shot-примеров — если примеры построены как вопрос-ответ, а реальный ввод в продакшене структурирован иначе, модель часто копирует формат примера, а не следует инструкции, и показанный формат перевешивает описанный. У моделей семейства GPT своя уязвимость — качество, а не формат: один слабый или краевой пример в блоке few-shot может сместить распределение ответов так, что это сложно отследить. При этом количество не спасает: больше примеров — не всегда лучше, три чистых репрезентативных примера обходят шесть с краевыми случаями. А для задач на рассуждение зачастую вообще лучше не давать примеров: Gemini 2.0 Pro и GPT-o3 нередко показывают лучший результат на zero-shot промптах с явной инструкцией рассуждать, чем на few-shot.

Миф 4: чем длиннее системный промпт, тем надёжнее поведение модели

Логика понятна: прописал всё подробно — модель точно ничего не упустит. На деле длина системного промпта работает не линейно. Модели с окнами в миллион токенов держат длинные промпты с меньшей деградацией, чем модели с меньшим контекстом, но при этом демонстрируют дрейф памяти — инструкции в конце очень длинного системного сообщения вспоминаются менее надёжно, чем инструкции из первых 20%. У моделей с меньшим контекстным окном наблюдается похожая картина при проверках на удержание инструкций в длинном тексте. Вывод практический: дело не в том, чтобы писать короче любой ценой, а в том, чтобы расположить критичные для вашего продукта инструкции в позициях, которые модель отслеживает надёжно — обычно это начало и самый конец промпта, а не середина.

Что с этим делать на практике

Никакого универсального рецепта тут нет — и в этом весь смысл скепсиса. Но три рабочих ориентира сформулировать можно:

  • Для задач на строгий формат (JSON, таблица, классификация по вашим меткам) few-shot всё ещё лучший якорь — выбирайте 3–5 чистых примеров, а не десять с исключениями.
  • Для математики, логики и многошагового анализа начните с zero-shot и встроенного режима рассуждений модели, прежде чем тащить туда примеры или ручной CoT.
  • Критичные правила — ограничения, запреты, формат вывода — ставьте в начало и в самый конец инструкции, а не прячьте в середину длинного текста.

Проверять это стоит на вашей конкретной задаче и конкретной модели: разница в поведении между GPT, Claude, Gemini, Qwen и DeepSeek бывает заметной даже на похожих по формулировке промптах.

Вместо вывода

Промпт-инжиниринг не стал проще — он стал конкретнее. Магических фраз больше нет, зато есть понятные закономерности: что реально двигает качество ответа, а что просто расходует токены по привычке. Проверить эти приёмы на разных моделях и подобрать то, что работает именно для ваших задач, можно в GEMERA AI — там доступны чат с GPT, Claude и Gemini, а также другие инструменты для экспериментов с промптами в одном месте.