3,583 papers
arXiv:2511.09700 78 12 нояб. 2025 г. FREE

Order Matters: порядок примеров в few-shot промптах влияет на результат не меньше, чем их выбор

КЛЮЧЕВАЯ СУТЬ
Парадокс: Одни и те же примеры в few-shot промпте дают разброс точности от 45% до 67% — просто потому что переставил их местами. Метод позволяет выжать максимум из твоих примеров — не добавляя новые, просто меняя порядок. Фишка: LLM взвешивает примеры по-разному в зависимости от позиции — первый и последний доминируют над средними. Протестируй 8-16 перестановок на 5-10 запросах — получишь +2-5% точности бесплатно.
Адаптировать под запрос

TL;DR

Исследование показывает, что перестановка одних и тех же примеров в few-shot промпте даёт разброс точности, сопоставимый с заменой примеров на другие. Раньше считалось, что главное — выбрать хорошие примеры, а их порядок вторичен. Оказалось — нет: порядок влияет почти так же сильно.

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

Решение: тестировать несколько перестановок примеров на небольшом dev-сете (250+ примеров достаточно) и выбирать лучшую. 64-128 случайных перестановок достаточно, чтобы найти порядок, близкий к оптимальному. Важно: хороший порядок для одной задачи не переносится на другую — нужно тестировать заново для каждой новой задачи.


🔬

Схема метода

ШАГ 1: Подготовь несколько вариантов порядка примеров (8-16 перестановок для начала)
ШАГ 2: Протестируй каждую перестановку на 5-10 тестовых запросах
ШАГ 3: Выбери порядок с лучшими результатами → используй его для основной работы

Всё делается в одном чате, без кода. Просто копируешь промпт с разным порядком примеров и сравниваешь результаты.


🚀

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

Задача: Ты настраиваешь few-shot промпт для классификации отзывов клиентов на «жалоба», «вопрос», «благодарность» для службы поддержки.

Промпт (вариант 1 — порядок А):

Классифицируй отзыв клиента. Категории: жалоба, вопрос, благодарность.

Примеры:
"Спасибо, всё пришло вовремя!" → благодарность
"Когда будет доставка?" → вопрос  
"Товар сломан, требую возврат" → жалоба

Отзыв: "Почему так долго ждать ответа?"
Категория:

Промпт (вариант 2 — порядок Б):

Классифицируй отзыв клиента. Категории: жалоба, вопрос, благодарность.

Примеры:
"Товар сломан, требую возврат" → жалоба
"Спасибо, всё пришло вовремя!" → благодарность
"Когда будет доставка?" → вопрос

Отзыв: "Почему так долго ждать ответа?"
Категория:

Результат: Ты получишь разные ответы или разную уверенность модели в зависимости от порядка. Протестируй оба варианта на 5-10 реальных отзывах. Тот порядок, который даёт больше правильных классификаций — используй для всех остальных запросов.


🧠

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

LLM обрабатывает контекст не равномерно. Позиция примера в промпте влияет на его «вес» — примеры в начале и конце часто доминируют над средними. Это особенность архитектуры трансформеров: механизм внимания по-разному распределяет фокус по позициям.

Из-за этого один и тот же набор примеров может работать отлично или плохо — в зависимости от того, какой пример оказался «в фокусе». Исследование показало: разброс точности от перестановки примеров составляет ~2% в среднем — и это сопоставимо с разбросом от замены примеров на совсем другие.

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

  • Количество перестановок: 8-16 для быстрого теста, 64-128 для тщательного поиска
  • Размер dev-сета: 250+ примеров достаточно, больше 1000 — уже overkill
  • Тип задачи: для классификации эффект сильнее (~1.09x), для генерации слабее (~1.46x selection/ordering ratio)

📋

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

Универсального шаблона нет — метод применяется к твоим существующим few-shot промптам. Алгоритм:

1. Возьми свой few-shot промпт с N примерами
2. Создай 8-16 версий с разным порядком примеров
3. Протестируй каждую версию на 5-10 запросах из твоей реальной задачи
4. Выбери порядок с лучшими результатами
5. Используй этот порядок для всех остальных запросов

Быстрый способ создать перестановки:

Вот мой few-shot промпт:
[вставить промпт]

Создай 8 версий этого промпта с разным порядком примеров. 
Сохрани все примеры, меняй только их последовательность.

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

У меня есть few-shot промпт с примерами. Помоги найти лучший порядок примеров:

