3,583 papers
arXiv:2510.16809 92 19 окт. 2025 г. FREE

Many-Shot Paradox: когда больше примеров = хуже результат

КЛЮЧЕВАЯ СУТЬ
100 примеров в промпте дают худший результат чем 10 — это не баг, а паттерн поведения LLM на сложных задачах. Метод позволяет держать качество на пике без деградации при использовании few-shot промптинга. Фишка: при 5-25 примерах модель схватывает суть задачи, при 125+ начинает копировать поверхностные паттерны. Пик точности 61-62% при 5-25 примерах, падение до 54-58% при 125-625 примерах — проверено на 90 тысячах тестов перевода кода.
Адаптировать под запрос

TL;DR

Many-Shot Paradox — явление когда LLM показывает лучший результат при 5-25 примерах в промпте, а при увеличении до сотен примеров качество падает. Исследователи проверили это на переводе кода (90,000 тестов, модели Gemini), но принцип универсален для любых задач требующих точности.

Интуиция говорит: чем больше примеров даёшь модели, тем лучше она понимает задачу. Но для сложных задач это не так. При 5-25 примерах модель схватывает суть и даёт точные ответы. При 125-625 примерах начинает копировать поверхностные паттерны из примеров, игнорируя глубокую логику задачи. В переводе кода это выражается так: текст выглядит похоже на код (статические метрики растут), но не компилируется и не работает (функциональность падает на 5-10%).

Механика: модель с большим количеством примеров учится имитировать форму, а не воспроизводить суть. Слишком много контекста = слишком много шума и противоречащих сигналов. Модель теряет фокус на главном — правильности и точности.


📌

Схема парадокса

ZERO-SHOT (0 примеров)
→ Базовый уровень: ~54-57% успеха

FEW-SHOT (5-25 примеров) 
→ ПИК производительности: ~61-62% успеха
→ Модель схватывает суть задачи

MANY-SHOT (125-625 примеров)
→ ДЕГРАДАЦИЯ: возврат к ~54-58% успеха
→ Модель копирует поверхностные паттерны
→ Растут функциональные ошибки

Критическая точка: после 25 примеров каждые дополнительные 100 примеров снижают точность на 1-3%, хотя текст может выглядеть лучше.


🚀

Пример применения

Задача: Ты маркетолог в российском e-commerce. Пишешь карточки товаров в стиле Ozon — продающие, с эмоцией, но точные по характеристикам. Нужно описать новую коллекцию зимних курток (50 моделей).

⚠️ НЕ делай так: Скопируй 100 готовых описаний из каталога → "Вот примеры, теперь опиши новые куртки в том же стиле"

Делай так:

Промпт:

Ты копирайтер для карточек Ozon. Вот 8 примеров описаний зимних курток из нашего каталога, которые хорошо продаются:

[Пример 1: Пуховик Alaska — акцент на морозостойкость]
Выдержит сибирские -40°C без шуток. Пух 90/10, ветрозащита, удлинённый крой — ты в тепле, даже если забыл шапку дома...

[Пример 2: Парка Urban — акцент на стиль + практичность]
Смотрится как миллион, стоит как... ну, явно дешевле. Мембрана 10K, съёмный мех, карманы под пауэрбанк...

[Примеры 3-8 с разными УТП: лёгкость, компактность, долговечность, etc.]

---

Теперь опиши новую модель:
- Название: Аляска Люкс
- Особенности: гусиный пух 95/5, водонепроницаемость 15K, карбоновые вставки на локтях, -50°C
- Целевая аудитория: мужчины 30-45, активный образ жизни, готовы платить за качество

Сохрани стиль Ozon (эмоция + точность), но адаптируй под характеристики этой модели.

Результат: Модель выдаст описание которое сохранит ДНК стиля (эмоциональность, конкретные цифры, разговорные обороты), но точно отразит УТП новой модели. Если дать 100 примеров — модель начнёт микшировать фразы из разных карточек механически, потеряет фокус на уникальности товара.


🧠

Почему это работает

Слабость LLM: Модель не "понимает" задачу — она ищет паттерны в примерах. При 5-25 примерах паттерн чёткий и концентрированный. При 100+ примерах паттерны конфликтуют — одни примеры говорят "пиши коротко", другие "пиши длинно", третьи "будь серьёзным", четвёртые "будь эмоциональным".

