3,583 papers
arXiv:2610.08153 84 6 окт. 2026 г. FREE

No-Valid-Option-Aware Instruction: явное разрешение сказать «ни один вариант не подходит»

КЛЮЧЕВАЯ СУТЬ
Дай модели список вариантов, и она выберет один из них, даже если верного там нет. Вырезали правильный ответ из задач, которые модель решала на отлично, а она всё равно подсунула «наименее неверный». Метод с явным правилом отказа позволяет вытащить из модели честное «среди этого верного нет» вместо уверенной ерунды. Фишка: нужна не просьба «будь осторожен», а прямое условие «верного варианта может не быть, тогда ответь ОТКАЗ (в статье ABSTAIN)». Так у модели появляется второй законный исход, и отказ перестаёт выглядеть нарушением формата.
Адаптировать под запрос
⚡

TL;DR

Если дать модели список вариантов, она почти всегда выберет один из них, даже когда верного среди них нет. Лекарство простое: прямо написать в инструкции, что правильного варианта в списке может не быть, и в этом случае нужно ответить «ОТКАЗ» (в статье ABSTAIN). Это работает заметно лучше, чем общие просьбы «будь осторожен» или «если не уверен, не отвечай». Полностью проблему это не снимает.

Главная неприятность: высокая точность не гарантирует умения отказаться. Модель, которая стабильно решает задачу с верным вариантом в списке, после удаления этого варианта всё равно подсовывает «наименее неверный». Причём это касается даже тех примеров, которые она раньше решала правильно, то есть не только случаев «не знала». Угроза штрафа в промпте («за неверный выбор минус балл») практически ничего не меняет. Меняется поведение от явной формулировки про отсутствие верного варианта.

Метод одношаговый. В инструкцию добавляется правило: «Если ни один из вариантов не верен, ответь ABSTAIN». Дополнительно можно проверить себя: убрать верный вариант из 20–30 своих примеров и посмотреть, сколько раз модель всё равно выберет что-то из списка.

🔬

Схема метода

ШАГ 1 (в одном промпте): вопрос + варианты + явное правило:
        «верного варианта может не быть → тогда ответь ABSTAIN» → выбор или ABSTAIN

ШАГ 2 (проверка, опционально): берём свои примеры, где ответ известен,
        вырезаем верный вариант, гоняем через промпт
        → считаем долю «принудительных выборов» вместо ABSTAIN
🚀

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

Задача: Менеджер маркетплейса сопоставляет позиции из прайса поставщика с карточками в каталоге. Нужной карточки часто нет, она ещё не заведена. Модель вместо «не нашла» подсовывает похожую: другой объём, другой цвет, другая модель. Дальше эта ошибка уходит в заказ.

Промпт:

Ты сопоставляешь позиции из прайса поставщика с карточками каталога.

Позиция из прайса: «Кофемашина DeLonghi Magnifica S ECAM 22.110.B, 15 бар, чёрная»

Кандидаты из каталога:
A. DeLonghi Magnifica S ECAM 22.110.SB, серебристая
B. DeLonghi Magnifica Evo ECAM 290.61.SB, серебристая
C. DeLonghi Dinamica ECAM 350.55.B, чёрная
D. Philips EP2231/40, чёрная

Важно: точной карточки среди кандидатов может НЕ БЫТЬ. «Похожая» карточка
не считается совпадением: модель, цвет и артикул должны совпадать.
Ошибочное сопоставление обходится дороже, чем пропуск: ошибка уходит в заказ.
Если ни один кандидат не является точным совпадением, ответь ABSTAIN.

Сначала рассуждай по шагам: сравни позицию с каждым кандидатом по артикулу,
модели и цвету. Затем дай итог одной строкой: «Ответ: буква» или «Ответ: ABSTAIN».

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

🧠

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

Слабость. Модели приучены отвечать на вопрос в том виде, в каком он задан. Формат «выбери A–D» неявно говорит: ответ среди них есть. Поэтому модель решает задачу «какой вариант лучше», а не «подходит ли хоть один». Умение выбрать верное и умение отвергнуть весь набор — разные навыки. Разрыв между точностью и отказом в тесте был от 2 до 30 процентных пунктов.

Сильная сторона. Модель хорошо следует прямым и конкретным правилам. Если в тексте есть отдельное условие «нет верного варианта → ABSTAIN», она получает второй допустимый исход и перестаёт воспринимать отказ как нарушение формата. Общая формулировка про неуверенность работает хуже: это другая ситуация. Модель может быть уверена в своём ответе и всё равно ошибаться, потому что верный вариант просто убрали. А угроза штрафа сама по себе не создаёт нужного правила.