1. Сгенерируй 8 перестановок порядка примеров
2. Я протестирую каждую на своих данных
3. Помоги проанализировать результаты

Мой промпт:
[вставить свой few-shot промпт]

LLM создаст варианты перестановок. Ты тестируешь их на реальных задачах и выбираешь лучший.


⚠️

Ограничения

⚠️ Не переносится между задачами: Хороший порядок для классификации отзывов не сработает для классификации резюме. Каждая новая задача — новый поиск порядка.

⚠️ Эффект слабее для генеративных задач: В задачах типа «напиши текст» или «реши задачу» порядок влияет меньше, чем в классификации.

⚠️ Требует тестовых данных: Чтобы найти хороший порядок, нужно на чём-то тестировать. Если у тебя нет 5-10 примеров с известными правильными ответами — метод не применим.

⚠️ Время на тестирование: 8-16 перестановок × 5-10 тестов = 40-160 запросов. Для одноразовой задачи — overkill. Для постоянного use case (классификация сотен отзывов) — окупается.


🔍

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

Команда из UC San Diego провела контролируемый эксперимент: фиксировали либо набор примеров (и меняли порядок), либо порядок (и меняли примеры). Это позволило изолировать эффект каждого фактора.

Тестировали на 13 моделях от 0.5B до 27B параметров (Qwen2.5, Gemma, Llama 3, DeepSeek) плюс GPT-5 Nano. Задачи: 5 датасетов классификации (AG News, DBPedia, MMLU, NYT-Topics, NYT-Locations) и 3 генеративных (GSM8K, MATH, MMLU-Pro).

Ключевая метрика — grouped standard deviation: разброс точности при изменении порядка vs разброс при изменении примеров. Результат: среднее отклонение от порядка — 0.0197, от выбора примеров — 0.0225. Разница всего 14%.

Неожиданный результат: GPT-5 Nano оказался самым чувствительным к порядку среди всех моделей (ratio 0.85 — порядок важнее выбора). Обычно ожидали бы, что большие модели стабильнее.

Попытка перенести «хороший» порядок с GSM8K на MATH дала точность на уровне случайного порядка (transfer ratio ~0.8). Это означает: оптимизировать порядок нужно для каждой задачи отдельно.


🔗

Ресурсы

Order Matters: Rethinking Prompt Construction in In-Context Learning

Warren Li, Yiqian Wang, Zihan Wang, Jingbo Shang — UC San Diego, Cushing Academy

Ключевые отсылки из статьи:

  • Zhao et al. (2021) — первая работа о чувствительности к порядку в GPT-3
  • Lu et al. (2022) — показали, что плохой порядок может снизить точность до случайного уровня
  • Min et al. (2022), Rubin et al. (2022) — фокус на выборе примеров (эта работа оспаривает их приоритет)

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

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

Парадокс: Одни и те же примеры в few-shot промпте дают разброс точности от 45% до 67% — просто потому что переставил их местами. Метод позволяет выжать максимум из твоих примеров — не добавляя новые, просто меняя порядок. Фишка: LLM взвешивает примеры по-разному в зависимости от позиции — первый и последний доминируют над средними. Протестируй 8-16 перестановок на 5-10 запросах — получишь +2-5% точности бесплатно.

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

Не «какие примеры выбрать» — а «в каком порядке показать». Раньше думали: главное хорошие примеры, порядок вторичен. На деле: перестановка влияет почти так же сильно, как замена примеров на другие. Разброс точности от порядка ~2% в среднем — это сопоставимо с разбросом от выбора совсем других примеров.

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

Трансформеры распределяют внимание неравномерно по позициям. Пример в начале или конце промпта может перетянуть одеяло — модель фокусируется на нём сильнее, чем на средних. Один и тот же пример даёт разный эффект в зависимости от того, где стоит. Исследование на 9 датасетах: разброс точности от перестановки составил ~2% в среднем — от почти случайной до близкой к оптимальной.

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

Few-shot классификация → конкретно для постоянных use case (фильтрация отзывов, классификация заявок, категоризация запросов в поддержке), особенно когда у тебя есть 5-10 тестовых примеров с известными ответами. НЕ подходит: для генеративных задач эффект слабее (в 1.3 раза vs классификация), для одноразовых запросов (40-160 тестовых запросов — overkill).

Мини-рецепт

