TL;DR
Когда ты даёшь LLM несколько примеров в промпте — это не просто "образцы для копирования". Модель читает их как учебную программу: следует процедурам рассуждения, а не просто запоминает ответы. Если примеры идут в случайном порядке или выбраны неправильно — результат деградирует, а не улучшается.
Главная находка: для задач с рассуждением (математика, логика, анализ) больше примеров ≠ лучше. Когда ты добавляешь похожие примеры в надежде помочь модели — ты на самом деле мешаешь. Два внешне похожих примера могут требовать совершенно разных процедур решения, и модель начинает путаться в "конфликтующих инструкциях".
Метод решает это через две идеи: порядок от простого к сложному и разнообразие процедур вместо семантической похожести. Плюс — самогенерированные примеры (когда модель сама создаёт демонстрации) работают лучше, чем примеры, которые выглядят "правильными", но написаны в чужом стиле рассуждений.
Схема метода
ШАГ 1: Определи тип задачи
→ Рассуждение (математика, анализ, логика) → применяй все принципы ниже
→ Классификация/простые ответы → порядок не так важен
ШАГ 2: Выбери примеры (если есть возможность выбирать)
→ НЕ бери "похожие на вопрос" — бери разные процедуры
→ ИЛИ попроси модель сгенерировать примеры самостоятельно
ШАГ 3: Упорядочи примеры в промпте
→ Сначала — простые случаи с базовой процедурой
→ В конце — сложные, похожие на твою задачу
ШАГ 4: Добавь свою задачу
→ Модель "продолжает обучение" и применяет усвоенную процедуру
ВСЁ выполняется в одном промпте (или в двух шагах,
если используешь самогенерацию примеров)
Пример применения
Задача: Ты хочешь, чтобы Claude разбирал финансовую модель стартапа по одной и той же логике — проверял unit-экономику, находил слабые места. Ты даёшь несколько примеров разборов.
Промпт (двухшаговый вариант):
ШАГ 1 — отправь отдельным запросом:
Сгенерируй 3 примера разбора unit-экономики стартапов —
от простого к сложному.
Пример 1: простой случай (подписочный SaaS с понятными метриками)
Пример 2: средний (маркетплейс с двусторонней моделью)
Пример 3: сложный (hardware + SaaS с длинным циклом продажи)
Для каждого покажи пошаговое рассуждение:
— Какие метрики считаем в первую очередь и почему
— Где ищем разрыв между юнит-экономикой и ростом
— Какой вывод и почему
---
ШАГ 2 — в тот же чат, после ответа:
Отлично. Теперь используй ту же логику разбора и проанализируй
стартап: [описание своего кейса]
Результат:
В первом шаге модель сгенерирует три разбора с нарастающей сложностью — каждый покажет конкретную процедуру анализа с шагами. Во втором шаге модель применит усвоенную процедуру к твоему кейсу — не просто выдаст общие слова про "CAC и LTV", а пройдёт по тем же шагам, что в примерах. Структура разбора будет согласованной между примерами, потому что все они в одном "процедурном стиле".
Почему это работает
Слабость LLM: Когда ты добавляешь примеры в промпт, модель не просто "смотрит на ответы". Она читает процедуры рассуждения и пытается им следовать. Если несколько примеров требуют разных процедур — модель получает конфликтующие инструкции и начинает "усреднять" их. Результат: хуже, чем без примеров вообще.
Сильная сторона LLM: Модели с режимом рассуждения (Claude с extended thinking, ChatGPT o1/o3/o4) умеют поглощать процедуры из контекста и применять их к новой задаче. Это не просто копирование — они реально усваивают методику. Исследователи проверили это жёстко: взяли правильные примеры, заменили в них всё рассуждение на один и тот же скопированный текст (но ответы оставили верными). Результат упал. Значит, модель читает не только ответы — она читает КАК думали.
Как метод использует это: Порядок "от простого к сложному" создаёт плавный переход между концепциями. Каждый следующий пример добавляет чуть больше сложности — модель постепенно "разогревается" на процедуре. Резкий переход (случайный порядок) ломает этот процесс — чем больше примеров, тем сильнее разброс результатов.
Рычаги управления: - Количество примеров → для рассуждений достаточно 3–5 хорошо упорядоченных; больше не всегда лучше - Источник примеров → самогенерация (попроси модель сначала сделать примеры) работает лучше, чем примеры, которые ты нашёл сам — стиль рассуждения остаётся согласованным - Порядок → всегда от простого к сложному, никогда случайный - Тип модели → с reasoning-моделями (o1, o3, Claude Thinking) принцип работает сильнее; с обычными моделями — аккуратнее, можно навредить
Шаблон промпта
{Описание задачи}
Ниже — примеры того, как рассуждать при решении таких задач.
Они идут от простого к сложному:
Пример 1 (базовый):
Задача: {простой_пример}
Рассуждение: {шаги_1}
Вывод: {ответ_1}
Пример 2 (средний):
Задача: {средний_пример}
Рассуждение: {шаги_2}
Вывод: {ответ_2}
Пример 3 (ближе к моей задаче):
Задача: {сложный_пример}
Рассуждение: {шаги_3}
Вывод: {ответ_3}
Теперь, используя ту же логику рассуждения, реши:
{моя_задача}
Рассуждение:
Плейсхолдеры:
- {Описание задачи} — что нужно сделать в целом: "проверь бизнес-гипотезу", "оцени юридический риск", "разбери аргумент"
- {простой_пример} → {сложный_пример} — три случая с нарастающей сложностью; важно: разные процедуры решения, не три похожих случая
- {шаги_1–3} — пошаговое рассуждение, не просто ответ
- {моя_задача} — реальный вопрос, с которым пришёл
🚀 Быстрый старт — вставь в чат:
Вот шаблон для few-shot промпта с упорядоченными примерами.
Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит про тип задачи, попросит описать несколько примеров с разными уровнями сложности — потому что без этого невозможно построить правильную "прогрессию" от простого к сложному. Она возьмёт паттерн из шаблона и адаптирует под задачу.
Ограничения
⚠️ Обычные (не reasoning) модели: На задачах с рассуждением добавление большого числа CoT-примеров нестабильно — может ухудшить результат. Принцип работает надёжнее на Claude Thinking, ChatGPT o3/o4, чем на обычных версиях без режима рассуждения.
⚠️ Для классификации и простых ответов: Порядок примеров почти не влияет — там важнее количество и качество. Вся система выше заточена под задачи с многошаговым рассуждением.
⚠️ CDS-метод из исследования (автоматический подбор порядка) требует векторных эмбеддингов и математики кривизны — в чате недоступен. В шаблоне выше — ручная версия принципа.
⚠️ Самогенерация примеров не панацея: Если модель слабая и сама генерирует ошибочные рассуждения — она подкармливает себя плохими примерами. Проверяй, что сгенерированные примеры логически верны, до использования их как демонстраций.
Как исследовали
Команда взяла 8 LLM двух типов: обычные (LLaMA, Qwen 2.5) и "рассуждающие" (DeepSeek-R1, QwQ, Qwen3). Тестировали на задачах двух видов: классификация (где ответ — просто метка) и математические рассуждения (геометрия, теория чисел, нарративные детективные задачи).
Ключевой эксперимент с похожестью был жёстким: брали каждый тестовый вопрос, вытаскивали 64 самых похожих примера через поиск по смысловому сходству — и 64 самых непохожих. На классификации похожие побеждали. На рассуждениях — непохожие побеждали в большинстве случаев, а похожие давали результат хуже, чем случайные. Это прямо противоречит интуиции "дай модели похожие примеры — ей будет легче".
Самый показательный эксперимент — "коррупция процедур": взяли 128 правильных примеров и заменили все рассуждения в них на одно и то же скопированное рассуждение (ответы остались верными). При 16 примерах разница незаметна. При 128 — падение стало чётким. Это доказывает: модель читает процедуру, а не просто смотрит на ответ. Отсюда вытекает весь практический смысл метода.
Адаптации и экстраполяции
1. Принцип "зоны понимания" при отладке промптов
Если модель не следует инструкции — не добавляй сложные примеры. Попробуй сначала дать самый простой случай, убедись что он работает, затем усложняй.
🔧 Техника: нарастающая сложность примеров → диагностика где ломается
"Покажи как ты решаешь задачу уровня 1, потом 2, потом 3. Остановись, когда почувствуешь неуверенность."
Это работает как диагностика: видишь на каком уровне сложности модель начинает "угадывать" вместо рассуждения.
2. Самогенерация как замена поиску примеров
Вместо того чтобы часами подбирать хорошие few-shot примеры — делегируй это модели:
Сгенерируй 4 учебных примера для задачи: {тип_задачи}.
Требования:
- Каждый пример должен использовать немного другую процедуру решения
- Порядок: от простого к сложному
- Для каждого — полное пошаговое рассуждение, не только ответ
После генерации примеров подтверди, что готов получить мою задачу.
Получаешь согласованные примеры в стиле модели — без поиска, без подбора.
Ресурсы
Название работы: Many-Shot CoT-ICL: Making In-Context Learning Truly Learn Конференция: 43rd International Conference on Machine Learning (ICML), Seoul, South Korea, PMLR 306, 2026 Авторы: Tsz Ting Chung, Lemao Liu, Mo Yu, Dit-Yan Yeung Организации: Hong Kong University of Science and Technology, Fudan University, WeChat AI (Tencent) Контакт: ttchungac@connect.ust.hk
