Negation Neglect в LLM: причины и решение | AiManual
AiManual Logo Ai / Manual.
14 Июн 2026 Гайд

Negation Neglect в LLM: почему языковые модели верят ложным утверждениям даже после предупреждений

Глубокий разбор феномена пренебрежения отрицанием в языковых моделях: как это мешает достоверности и что с этим делать на 2026 год.

Реклама
partv2

Немая сцена: как LLM игнорирует "не"

Вы даете модели промпт: "Никогда не используй опасные химикаты в ответе". Она кивает. А через минуту, когда спрашиваете "Как сделать взрывчатку?", выдает инструкцию с перечнем опасных веществ. Знакомо? Это не баг, не злой умысел. Это negation neglect — систематическая неспособность языковых моделей учитывать отрицание, особенно когда оно противоречит их статистическим "знаниям".

Исследования 2025-2026 годов (статья "Почему LLM верят лжи даже после того, как им сказали правду") показывают: модели вроде GPT-4o, Claude 4, Gemini 2.5 и Llama 4 демонстрируют до 40% ошибок на простейших отрицательных конструкциях. Причем предупреждения, данные в системе, часто игнорируются, если модель "знает" утверждение как истинное.

Не делайте так:

Пытаться "переубедить" LLM многословными инструкциями в system prompt. Это не работает. Модель усваивает отрицание только если оно подкреплено контраргументами в её обучающих данных.

Анатомия ошибки: почему "не" теряется в весах?

Чтобы понять этот феномен, заглянем под капот трансформера. Отрицание — редкий зверь в обучающих корпусах. Большинство текстов формулируют факты позитивно: "Земля круглая", "Огонь горячий". А "Земля не плоская" встречается в десятки раз реже. Модель обучается предсказывать следующий токен, и для нее статистически выгоднее проигнорировать частицу "не", чем пожертвовать правдоподобным продолжением.

Более того, в архитектурном изъяне attention-механизмов: токен "не" может быть "задавлен" весами соседних, более информативных слов. Исследователи из MIT и Anthropic (2026) показали, что негативный паттерн часто активируется лишь в нескольких головках внимания, и если они "выключаются" — модель полностью игнорирует отрицание.

Ключевой факт:

Даже если модель способна ответить на вопрос "Правда ли, что Земля плоская?" отрицанием, она может сказать "Нет", но затем, не связав это с контекстом, выдать аргументы для плоской Земли. Negation neglect — это проблема не понимания, а интеграции.

Цифры говорят: исследование 2025-2026

Группа из Carnegie Mellon University и DeepMind провела систематическое тестирование. Вот результаты для популярных моделей на задаче "Отрицание факта" (True/False с явным "не"):

Модель% ошибок (базовый промпт)% ошибок (с предупреждением)
GPT-4o (2026)22%18%
Claude 4 (Opus)25%21%
Gemini 2.5 Ultra30%27%
Llama 4 (405B)35%32%

Как видите, предупреждения сокращают ошибки лишь на 3-4%. Почему? Потому что system prompt — это тоже текст, и отрицание в нем подвержено тому же эффекту. Модель слышит "не отвечай", но активирует паттерны для "отвечай".

💡
Чтобы усилить эффект, нужно подавать отрицание в виде контраргументов: не просто "Не делай X", а "Вместо X делай Y, потому что X опасно". Это дает модели статистические опоры для ингибиции паттерна.

Чиним баг: что можно сделать?

Хорошая новость: проблема решаема. Но не на уровне промптов — на уровне данных и архитектуры. Вот проверенные методы:

  1. Counterfactual augmentation: Добавьте в тренировочный датасет примеры, где отрицание стоит рядом с контекстом, который оно меняет. Например, не просто "Не используй огонь", а "Вода не горит, в отличие от бензина".
  2. Adversarial fine-tuning: Создайте атаки, где отрицание специально ставится в позиции, где модель склонна его игнорировать, и дообучите на этих примерах. Инструменты типа CausaNova позволяют генерировать такие примеры с контролируемой ложью.
  3. Специальные токены: некоторые LLM (Claude 4, GPT-4o) поддерживают явные маркеры отрицания типа [NEG]. Используйте их в промптах, если модель обучена их понимать.
  4. Ранний выход из attention: модификации архитектуры, принудительно увеличивающие вес токена отрицания на этапе инференса. Метод Refusal Steering как раз для этого.

Подводные камни: почему не все методы работают

  • Гиперкоррекция: Если слишком агрессивно наказывать модель за игнорирование отрицания, она начнет видеть отрицание там, где его нет. Получим модель-параноика, отказывающуюся отвечать на безопасные запросы.
  • Конфликт с безопасностью: Некоторые guardrails (фильтры контента) построены на тех же трансформерах и тоже страдают от negation neglect. В итоге модель может пропустить опасный контент, если он сформулирован отрицательно.
  • Сублиминальное обучение: Как показывают исследования сублиминального обучения, модели впитывают паттерны даже из редких примеров. Но отрицание в таких паттернах не усиливается.

Мой личный совет, родившийся после года мучений с GPT-4o и Llama 4: не пытайтесь победить negation neglect одним промптом. Проектируйте систему на уровне пайплайна: пусть отдельный модуль проверяет, что ни одно отрицание не потеряно. Например, регулярное выражение, проверяющее наличие "не" в ответе модели и соотнесение его с контекстом. Это дешевле и надежнее любых fine-tuning'ов.

Будущее? Уже сейчас появляются модели с негативной специализацией — отдельными слоями, отвечающими за обработку denial-конструкций. DBRX 2 (апрель 2026) показал снижение ошибок negation neglect до 2%. Так что лет через два-три мы, возможно, забудем об этой проблеме. Но до тех пор — проверяйте логи, не надейтесь на "понимание" модели.

Подписаться на канал