TL;DR
Исследование показывает, что модель выбирает ответ не только по смыслу, но и по месту, где он лежит: под буквой «B», в начале или в середине длинного списка документов. Лучше всего с этим справляются три вещи: модель покрупнее, фраза «Let's think step by step» (давай подумаем по шагам) и режим рассуждений (thinking mode). Он заставляет модель сначала написать длинную цепочку мыслей и только потом ответить.
Боль знакома тем, кто просит выбрать из вариантов или кормит модель пачкой документов. Один и тот же вопрос, где правильный ответ просто переехал с места «A» на место «B», даёт разный результат. У маленькой модели разброс достигал десятков процентных пунктов. Причина в том, что при быстром ответе «с ходу» модель опирается на привычки в порядке текста, а не на содержание. На не-английских языках смещение остаётся сильным даже у больших моделей.
Метод простой. Перед ответом даём модели «пространство для рассуждения»: одна фраза в промпте или включённый режим рассуждений. Тогда ответ строится на разборе вариантов, а не на позиции. Для проверки своих промптов можно вручную прогнать один вопрос несколько раз, каждый раз меняя порядок вариантов.
Схема метода
ШАГ 1: Добавить в промпт «Давай подумаем по шагам» (или включить thinking-режим) → модель сначала рассуждает, потом отвечает
ШАГ 2 (проверка): Прогнать тот же вопрос, сдвигая варианты по кругу (A→B→C→D) → сравнить ответы
ШАГ 3: Если ответ «ездит» за позицией → взять модель крупнее / включить рассуждения / проверить на своём языке
Шаг 1 делается в одном промпте. Шаг 2 требует нескольких отдельных запросов.
Пример применения
Задача: Руководитель поддержки маркетплейса разбирает возвраты. Модель должна отнести обращение к одной из четырёх причин. Менеджер боится, что она «любит» вариант A.
Промпт:
Ты разбираешь обращения покупателей маркетплейса. Определи основную причину возврата.
Обращение: «Заказал куртку на WB, пришла на два размера меньше, чем в таблице. На бирке L, а по факту сидит как S. Отправляю назад, деньги верните».
Варианты:
(A) Брак товара
(B) Несоответствие размерной сетки
(C) Проблема с доставкой
(D) Передумал, не понравился товар
Давай подумаем по шагам: сначала коротко разбери, что подходит и что не подходит в каждом варианте, и только потом назови одну букву.
Формат последней строки: «Ответ: X».
Проверка на устойчивость: повтори запрос ещё 3 раза, каждый раз сдвигая список. Верный вариант (B) будет стоять на месте A, потом D, потом C. Метки перепиши заново.
Результат: Модель сначала разберёт каждый вариант по очереди, затем выдаст строку «Ответ: X». Если рассуждение работает, при всех четырёх порядках модель выберет один и тот же вариант по смыслу. Если ответ меняется вместе с порядком, это сигнал: модель слишком маленькая, тема не-английская или нужен режим рассуждений.
Почему это работает
Слабость. Когда модель отвечает «в лоб» одной буквой, у неё нет места для разбора. Она подхватывает привычки из обучения: например, чаще выбирать определённую позицию. Поэтому при быстром ответе смещение к порядку проявляется сильнее всего.
Сильная сторона. Современные модели хорошо рассуждают, если дать им это сделать. Когда они пишут разбор по каждому варианту, ответ опирается на написанные рассуждения, а не на позицию.
Как метод это использует. Фраза «по шагам» или thinking-режим заставляет сначала произвести текст-разбор. Решение принимается уже на нём. В исследовании у крупных моделей разброс при этом падал до 1–3 пунктов.
Рычаги управления: - Размер модели. Больше модель, меньше смещение. Для критичных выборов не берите самую маленькую. - Фраза про шаги. Дёшево и работает почти везде. Это первое, что стоит добавить. - Режим рассуждений. Ещё надёжнее, но дороже и медленнее. Для простых вопросов может быть лишним: у DeepSeek-V4 в этом режиме точность даже упала («передумывание»). - Примеры в промпте (few-shot). У малых и средних моделей примеры, где правильные ответы разложены по буквам поровну, усилили смещение. Не считайте, что примеры «выравнивают» ответы. - Язык. На арабском, японском, китайском и испанском смещение сильнее. Для неанглийских задач проверяйте отдельно.
Шаблон промпта
{описание_задачи}
{вопрос_или_материал}
Варианты:
(A) {вариант_1}
(B) {вариант_2}
(C) {вариант_3}
(D) {вариант_4}
Давай подумаем по шагам: сначала коротко разбери каждый вариант (что в нём подходит и что нет), и только потом выбери один.
Последняя строка ответа: «Ответ: X».
Что подставлять: {описание_задачи} — роль и цель одной фразой; {вопрос_или_материал} — обращение, текст, кейс; варианты — ваши категории или кандидаты.
Шаблон проверки порядка (для вашего промпта):
Вот мой промпт для выбора из вариантов: {промпт}
Перемешай варианты четырьмя разными способами так, чтобы правильный ответ {правильный_вариант} побывал на каждой из позиций A, B, C, D. Метки перепиши заново. Выведи четыре готовых версии промпта.
Эти четыре версии отправь в четыре отдельных чата. Если ответы по смыслу совпадают, промпт устойчив.
Ограничения
⚠️ Русский язык не проверяли: в исследовании английский, китайский, арабский, испанский и японский. Для русского вывод «перенесётся» остаётся догадкой, поэтому проверяйте на своих данных.
⚠️ Полностью смещение не исчезает: у большинства обычных (без режима рассуждений) моделей разброс остаётся в пределах нескольких пунктов, а в не-английских языках встречаются провалы. Например, Qwen3-32B на арабском и GPT-5.2 на китайском даже с «по шагам».
⚠️ Thinking-режим дорог: он тратит больше токенов и времени, а на простых вопросах может ухудшить точность из-за «передумывания».
⚠️ Только выбор вариантов и поиск ответа в документах: сравнение двух текстов, оценку «что лучше» и свободные ответы авторы не тестировали. Перенос на LLM-судью — догадка.
⚠️ Примеры не лечат: пять примеров с равномерно разложенными буквами у части моделей ухудшили положение. Универсальной пользы от few-shot нет.
⚠️ Тесты искусственные: правильный ответ принудительно ставили на нужную позицию, температура 0. Реальные промпты менее чистые.
Как исследовали
Исследователи взяли 8 моделей от крошечной Qwen3-1.7B до DeepSeek-V4 на 1,6 трлн параметров и GPT-5.2. Модели проверяли в двух сценариях. В первом (вопросы MMLU, около 56 тысяч примеров) правильный ответ принудительно ставили на позицию A, B, C или D и смотрели, как меняется точность. Во втором (поиск ответа среди 20 документов, правильный документ на позициях 0, 4, 9, 14, 19) проверяли эффект «потерянного в середине». Языков было пять: английский, китайский, арабский, испанский, японский.
Главная метрика ∆ — разница между лучшей и худшей позицией. Чем она меньше, тем устойчивее модель. Модели проверяли в четырёх режимах: ответ сразу, ответ с 5 примерами, «по шагам» и «по шагам» с 5 примерами.
Вывод следует из сравнения. У Qwen3-1.7B ∆ в режиме «сразу» была 15 пунктов, а с примерами доходила до 57. Простая фраза «по шагам» сводила её к 5. У Qwen3-235B она падала с 12 до 2,7, а у DeepSeek-V4 с 8 до 1,5.
Удивило три вещи: - примеры в промпте иногда усиливали смещение, потому что их ответы сами были распределены по буквам неравномерно; - пять примеров с рассуждением не улучшили общую точность: современные модели рассуждают и без них; - DeepSeek-V4 в режиме рассуждений оказалась менее точной, чем без него.
Для практики это значит: сначала проверяйте базовые вещи (размер модели, фраза «по шагам»), а не усложняйте промпт.
Адаптации и экстраполяции
🔧 Техника: разные позиции → тест на устойчивость
Не вносите в рабочий промпт никаких изменений, только перемешайте варианты. Один и тот же кейс, четыре порядка. Если выбор меняется, значит, он держался на позиции, а не на смысле. Это то, что исследователи делали с моделями, а вы делаете с одним промптом.
Экстраполяция (в статье этого нет, это применение принципа):
Ты оцениваешь {число} кандидатов по критериям {критерии}.
Кандидаты:
{список}
Давай подумаем по шагам. Сначала оцени каждого кандидата отдельно по каждому критерию, не сравнивая с остальными. Потом свяжи оценки и выбери лучшего. Порядок кандидатов в списке случайный и не должен влиять на выбор.
Здесь принцип «сначала рассуждение по каждому, потом выбор» применён к оценке списка кандидатов. Эффект на таком сценарии авторы не измеряли.
Ресурсы
- On the Position Bias of Large Language Models: A Comprehensive Study — Yining Li (Jilin University), Huayang Li, Lemao Liu, Taro Watanabe (Nara Institute of Science and Technology / Fudan University).
- Наборы данных: MMLU, MMMLU (OpenAI), MLQA, Lost in the Middle (Liu et al., 2024).
- Связанные работы: Lost in the Middle (Liu et al., 2024), Chain-of-Thought (Wei et al., 2022), OptimalThinkingBench (Aggarwal et al., 2025).