Сильная сторона LLM: Модель отлично обобщает из небольшого набора качественных примеров. 5-8 примеров достаточно чтобы извлечь суть стиля, тона, структуры. Это как объяснить задачу человеку — достаточно 3-5 хороших примеров, а не 100 посредственных.

Механика парадокса: Много примеров = поверхностное копирование вместо глубокого понимания. Модель начинает имитировать форму (длину предложений, частоту слов, синтаксис), но теряет суть (логику, правильность, уникальность). В результате: текст выглядит правдоподобно, но работает плохо.

Рычаги управления:

  • Количество примеров (5-25 оптимум) → меньше = экономия токенов, но может не схватить стиль; больше = шум и деградация
  • Качество примеров → выбирай разнообразные, но все в рамках одного паттерна (разные УТП, но одинаковый тон)
  • Явная инструкция ("сохрани стиль, но адаптируй под новый контекст") → помогает модели не копировать слепо

📋

Шаблон промпта

Ты {роль}. Вот {5-25} примеров {типа контента}, которые работают хорошо:

[Пример 1: {контекст}]
{текст примера}

[Пример 2: {другой контекст}]
{текст примера}

...

[Пример {N}: {ещё один контекст}]
{текст примера}

---

Теперь создай {тип контента} для нового контекста:
- {ключевая информация 1}
- {ключевая информация 2}
- {ключевая информация 3}

Сохрани {что важно сохранить из примеров}, но адаптируй под {новый контекст}.

Как заполнять:

  • {роль} — кто ты для модели (копирайтер, аналитик, переводчик)
  • {5-25} — держи в диапазоне 5-25 примеров, не больше
  • {тип контента} — что создаёшь (описание товара, письмо клиенту, анализ данных)
  • {контекст} для каждого примера — покажи разнообразие сценариев
  • {что важно сохранить} — явно укажи что модель должна взять из примеров (стиль, структуру, тон)

🚀 Быстрый старт — вставь в чат:

Вот шаблон Few-Shot оптимального размера. Адаптируй под мою задачу: {твоя задача}. 
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит какие примеры у тебя есть, какой результат нужен, какой стиль сохранить — потому что ей нужно понять что извлекать из примеров и как применять к новому контексту. Она возьмёт структуру промпта и соберёт рабочий вариант под твою задачу.


⚠️

Ограничения

⚠️ Простые задачи: Для очевидных задач (перевод слова, столица страны) даже 5 примеров — лишнее. Zero-shot работает отлично.

⚠️ Слишком разные примеры: Если твои 10 примеров в разных стилях/тонах/форматах — модель запутается. Лучше 5 примеров в едином стиле, чем 20 разношёрстных.

⚠️ Субъективные критерии: Если задача про "креативность" или "оригинальность" — примеры могут ограничить фантазию модели. Для креатива лучше zero-shot или 2-3 примера "для вдохновения".

⚠️ Токены и деньги: 625 примеров = в 20-30 раз дороже чем 25 примеров. Если результат хуже, а цена выше — это просто невыгодно.


🔍

Как исследовали