1. Возьми свой few-shot промпт: Тот что уже используешь с N примерами
2. Создай 8-16 версий: Один и тот же набор примеров, разный порядок (попроси LLM: Сгенерируй 10 перестановок порядка этих примеров)
3. Протестируй на 5-10 реальных запросах: Запусти каждую версию, засчитай правильные ответы
4. Выбери победителя: Порядок с максимальной точностью — используй для всех остальных запросов

Примеры

[ПЛОХО] : Классифицируй отзыв: "Доставка задержалась на неделю" → ? (Примеры: благодарность, вопрос, жалоба в случайном порядке)
[ХОРОШО] : Классифицируй отзыв. Создал два варианта — порядок А: жалоба→благодарность→вопрос VS порядок Б: вопрос→жалоба→благодарность. Протестировал оба на 10 отзывах — А дал 9/10 правильных, Б только 6/10. Дальше использую только порядок А для всех отзывов.
Источник: Order Matters: Rethinking Prompt Construction in In-Context Learning
ArXiv ID: 2511.09700 | Сгенерировано: 2026-01-11 20:11

Методы

МетодСуть
Оптимизация порядка примеров в few-shotВозьми свой few-shot промпт. Создай 8-16 версий с разным порядком примеров (сами примеры не меняй). Протестируй каждую версию на 5-10 реальных запросах. Выбери порядок с лучшими результатами. Почему работает: Модель неравномерно взвешивает примеры. Позиция влияет на "вес" — примеры в начале/конце доминируют над средними. Один набор примеров даёт разную точность в зависимости от порядка. Разброс ~2% — сопоставимо с заменой примеров на другие. Когда применять: У тебя постоянная задача с few-shot (классификация писем, разметка данных). Есть 5-10 примеров с известными правильными ответами для теста. Когда не работает: Одноразовая задача (тестирование дороже выигрыша). Нет данных для проверки результата. Генеративная задача без чёткого критерия правильности

Тезисы

ТезисКомментарий
Порядок примеров влияет на результат так же сильно, как выбор примеровВ few-shot промптах ты даёшь модели примеры: "вот задача вот решение". Раньше считалось: главное — выбрать хорошие примеры, порядок вторичен. Оказалось нет. Один набор примеров в разном порядке даёт разброс точности ~2% — столько же, сколько при замене примеров на другие. Механика: Позиция примера в промпте влияет на его "вес" в механизме внимания. Примеры в начале и конце получают больше фокуса, средние — меньше. Применяй: Не останавливайся на выборе примеров. Протестируй 3-5 разных порядков на реальных задачах. Выбери лучший
📖 Простыми словами

Order Matters: порядок примеров в few-shot промптах влияет на результат не меньше, чем их выбор

arXiv: 2511.09700

Языковые модели — это не калькуляторы, а капризные отличники, у которых результат зависит от того, с какой ноги они встали. Фундаментальный облом в том, что порядок примеров в промпте влияет на точность так же сильно, как и сами примеры. Ты можешь подобрать идеальные кейсы для обучения, но если расставишь их «не в том» порядке, модель начнет лажать. Это происходит из-за кривой работы механизма внимания: нейронка не видит весь текст целиком как единую картину, она по-разному «взвешивает» информацию в зависимости от её места в очереди.

Это как если бы ты пришел в ресторан, и официант сначала принес десерт, потом суп, а в конце — салат. Формально меню отличное, продукты свежие, но общее впечатление — полная херня, и ты уходишь голодным. Модель точно так же путается в приоритетах: примеры в самом начале и в самом конце промпта доминируют над серединой, создавая перекос в логике, который ты даже не планировал.

Чтобы не слить бюджет на тупые ответы, нужно внедрять тестирование перестановок. Метод простой: берешь свои 3–5 примеров и тусуешь их как колоду карт, создавая 8–16 вариантов промпта. Прогоняешь каждый на паре тестовых запросов и смотришь, где модель выдает базу, а где начинает нести ахинею. Окажется, что вариант №5 работает на 30% лучше, чем вариант №1, хотя буквы в них абсолютно одинаковые.

Раньше все носились с тем, что именно показать модели, а теперь придется думать, в какой последовательности. Принцип универсален: настраиваешь ли ты классификатор отзывов, пишешь ли скрипт для техподдержки или заставляешь AI кодить — позиционный сдвиг может всё испортить. Это новая реальность промпт-инжиниринга, где структура важнее содержания.

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

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

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

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