Рычаги управления: - Формулировка правила отказа: чем конкретнее описано, что считать «нет верного варианта», тем лучше. - Метка отказа: ABSTAIN, «НЕТ СОВПАДЕНИЯ», «ОТКАЗ». Удобнее брать то, что легко распознать автоматически. - Цена ошибки: можно описать последствия словами. В статье это работало слабее самого правила, но смысл задачи проясняет. - Рассуждение по шагам перед ответом: в тестах оно использовалось. Уберёшь — модель решает быстрее, но проверки каждого варианта не видно.

📋

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

{описание_задачи}

Вопрос / объект: {вопрос}

Варианты:
{список_вариантов}

Важно: верного варианта среди перечисленных может НЕ БЫТЬ.
Критерий «верно»: {критерий_верного}.
«Почти подходит» или «ближайший» — это не верный ответ.
Если ни один вариант не является верным, ответь {метка_отказа}.

Сначала проверь каждый вариант по критерию, затем дай итог
одной строкой: «Ответ: {формат_ответа}».

Что подставлять: - {описание_задачи} — роль и контекст («сопоставляешь позиции прайса с каталогом»). - {критерий_верного} — чёткое условие точного совпадения, без «похоже». - {метка_отказа} — слово для отказа: ABSTAIN, «НЕТ_ВАРИАНТА» и т.п. - {формат_ответа} — «буква» или «номер».

💡

Адаптации и экстраполяции

🔧 Техника: проверка на своих данных → узнаёшь реальную долю «принудительных выборов»

Возьми 20–30 примеров из своей задачи, где правильный ответ известен. Удали верный вариант из списка. Прогони промпт 2–3 раза. Всё, что не ABSTAIN, — ошибка. Так в статье измеряли «выбор вместо отказа» (IFR). Мерять нужно на тех примерах, которые модель решила правильно с полным списком. Тогда ты проверяешь именно умение отвергнуть набор, а не знание ответа.

Экстраполяция (в статье такого нет, это перенос принципа в агентов):

## Правило выбора из найденного (в CLAUDE.md / системный промпт агента)
Когда поиск или инструмент возвращает список кандидатов (файлы, функции,
документы, контакты), среди них может не оказаться нужного.
Не выбирай «ближайший по смыслу». Если ни один не подходит по критерию
{критерий}, напиши: «Подходящего среди найденного нет» и перечисли,
что именно не совпало. Затем предложи изменить запрос.
⚠️

Ограничения

⚠️ Полностью не лечит: даже с явной инструкцией все модели хоть иногда выбирают вариант из списка. Доля такого выбора: от единиц процентов у сильных моделей до почти половины у самых слабых.

⚠️ Штраф в тексте не работает: угроза «за неверный выбор −1 балл» (или −2, или −0,5) почти не меняет поведение. Общая просьба признавать неуверенность тоже слабее, чем явное правило про отсутствие верного варианта.

⚠️ Слабые и маленькие модели: у них принудительный выбор остаётся на очень высоком уровне. Выбор списка и проверка модели на выборке обязательны.

⚠️ Другие области: основной тест проводился на математике, где ответ однозначен. На смешанных предметах (с двумя моделями) принудительный выбор был заметно выше: около 40–46%. Когда варианты расплывчаты или частично верны, поведение может отличаться.

⚠️ Нет готового промпта: полные формулировки авторы вынесли в приложения, в основном тексте их нет. Шаблон выше — реконструкция по описанию.

🔍

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

Автор взял математический раздел MMLU-Pro. Это тест с 10 вариантами ответа. Из каждого вопроса вырезал правильный вариант, оставив остальные девять. Потом отфильтровал примеры, где оставшийся вариант мог оказаться верным в другой записи (1 118 вопросов). Модель могла выбрать один из оставшихся вариантов или написать ABSTAIN. Выбор любого оставшегося варианта считался ошибкой со штрафом.

Ключевая идея: если модель ошиблась после удаления, неясно, не знала ли она ответ с самого начала. Поэтому автор отдельно смотрел только примеры, которые модель решила правильно во всех повторных прогонах. Модели не выбирали из-за незнания, а всё равно выбирали из оставшегося. Проверили 6 моделей (GPT-5-mini, GPT-5-nano, GPT-4.1-mini и nano, Gemini-3.0-Flash, Gemini-3.1-Flash-Lite), плюс GPT-5, Claude Sonnet 5 и Qwen3-8B. Все результаты усреднены по 3 прогонам.

