3,583 papers
arXiv:2610.22807 77 16 окт. 2026 г. FREE

Позиционное смещение в LLM: «Давай подумаем по шагам» и режим рассуждений выравнивают ответы при любом порядке вариантов

КЛЮЧЕВАЯ СУТЬ
Один и тот же вопрос, правильный ответ просто переехал с буквы A на B, и маленькая модель теряет десятки процентных пунктов. Метод позволяет получать от LLM один и тот же выбор при любом порядке вариантов: в разборе обращений, в тестах, в поиске по пачке документов. Фишка: дай модели место подумать до ответа. Для этого хватит фразы «Давай подумаем по шагам» или режима рассуждений. Решение строится на разборе, а не на позиции. У крупных моделей разброс падает до 1–3 пунктов.
Адаптировать под запрос
⚡

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).

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

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

Один и тот же вопрос, правильный ответ просто переехал с буквы A на B, и маленькая модель теряет десятки процентных пунктов. Метод позволяет получать от LLM один и тот же выбор при любом порядке вариантов: в разборе обращений, в тестах, в поиске по пачке документов. Фишка: дай модели место подумать до ответа. Для этого хватит фразы «Давай подумаем по шагам» или режима рассуждений. Решение строится на разборе, а не на позиции. У крупных моделей разброс падает до 1–3 пунктов.

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

Ответ «с ходу» одной буквой и ответ после разбора — это два разных режима. В первом модель идёт за привычкой. Во втором идёт за смыслом. Сначала модель пишет разбор каждого варианта, и только потом называет одну букву. Это как экзамен: можно ляпнуть первое, что пришло в голову, а можно сначала набросать план на черновике. Три рычага, от дешёвого к дорогому: 1. Фраза про шаги. Добавляется за секунду и работает почти везде. 2. Режим рассуждений (thinking mode). Надёжнее, но дороже и медленнее. 3. Модель покрупнее. Чем больше модель, тем слабее тяга к позиции.

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

Когда модель отвечает одной буквой, ей не на что опереться. Без текста-разбора она берёт привычку из обучения, например чаще выбирать определённое место в списке. Написанный разбор даёт опору, и выбор делается уже по нему. Прикол: примеры в промпте не лечат. Пять примеров с поровну разложенными буквами у малых и средних моделей смещение даже усилили. Выравнивать надо рассуждением, а не примерами. Есть и обратная сторона. У DeepSeek-V4 в режиме рассуждений точность упала, модель «передумала» на простых вопросах. На арабском, японском, китайском и испанском смещение остаётся сильным и у больших моделей.

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

Выбор из вариантов (разбор обращений, тесты, сортировка по категориям) и поиск ответа в пачке документов. Особенно когда модель маленькая, вариантов много или задача не на английском. НЕ подходит как готовое решение для сравнения двух текстов, оценки «что лучше» и свободных ответов: это авторы не тестировали. Русский язык тоже не проверяли, так что прогоните свои данные сами. Для простых вопросов режим рассуждений может быть лишним.

Мини-рецепт

1. Добавь фразу: Давай подумаем по шагам: сначала коротко разбери каждый вариант, и только потом выбери один.
2. Зафиксируй финал: последняя строка ответа всегда Ответ: X. Так буква не потеряется в тексте.
3. Проверь порядок: прогони тот же вопрос 4 раза в отдельных чатах. Каждый раз сдвигай варианты по кругу, чтобы верный побывал на A, B, C и D. Метки перепиши заново.
4. Сравни по смыслу: если выбран один и тот же вариант, промпт устойчив. Если ответ ездит за позицией, иди дальше.
5. Усиль: возьми модель крупнее или включи режим рассуждений. Для неанглийского текста проверь отдельно.
6. Не лечи примерами: не добавляй примеры с ровно разложенными буквами в расчёте на выравнивание. У части моделей стало хуже.

Примеры