Команда взяла 90,000 переводов кода между 6 языками программирования (C, C++, C#, Java, Go, Python) и прогнала через 3 модели Gemini с разным количеством примеров: 0 (zero-shot), 5, 25, 125, 625. Главная фишка — они мерили не только "похожесть текста" (BLEU, CodeBLEU), но и функциональную корректность: компилируется ли код, запускается ли, даёт ли правильный результат.

И вот что выяснилось: статические метрики (похожесть текста) росли или оставались стабильными при увеличении примеров, но функциональность падала. При 25 примерах 61.8% кода компилировался успешно, при 625 примерах — только 56-58%, почти как в zero-shot. Больше того, с ростом примеров выросли функциональные и runtime ошибки — код выглядел правильно, но работал неправильно.

Почему так? Модель с 625 примерами научилась копировать синтаксические паттерны (структуру кода, ключевые слова), но потеряла семантическое понимание (логику, правильность работы). Это как школьник который заучил 100 примеров решений задач наизусть, но не понял принцип — на новой задаче применит не ту формулу.

Экономика вопроса: Промпт с 625 примерами стоил в 21 раз дороже чем с 25 примерами (по токенам), но давал хуже результат. Это не просто академический парадокс — это конкретная потеря денег и качества.

Робастность находки: Парадокс проявился во всех 30 языковых парах, включая лёгкие (Java → C#) и сложные (Python → Go). Независимо от сложности перевода, пик всегда был в зоне 5-25 примеров.


🔗

Ресурсы

When Many-Shot Prompting Fails: An Empirical Study of LLM Code Translation — Amirkia Rafiei Oskooei, Kaan Baturalp Cosdan, Husamettin Isiktas, Mehmet S. Aktas (Yildiz Technical University, Intellica Business Intelligence, 2025)


📋 Дайджест исследования

Ключевая суть

100 примеров в промпте дают худший результат чем 10 — это не баг, а паттерн поведения LLM на сложных задачах. Метод позволяет держать качество на пике без деградации при использовании few-shot промптинга. Фишка: при 5-25 примерах модель схватывает суть задачи, при 125+ начинает копировать поверхностные паттерны. Пик точности 61-62% при 5-25 примерах, падение до 54-58% при 125-625 примерах — проверено на 90 тысячах тестов перевода кода.

Принцип работы

Не суй в промпт все примеры которые нашёл — отбери 5-25 самых показательных. Слишком много контекста = слишком много шума. Модель начинает имитировать форму (длину предложений, синтаксис, частоту слов), но теряет суть — логику и правильность. Критическая точка: после 25 примеров каждые дополнительные 100 примеров снижают точность на 1-3%, хотя текст может выглядеть убедительнее.

Почему работает

Модель не понимает задачу — она ищет паттерны в примерах. При 5-25 примерах паттерн чёткий и концентрированный. При 100+ примерах паттерны конфликтуют: одни говорят "пиши коротко", другие "пиши длинно", третьи "будь серьёзным", четвёртые "будь эмоциональным". Модель теряет фокус на главном — правильности — и начинает микшировать поверхностные признаки. В переводе кода: текст похож на код (статические метрики растут), но не компилируется и не работает (функциональность падает на 5-10%).

Когда применять

Для задач требующих точности и следования логике → перевод кода, генерация структурированных текстов (карточки товаров, письма по шаблону, технические документы), особенно когда есть соблазн показать модели "весь архив примеров разом". НЕ подходит для креативных задач где нужна оригинальность — там примеры наоборот ограничивают фантазию модели.

Мини-рецепт

1. Отбери 5-25 примеров: Не все подряд, а самые показательные — разные сценарии, но единый стиль/тон/структура
2. Покажи разнообразие контекста: Каждый пример должен демонстрировать один аспект задачи (разные характеристики товара, разные типы писем)
3. Добавь явную инструкцию: Сохрани [что важно из примеров], но адаптируй под [новый контекст] — это помогает модели не копировать слепо
4. Проверь на деградацию: Если результат плывёт — сократи примеры до 10, потом до 5, найди минимум при котором качество держится

Примеры

[ПЛОХО] : Вот 150 готовых карточек товаров из каталога Ozon. Опиши новую коллекцию курток в том же стиле
[ХОРОШО] : Вот 8 карточек зимних курток которые хорошо продаются: [Пример 1: акцент на морозостойкость -40°C] [Пример 2: акцент на стиль + практичность] ... [Пример 8: акцент на компактность] Теперь опиши модель "Аляска Люкс": гусиный пух 95/5, -50°C, карбон на локтях. Сохрани стиль Ozon (эмоция + точность), но адаптируй под характеристики этой модели
Источник: When Many-Shot Prompting Fails: An Empirical Study of LLM Code Translation
ArXiv ID: 2510.16809 | Сгенерировано: 2026-01-11 23:23

Проблемы LLM

ПроблемаСутьКак обойти
Много примеров в промпте снижают качество после порогаДаёшь модели 5-25 примеров — результат отличный. Увеличиваешь до 100-600 примеров — качество падает на 5-10%. Модель начинает копировать поверхностные паттерны (длину фраз, частые слова, синтаксис), но теряет глубокую логику. Результат выглядит правдоподобно, но работает неправильно. Проблема универсальна: перевод кода, написание текстов, анализ данных — везде где нужна точностьДержи 5-25 примеров. Не больше. Выбирай разнообразные примеры, но в рамках одного паттерна (разные сценарии, но единый стиль). Добавь явную инструкцию: "сохрани стиль из примеров, но адаптируй под новый контекст" — это помогает модели не копировать слепо

Методы

МетодСуть
Диапазон 5-25 примеров для сложных задачДля задач требующих точности (не просто "переведи слово") давай 5-25 примеров в промпте. Меньше 5 — модель может не схватить стиль. Больше 25 — начинается деградация: модель имитирует форму вместо сути. Шаблон: Ты {роль}. Вот {5-25} примеров {типа контента}: [Пример 1], [Пример 2]... Теперь создай для нового контекста: {параметры}. Сохрани {что важно}, но адаптируй под {новое}. Почему работает: Модель ищет паттерны. Малое количество качественных примеров даёт чёткий паттерн без шума. Много примеров создают конфликтующие сигналы — модель теряет фокус. Когда применять: сложные задачи с чёткими критериями правильности (стиль + точность, формат + логика). Когда нет: простые задачи (zero-shot достаточно), креативные задачи (примеры ограничивают фантазию)

Тезисы

ТезисКомментарий
Слишком много примеров создают конфликтующие паттерныМодель не "понимает" задачу — она ищет паттерны в примерах. При 5-25 примерах паттерн чёткий. При 100+ примерах паттерны конфликтуют: одни примеры говорят "пиши коротко", другие "пиши длинно", третьи "будь серьёзным", четвёртые "будь эмоциональным". Модель начинает копировать поверхностные признаки (структуру предложений, частоту слов) вместо глубокой логики. Результат выглядит похоже на нужное, но функционально ломается. Применяй: Если добавил 20+ примеров и результат стал хуже — убери половину. Оставь 5-10 самых качественных и разнообразных
Модель лучше обобщает из малого набора качественных примеров5-8 качественных примеров достаточно чтобы модель извлекла суть стиля, тона, структуры. Это как объяснить задачу человеку — нужно 3-5 хороших примеров, а не 100 посредственных. Малое количество заставляет модель искать общий принцип, а не копировать детали. Большое количество провоцирует механическое микширование фраз из разных примеров. Применяй: Вместо "дам все 50 примеров что есть" выбери 8 лучших — с разными сценариями, но единым стилем. Модель схватит суть без шума
📖 Простыми словами

Many-Shot Paradox: когда больше примеров = хуже результат

arXiv: 2510.16809

Суть в том, что у нейросетей есть свой «предел насыщения», который исследователи назвали Many-Shot Paradox. Мы привыкли думать, что чем больше примеров дашь модели, тем умнее она станет, но на деле все работает иначе. Когда ты закидываешь в промпт сотни примеров, модель не обучается лучше, она просто теряет фокус. Вместо того чтобы уловить суть задачи, она начинает тонуть в информационном шуме, где разные примеры противоречат друг другу, и в итоге выдает результат хуже, чем если бы ты дал ей всего десяток образцов.

Это как пытаться научить человека готовить борщ, показывая ему одновременно пятьсот разных рецептов от пятисот разных бабушек. Вроде бы все про одно и то же, но у одной свекла тертая, у другой резаная, а третья вообще добавляет фасоль. В голове у бедного повара случается когнитивный перегруз, и на выходе получается не кулинарный шедевр, а несъедобное месиво. Модель в этом плане ничем не отличается: при 5–25 примерах она видит четкий паттерн, а при 100+ начинает метаться между вариантами и в итоге лажает на ровном месте.

В исследовании это гоняли на переводе кода через модели Gemini, проведя безумные 90 000 тестов. Выяснилось, что существует «золотая середина»: от 5 до 25 примеров — это пик продуктивности. Как только ты переваливаешь за эту цифру, точность начинает катиться вниз. Модель перестает понимать, на что именно ей ориентироваться, и начинает выдумывать свои правила или просто копировать случайные куски из контекста, которые к делу вообще не относятся.

Хотя тестировали это на коде, принцип универсален для любой работы с контентом. Будь то написание карточек товаров для маркетплейсов, создание рекламных креативов или юридических документов — правило избыточности работает везде одинаково. Если ты заставишь нейронку прочитать всю историю своих постов в соцсетях, чтобы она «поймала твой стиль», она скорее выдаст невнятную кашу, чем живой текст. Ей нужно дать несколько идеальных попаданий, а не сваливать в кучу весь архив за пять лет.

Главный вывод простой: больше — не значит лучше. Если твоя задача требует ювелирной точности, не пытайся задавить модель массой примеров, иначе получишь эффект испорченного телефона. Ограничься парой десятков самых качественных образцов, которые идеально отражают нужный результат. В мире LLM лаконичность бьет объем, и если ты этого не поймешь, то будешь бесконечно переделывать промпты, гадая, почему нейросеть внезапно начала тупить на элементарных вещах.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с