3,583 papers
arXiv:2610.09571 77 7 окт. 2026 г. FREE

Негативные вопросы: LLM повторяют исходный ответ вместо альтернативы

КЛЮЧЕВАЯ СУТЬ
Парадокс: чем лучше модель знает ответ, тем хуже она умеет его исключать. Спроси «Какой город не является столицей Испании?» и часто получишь «Мадрид». Метод-диагностика позволяет ловить такие сбои в своих промптах: задаёшь один вопрос дважды, прямо и с «не», и сравниваешь ответы. Внутри модель делает два независимых действия: приглушает исходный ответ и усиливает своего «любимого» кандидата. Если любимец совпадает с исходным ответом, сбой отрицания неизбежен: модель повторяет то, что просили исключить. Важно: авторы предлагают лечить это дообучением. Нам доступна только диагностика, а не лекарство.
Адаптировать под запрос
⚡

TL;DR

Если спросить модель «Какой город не является столицей Испании?», она часто выдаёт «Мадрид», то есть тот самый ответ, который нужно исключить. Это поведение подтверждено на крупных моделях, включая закрытые флагманы. Внутри модель не берёт исходный ответ за точку отсчёта, чтобы выбрать другой. Она делает два независимых действия: приглушает исходный ответ и усиливает своего «любимого» кандидата из той же категории.

Главная находка: чем увереннее модель в исходном ответе, тем чаще она повторяет его под отрицанием. Знание ответа не помогает исключить его, а мешает. Хуже всего, когда «любимый» ответ модели на отрицательный вопрос совпадает с правильным ответом на прямой. Тогда в голове два сигнала: «не Мадрид» и «Мадрид — это то, что я обычно говорю». Побеждает второй. Когда же модель всё-таки меняет ответ, замена почти всегда из той же категории (город вместо города).

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

🔬

Схема метода

Диагностика (как в статье):
ШАГ 1: Задай обычный вопрос → получи ответ A
ШАГ 2: Задай тот же вопрос с «не» → получи ответ B
ШАГ 3: Сравни A и B → если A = B, это сбой отрицания

Что происходит внутри модели:
отрицание → (а) приглушить исходный ответ
          → (б) сохранить категорию ответа
          → (в) поднять «любимого» кандидата

Сбой: исходный ответ слишком «сильный» ИЛИ он же «любимый» → модель повторяет его

Каждый шаг — отдельный запрос в чате. Автоматизировать можно таблицей: вопрос, вопрос с «не», сравнение.

🚀

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

Задача: Ведущая киноподкаста готовит квиз «Кто не снимал?». Вопросы вроде «Какой из фильмов не снял Андрей Звягинцев?» она собирается генерировать с помощью ChatGPT. Ей нужны вопросы с чёткой «ловушкой», а не очередная подборка его фильмов. Это сильная зона находки: открытые вопросы, где правильный ответ нужно исключить из известного набора.

Промпт:

Я проверяю, как ты работаешь с отрицанием. Ответь на два вопроса по отдельности, 
каждый одним ответом, без объяснений.

Вопрос 1: Какой фильм снял Андрей Звягинцев?
Вопрос 2: Какой фильм НЕ снял Андрей Звягинцев?

После этого сравни свои ответы. Если ответ на вопрос 2 совпал с ответом на вопрос 1 
или оказался фильмом Звягинцева (проверь по его фильмографии: «Возвращение», 
«Изгнание», «Елена», «Левиафан», «Нелюбовь», «Нелюбовь»…), 
признай ошибку и дай корректный ответ — фильм другого режиссёра.

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

🧠

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

Слабость. Модель не «понимает» отрицание как логическую операцию. Внутри она приглушает исходный ответ и усиливает привычного кандидата. Если приглушение слабое, а исходный ответ очень уверенный (Мадрид для Испании), он прорывается. Это как попросить человека «не думать о белом медведе».

Сильная сторона. Модель хорошо держит категорию. Она почти всегда понимает, что нужен город, фильм, спортсмен. А когда ответ задан позитивно («назови столицу, кроме Мадрида» или «назови режиссёра, который не Звягинцев»), у неё есть явная цель.

Как использовать. Диагностический тест выше работает потому, что парное сравнение вытаскивает сбой на поверхность. Рычаги: - Парный тест (вопрос + вопрос с «не») → дешёвая проверка своего промпта. - Форма отрицания: авторы тестировали «not», «n't», «never», «by no means». Любая форма даёт сбой, так что простая замена слова «не» на «никогда не» не спасёт. - Уверенность модели в исходном ответе: чем «очевиднее» ответ (знаменитый факт), тем выше риск повтора. Проверяйте в первую очередь очевидные случаи.