[ПЛОХО] : Определи причину возврата. Варианты: A) брак, B) размер не подошёл, C) доставка, D) передумал. Ответь одной буквой.
[ХОРОШО] : Ты разбираешь обращения покупателей маркетплейса. Обращение: «Заказал куртку, пришла на два размера меньше. На бирке L, а сидит как S. Возвращаю, деньги верните». Варианты: (A) Брак товара (B) Несоответствие размерной сетки (C) Проблема с доставкой (D) Передумал, не понравился товар. Давай подумаем по шагам: сначала коротко разбери, что подходит и что не подходит в каждом варианте, и только потом назови одну букву. Последняя строка: «Ответ: X». [ПРОВЕРКА]: Вот мой промпт: {промпт}. Перемешай варианты четырьмя способами так, чтобы правильный ответ {правильный_вариант} побывал на A, B, C и D. Метки перепиши заново. Выведи четыре готовых версии. Отправь их в четыре отдельных чата. Если везде вышло (B) по смыслу, всё в порядке.
Источник: On the Position Bias of Large Language Models: A Comprehensive Study
ArXiv ID: 2610.22807 | Сгенерировано: 2026-10-19 08:50

Проблемы LLM

ПроблемаСутьКак обойти
Модель выбирает вариант по месту в списке, а не по смыслуДаёшь вопрос с вариантами A/B/C/D. Или даёшь пачку документов и просишь найти ответ. Верный вариант просто переехал с одного места на другое. Ответ изменился. Страдают любые задачи выбора: классификация, тесты, поиск ответа в документах. Особенно сильно у маленьких моделей. На не-английских языках смещение заметно и у больших. Русский не проверялиДобавь в запрос «Давай подумаем по шагам: сначала разбери каждый вариант, потом назови одну букву». Для сложных случаев включи режим рассуждений. Для важных выборов бери модель покрупнее. Проверь устойчивость перестановкой (см. метод ниже)

Методы

МетодСуть
Проверка перестановкой — видно, зависит ли ответ от порядкаВозьми один запрос с вариантами. Сделай 4 копии. В каждой сдвинь варианты по кругу, чтобы верный побывал на A, B, C и D. Метки перепиши заново. Отправь каждую копию в отдельный чат. Сравни ответы по смыслу, а не по букве. Почему работает: содержание не меняется, меняется только место. Если ответ «поехал» за местом, модель смотрит на позицию. Когда применять: перед запуском запроса на много обращений, документов или тестов. Можно попросить саму модель сделать перестановки. Когда не работает: варианты упорядочены по смыслу (шкала «плохо — хорошо»), там порядок нельзя менять. Если ответ «ездит»: добавь рассуждение по шагам, возьми модель крупнее или включи режим рассуждений
📖 Простыми словами

On the Position Bias ofLargeLanguageModels: A Comprehensive Study

arXiv: 2610.22807

Твоя умная нейросеть страдает банальным позиционным сдвигом. Если дать ей список вариантов, она часто выбирает ответ не по смыслу, а просто потому, что он стоит первым или лежит аккурат под буквой B. Когда ты требуешь выдать результат сходу, у модели банально нет вычислительного ресурса взвесить факты, и она скатывается в статистическую лень, подхватывая дурные привычки из обучающих данных.

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

Лечится эта фигня тремя конкретными инструментами: тупым переходом на крупные модели (они устойчивее), добавлением фразы «Let's think step by step» и принудительным запуском режима рассуждений. Как только ты заставляешь сетку сначала написать черновик и порассуждать вслух, а не выпаливать вердикт сразу, магия кривого порядка испаряется.

В исследовании гоняли тесты, но грабли бьют везде: от сортировки тикетов в поддержке до ранжирования документов в RAG-системах. Если твой бот раскидывает заявки на возврат по четырем категориям или ищет ответ в длинном файле, порядок пунктов в промпте может тихо исказить всю бизнес-логику, а ты даже не поймешь, в чем косяк.

Короче: завязывай требовать от AI мгновенный ответ в духе «напиши только букву варианта». Дай модели место для размышлений через цепочку мыслей либо рандомизируй выдачу, иначе вместо аналитики ты получишь генератор случайных решений, за который еще и платишь по подписке.

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

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

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