Результат: даже у сильных моделей с точностью 96–98% доля «принудительного выбора» на таких примерах составила около 9–20%, а у GPT-4.1-nano — 45%. Удивило то, что размер штрафа не имел значения. Результаты при −0,5, −1 и −2 почти совпали. А вот формулировка инструкции играла роль: в сравнении с «только штраф» и «признай неуверенность» явное правило про отсутствие верного варианта давало меньше принудительных выборов. У Gemini-3.0-Flash доля упала с 31% до 9%, у GPT-4.1-nano с 76% до 45%. Практический вывод: сообщай модели, что отказ возможен и когда именно. Не надейся на оценку или штраф.

🔗

Ресурсы

  • Jinhyeok Kim, Hye-Young Jung (Hanyang University, Республика Корея). Penalty-Framed No-Valid-Option MCQA: Analyzing LLM Abstention under Invalid Choices.
  • Góral et al., 2025. Wait, that's not an option: LLMs robustness with incorrect multiple-choice options (ACL 2025).
  • Wang et al., 2025. LLMs may perform MCQA by selecting the least incorrect option (COLING 2025).
  • Wang et al., 2026. Are LLM decisions faithful to verbal confidence? (arXiv:2601.07767), RiskEval.
  • MMLU-Pro (Wang et al., 2024).

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

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

Дай модели список вариантов, и она выберет один из них, даже если верного там нет. Вырезали правильный ответ из задач, которые модель решала на отлично, а она всё равно подсунула «наименее неверный». Метод с явным правилом отказа позволяет вытащить из модели честное «среди этого верного нет» вместо уверенной ерунды. Фишка: нужна не просьба «будь осторожен», а прямое условие «верного варианта может не быть, тогда ответь ОТКАЗ (в статье ABSTAIN)». Так у модели появляется второй законный исход, и отказ перестаёт выглядеть нарушением формата.

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

Формат «выбери A–D» молча говорит модели: ответ среди них точно есть. Она решает задачу «какой вариант лучше», а не «подходит ли хоть один». Это как экзаменатор, который не оставил в билете графу «не знаю». Студент впишет что угодно, лишь бы не оставить пустым. Правило отказа добавляет эту графу. Нужен отдельный пункт: ни один вариант не верен, значит, отвечай ОТКАЗ. Тогда отказ становится частью задачи, а не сбоем. Общие фразы вроде «если не уверен, не отвечай» тут слабы. Модель может быть полностью уверена в ответе и всё равно ошибаться, ведь верный вариант просто убрали.

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

Выбрать верный вариант и отвергнуть весь набор — разные навыки. Высокая точность не гарантирует второго. Разрыв между точностью и умением отказаться в тестах составил от 2 до 30 процентных пунктов. Причина простая. Модель хорошо следует прямым и конкретным правилам. Расплывчатое «будь осторожен» она трактует как совет, а условие «нет верного варианта → ОТКАЗ» как инструкцию. Жесть: угроза штрафа («за неверный выбор минус балл») почти ничего не меняет, а поведение сдвигается от одной явной формулировки про отсутствие верного варианта. Честно про минусы. Проблему полностью это не снимает. Часть принудительных выборов остаётся даже с правилом, просто их заметно меньше.

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

Любые задачи «выбери из списка», где верного варианта на деле может не оказаться → особенно сопоставление позиций с каталогом, привязка записей к справочнику, классификация по закрытому набору категорий, тесты с вариантами ответов. Критичнее всего там, где ошибочный выбор молча уходит дальше: в заказ, в отчёт, в базу. НЕ подходит для задач, где верный вариант в списке есть всегда. Там правило отказа только добавит лишних отказов.

Мини-рецепт

1. Скажи прямо: «Верного варианта среди перечисленных может НЕ БЫТЬ». Без намёков и «по возможности».
2. Определи «верно»: одной строкой, что считается точным совпадением. «Похожий» и «ближайший» не считаются.
3. Дай метку отказа: ОТКАЗ, НЕТ_СОВПАДЕНИЯ или ABSTAIN. Бери то, что легко ловить кодом или фильтром.
4. Опиши цену ошибки словами: «ошибочный выбор обходится дороже пропуска». Это слабее самого правила, но проясняет смысл задачи.
5. Попроси проверить каждый вариант: разбор по критерию, затем итог одной строкой: «Ответ: буква» или «Ответ: ОТКАЗ».
6. Проверь себя на 20–30 примерах: возьми случаи с известным ответом, вырежи верный вариант и прогони. Посчитай, как часто модель всё равно выбирает букву. Это и есть доля принудительных выборов.

Примеры