📋

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

Это шаблон парного теста, он повторяет логику проверки из статьи. Своего «защитного» промпта авторы не предлагали.

Я проверяю, насколько надёжно ты справляешься с отрицанием в моей задаче.

<Задача>
Прямой вопрос: {вопрос_без_отрицания}
Вопрос с отрицанием: {вопрос_с_не}


<Порядок>
1. Ответь на прямой вопрос — одним коротким ответом.
2. Отдельно ответь на вопрос с отрицанием — одним коротким ответом.
3. Сравни: совпал ли ответ на вопрос с «не» с ответом на прямой?
4. Если совпал — это ошибка. Дай новый ответ из той же категории, 
   который точно не равен ответу на прямой вопрос.


<Формат>
Прямой ответ: ...
Ответ с отрицанием: ...
Совпали: да/нет
Итоговый ответ: ...

Подставьте: {вопрос_без_отрицания} — вопрос в позитивной форме, {вопрос_с_не} — тот же вопрос с «не».

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

Вот шаблон парного теста на отрицание. Адаптируй под мою задачу: [твоя задача]. 
Задавай вопросы, чтобы заполнить поля.

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

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

⚠️

Ограничения

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

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

⚠️ Механистическая часть — для исследователей: Анализ внутренних «голов внимания» и нейронов требует доступа к весам. Для закрытых моделей этого не сделать.

⚠️ Узкий тип задач: Проверяли открытые вопросы с одним правильным ответом («что НЕ является…»). Инструкции вида «не используй канцеляризмы» или «не делай коммит без тестов» в статье не рассматривались.

⚠️ Только английский: Русскую грамматику отрицания («не», «ни», двойное отрицание) не проверяли.

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

🔍

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

Команда собрала около 105 тысяч пар «обычный вопрос → тот же вопрос с отрицанием» из шести готовых наборов: фактологические вопросы, логические задачи и вопросы по картинкам. Отрицание вставляли четырьмя способами: «not», «n't», «never», «by no means». Проверили шесть открытых моделей и две закрытые, включая флагманские GPT и Claude. Смотрели три вещи: знает ли модель исходный ответ, меняет ли его под отрицанием и остаётся ли замена в той же категории.

Результат: модели в 37–71% случаев повторяли исходный ответ. При этом замена, если она была, в 87–98% случаев оставалась в той же категории. То есть модель понимает, что нужно отвечать, но не умеет исключить уже известное.

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

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

💡

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

🔧 Техника: заменить «не» на позитивное исключение → сделать цель явной

Вместо «Какой фильм не снял Звягинцев?» напиши: «Назови фильм другого режиссёра, не из списка: Возвращение, Изгнание, Елена, Левиафан, Нелюбовь. Сначала перечисли всё, что нужно исключить».

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

Экстраполяция: самопроверка в системном промпте агента

Если в запросе пользователя есть отрицание («не», «кроме», «без», «никогда»), 
перед ответом выполни проверку:
1. Сформулируй, что именно нужно исключить.
2. Составь ответ.
3. Сверься: не содержит ли ответ исключаемое? Если содержит — перепиши.

Идея: превратить «приглушить» в явный шаг проверки. Из статьи это прямо не следует, это гипотеза.

🔗

Ресурсы

  • Работа: How Do LLMs Change Predictions Under Negation? (ICLR 2027)
  • Авторы: Jongwook Yoon, Jongwon Lim, Sungjib Lim, Woojin Cho, Yohan Jo
  • Организация: Graduate School of Data Science и Department of Computer Science and Engineering, Seoul National University
  • Данные и код: авторы обещают выпустить после публикации
  • Использованные наборы: PopQA, RippleEdits, PhantomWiki, SynthWorlds, GQA, PTR

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

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

Парадокс: чем лучше модель знает ответ, тем хуже она умеет его исключать. Спроси «Какой город не является столицей Испании?» и часто получишь «Мадрид». Метод-диагностика позволяет ловить такие сбои в своих промптах: задаёшь один вопрос дважды, прямо и с «не», и сравниваешь ответы. Внутри модель делает два независимых действия: приглушает исходный ответ и усиливает своего «любимого» кандидата. Если любимец совпадает с исходным ответом, сбой отрицания неизбежен: модель повторяет то, что просили исключить. Важно: авторы предлагают лечить это дообучением. Нам доступна только диагностика, а не лекарство.

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