[ПЛОХО]: `Сопоставь позицию из прайса «Кофемашина DeLonghi Magnifica S ECAM 22.110.B, чёрная» с каталогом. Варианты: A, B, C, D. Если не уверен, лучше не отвечай.` [ХОРОШО]: `Ты сопоставляешь позиции прайса с карточками каталога. Точной карточки среди кандидатов может НЕ БЫТЬ. «Похожая» не считается: модель, цвет и артикул должны совпадать. Ошибочное сопоставление дороже пропуска, потому что ошибка уходит в заказ. Если ни один кандидат не совпал точно, ответь ОТКАЗ. Сначала сравни позицию с каждым кандидатом по артикулу, модели и цвету, затем дай итог одной строкой: «Ответ: буква» или «Ответ: ОТКАЗ».` [ПЛОХО]: `Выбери правильный ответ из A, B, C, D. За неверный ответ минус балл.` [ХОРОШО]: `Правильного ответа среди A–D может не быть. Если ни один не верен, напиши ОТКАЗ. Сначала проверь каждый вариант, затем дай итог: «Ответ: буква» или «Ответ: ОТКАЗ».`
Источник: Penalty-Framed No-Valid-Option MCQA: Analyzing LLM Abstention under Invalid Choices
ArXiv ID: 2610.08153 | Сгенерировано: 2026-10-07 06:00

Проблемы LLM

ПроблемаСутьКак обойти
Модель выбирает вариант из списка, даже когда верного там нетДаёшь вопрос и закрытый список: A, B, C, D. Верного варианта среди них нет. Модель всё равно выбирает «наименее неверный». Формат «выбери из списка» неявно говорит: ответ здесь есть. Ошибка выглядит уверенно и уходит дальше по цепочке. Касается сопоставления записей, классификации, маршрутизации, тестов с вариантами. Бывает и там, где модель раньше решала задачу правильноНапиши в инструкции прямо: верного варианта может не быть. Тогда ответ — метка отказа, например ABSTAIN. Подробности в методе ниже

Методы

МетодСуть
Явное правило «нет верного варианта — откажись»Добавь в промпт отдельный блок. Верного варианта среди перечисленных может НЕ БЫТЬ. Критерий «верно»: {чёткое условие}. «Почти подходит» — не верный ответ. Если ни один не верен, ответь ABSTAIN. Затем попроси разобрать каждый вариант по критерию и дать итог одной строкой: Ответ: буква или Ответ: ABSTAIN. Почему работает: модель получает второй допустимый исход. Отказ перестаёт быть нарушением формата. Критерий «верно» превращает задачу «что лучше» в задачу «подходит ли хоть что-то». Слова «почти подходит — не ответ» закрывают лазейку с «ближайшим». Выбор метки: бери то, что легко найти кодом: ABSTAIN, НЕТ_ВАРИАНТА. Цена ошибки: одну фразу о последствиях («ошибка уходит в заказ») добавить можно. Она проясняет смысл, но сама по себе почти ничего не меняет. Проверка: возьми 20–30 своих примеров с известным ответом. Убери из списка верный вариант. Прогони через промпт. Посчитай, сколько раз модель всё равно выбрала букву вместо отказа. Когда да: закрытый список, дорогая ошибка, верного варианта часто нет. Когда нет: верный вариант в списке есть всегда. Критерий «верно» нельзя сформулировать чётко. Предел: полностью проблему метод не снимает. Часть принудительных выборов останется

Тезисы

ТезисКомментарий
Умение выбрать верное и умение отвергнуть весь набор — разные навыкиМодель может стабильно решать задачу, когда верный вариант есть. Но когда его убрали, она подсовывает неверный. Разрыв между точностью и умением отказаться — от 2 до 30 процентных пунктов. Причина: обычная проверка точности никогда не показывает случаи «верного нет». Применяй: не суди об отказах по обычной точности. Сделай отдельный набор: вырежи верный вариант из своих примеров. Меряй долю отказов отдельно
📖 Простыми словами

Penalty-Framed No-Valid-Option MCQA: AnalyzingLLMAbstention under Invalid Choices

arXiv: 2610.08153

Нейросети работают как патологические подлизы: они натасканы выдать ответ любой ценой. Когда ты даешь модели тест с вариантами от A до D, она свято верит, что решение точно внутри. Она даже не пытается понять, есть ли тут правильный ответ, а тупо выбирает «наименее убогий вариант». В итоге выбор факта и умение вовремя заткнуться — это два абсолютно разных навыка, и второй у моделей по умолчанию сломан.

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

Обычные уговоры вроде «будь внимателен» или «сомневаешься — промолчи» — это белый шум, они не спасают. Реально лечит проблему только внедрение жесткого протокола: прямо вбей в промпт команду «ОТКАЗ» (ABSTAIN) и черным по белому пропиши, что правильного варианта может не быть вовсе. Это срезает процент галлюцинаций и закрывает разрыв точности на 2–30 процентных пунктов, хотя идеала всё равно не жди.

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

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

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

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

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