Отрицание для модели не логическая операция, а два отдельных толчка. Первый приглушает исходный ответ. Второй поднимает привычного кандидата из той же категории. Модель не берёт исходный ответ за точку отсчёта, чтобы выбрать другой. Поэтому категория сохраняется (город остаётся городом), а смысл «не» теряется. Это как просить человека не думать о белом медведе: чем ярче образ, тем сильнее он лезет в голову. Процесс проверки: прямой вопрос → ответ A → вопрос с «не» → ответ B → сравни A и B. Если A = B, отрицание не сработало.

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

Причина сбоя в борьбе двух сигналов. «Не Мадрид» — слабый сигнал приглушения. «Мадрид — то, что я обычно говорю» — сильный сигнал привычки. Чем знаменитее факт, тем сильнее привычка. Знание ответа не помогает его исключить, а мешает. Форма отрицания не спасает: «not», «n't», «never» и «by no means» дают тот же сбой, так что «никогда не» вместо «не» ничего не меняет. Сильная сторона модели в том, что категорию она держит почти всегда. Когда ответ всё же меняется, замена обычно из той же категории. Честная оговорка: в пересказе нет цифр, а тесты шли на английском и на открытых вопросах с одним верным ответом. Русскую грамматику отрицания не проверяли.

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

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

Мини-рецепт

1. Возьми вопрос с «не»: тот, что планируешь использовать в промпте или квизе.
2. Сделай прямую версию: тот же вопрос без отрицания.
3. Задай оба отдельно: короткий ответ, без объяснений.
4. Сравни: если ответ с «не» совпал с прямым, поймал сбой.
5. Исправь вручную: перефрмулируй цель позитивно, например «назови режиссёра, который не Звягинцев». Авторы это не доказывали, поэтому проверь результат сам.
6. Начни с очевидного: знаменитые факты ломаются чаще всего.
7. Для потока вопросов: сделай таблицу из трёх колонок: прямой вопрос, вопрос с «не», совпало или нет.

Примеры

[ПЛОХО]: `Какой фильм не снял Андрей Звягинцев?` Принимаешь первый ответ на веру. Модель может выдать «Левиафан», и квиз провален. [ХОРОШО]: `Ответь на два вопроса отдельно, одним ответом, без объяснений. Вопрос 1: какой фильм снял Андрей Звягинцев? Вопрос 2: какой фильм не снял Андрей Звягинцев? Потом сравни ответы. Если ответ на вопрос 2 совпал с ответом на вопрос 1 или это фильм Звягинцева, признай ошибку и назови фильм другого режиссёра.` Фишка в том, что парное сравнение вытаскивает сбой на поверхность. Самопроверка модели всё же не гарантия, поэтому фильмографию сверь по надёжному источнику. [ПЛОХО]: `Назови город, который не столица Испании.` [ХОРОШО]: `Назови город Испании, который не Мадрид. Ответ должен отличаться от Мадрида.` Цель задана прямо, но это гипотеза, а не доказанный обход.
Источник: How Do LLMs Change Predictions Under Negation?
ArXiv ID: 2610.09571 | Сгенерировано: 2026-10-08 05:00

Проблемы LLM

ПроблемаСутьКак обойти
Модель называет именно то, что просили исключитьПросишь: «Назови город, который НЕ столица Испании». Модель отвечает: «Мадрид». Чаще всего так бывает, когда исключаемый ответ очевидный и известный. Если модель всё же меняет ответ, замена берётся из той же категории (город вместо города). Усиление отрицания («никогда не», «ни в коем случае») не помогает. Ответ звучит уверенно, поэтому ошибку легко пропустить. Это касается любых открытых вопросов вида «назови X, кроме Y»: квизы, подбор альтернатив, исключение вариантовНе верь ответу на вопрос с «не» без проверки. Сравни ответ с исключаемым значением, вручную или в таблице. Если совпало, попроси: «Назови 5 вариантов из этой категории» и вычеркни исключаемый. Для надёжности напиши явно: «Исключи Y. Назови другой X». Важно: надёжность этих приёмов в статье не проверена. Проверь на своих задачах
📖 Простыми словами

How DoLLMsChange Predictions Under Negation?

arXiv: 2610.09571

Спроси нейросеть, какой город не является столицей Испании, и она с умным видом выдаст тебе «Мадрид». Модели не понимают логическое отрицание так, как понимает человек. Для трансформера частица «не» — это не строгий математический фильтр, а слабый семантический шум. Когда ассоциативная связь между фактами вбита в веса намертво, простая команда «вычеркни это» вызывает у модели полный системный ступор.

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

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

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

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

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

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

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