3,583 papers
arXiv:2607.13083 76 13 июля 2026 г. FREE

Phantom Guardrails: как запрос «найди ошибки» заставляет AI выдумывать несуществующие проблемы

КЛЮЧЕВАЯ СУТЬ
Обнаружено: AI выдумывает не только факты — он выдумывает критику. Попросишь «найди ошибки» — модель создаёт спрос на проблемы и находит нарушения там, где их нет. В экспериментах 15 из 60 запусков давали изобретённые нарушения на тексте без единого реального изъяна. На нейтральном вводе — ноль из 60. Метод позволяет полностью отключить этот эффект двумя правками в промпте. Фишка: три условия запускают фантомную критику — убери любое одно, и выдуманных нарушений нет. Замени «найди ошибки» на «нужны ли изменения?», добавь «это все критерии, скрытых нет» — и AI честно ответит «нарушений нет» вместо изобретения проблем.
Адаптировать под запрос

TL;DR

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

Эффект запускается только при одновременном совпадении трёх условий: контент похож на знакомую модели область, набор правил не объявлен полным, а инструкция предполагает, что ошибки есть. Убери любое одно — и AI перестаёт выдумывать. Это измеримо: в экспериментах 15 из 60 запусков давали изобретённые нарушения, тогда как на нейтральном вводе — ноль из 60.

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


🔬

Схема метода

Три условия, каждое из которых можно отключить:

УСЛОВИЕ 1: Знакомый паттерн
Контент напоминает знакомую AI область → AI импортирует правила из обучения

УСЛОВИЕ 2: Открытый набор правил  
Нет сигнала "правила полные, скрытых нет" → AI достраивает правила сам

УСЛОВИЕ 3: Инструкция с пресуппозицией
"Найди/исправь ошибки" → AI предполагает: ошибки точно есть, надо найти

[Все три вместе] → AI выдумывает проблемы и "исправляет" их
[Убрать любое одно] → 0 изобретённых нарушений

Три контрмеры (блокируют по отдельности):

→ Нейтральная инструкция: "нужны ли изменения?" вместо "найди ошибки"
→ Сигнал полноты: "это все правила, скрытых нет"  
→ Контроль паттернов: знать, что повторы могут провоцировать выдуманные нарушения

🚀

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

Задача: Антон Носик хочет попросить AI проверить питч-дек на ошибки перед встречей с инвесторами. Слайды хорошие, реальных проблем нет — но он хочет убедиться.

❌ Опасный промпт (провоцирует фантомную критику):

Вот мой питч-дек. Найди все ошибки, слабые места и проблемы. 
Исправь то, что требует исправления.

[текст слайдов]

✅ Нейтральный промпт (блокирует фантомную критику):

Вот мой питч-дек для инвесторов. 

Критерии оценки:
— Структура: проблема → решение → рынок → команда → метрики
— Ясность: каждый тезис понятен без пояснений
— Доказательность: утверждения подкреплены данными

Это исчерпывающий список критериев. Других требований нет.

Твоя задача: проверь, нарушен ли хоть один из этих критериев. 
Если нарушений нет — так и скажи. Если есть — укажи конкретно.

[текст слайдов]

Результат: Нейтральный промпт вернёт честный ответ — "нарушений нет" или конкретные реальные проблемы с указанием критерия. Опасный промпт создаст список "ошибок": AI найдёт знакомый паттерн (повторяющийся приём аргументации, структура похожая на известные фреймворки) и изобретёт нарушение несуществующего правила.


🧠

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

Слабость LLM: Модель обучена на миллиардах текстов с правилами — грамматика, логика аргументов, бизнес-фреймворки, паттерны кода. Когда её просят "найти проблемы", она не просто смотрит на текст — она активирует весь этот пласт правил из обучения. Если контент хоть немного напоминает знакомую область, модель достаёт правила оттуда и прикладывает к вашему тексту.

Роль инструкции: Фраза "найди ошибки" создаёт спрос на проблемы. Модель генерирует текст предсказывая следующий токен — и в контексте "это задание найти ошибки" предсказание "ошибок нет" конкурирует с вероятностью предсказания конкретных ошибок. Если есть даже слабый паттерн — шанс выдумать нарушение резко растёт.

Три рычага: | Рычаг | Что меняем | Эффект | |---|---|---| | Инструкция | "найди" → "нужны ли изменения?" | Убирает "спрос" на проблемы | | Полнота правил | Добавить "правила исчерпывающие" | AI не ищет "скрытые" критерии | | Формат вывода | "если нет — скажи нет" | AI разрешено вернуть пустой результат |


📋

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

Твоя задача: проверить {объект} на соответствие критериям.

Критерии проверки:
{критерий_1}
{критерий_2}
{критерий_3}

Это исчерпывающий список. Других требований нет.

Проверь: нарушен ли хоть один из этих критериев?
— Если нарушений нет — ответь: "Нарушений не найдено"
— Если нарушения есть — укажи: какой критерий, в каком месте, почему

{объект для проверки}

Плейсхолдеры: - {объект} — что проверяем: "мой текст", "этот код", "план проекта", "договор" - {критерий_1-3} — конкретные правила: "нет орфографических ошибок", "каждый абзац не длиннее 5 строк", "сумма указана в рублях" - {объект для проверки} — сам текст/код/план

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

Вот шаблон нейтрального аудит-промпта для проверки без выдуманной критики. 
Адаптируй под мою задачу: {твоя задача}.
Задай вопросы чтобы заполнить поля.

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

LLM спросит что именно проверяем и по каким критериям — потому что список правил нужно зафиксировать явно, иначе модель будет достраивать их сама.


⚠️

Ограничения

⚠️ Не устраняет все типы галлюцинаций: Шаблон блокирует именно "фантомную критику" — изобретённые нарушения правил. Другие виды ошибок AI (галлюцинация фактов, неправильная интерпретация) он не затрагивает.

⚠️ Работает при явных критериях: Если правила нельзя сформулировать заранее (субъективная оценка, "хороший текст"), сигнал полноты не поможет — нечего объявлять исчерпывающим.

⚠️ Эффект зависит от модели: В исследовании fabrication rate сильно различался по моделям — от 0/12 до 11/12 на одних и тех же данных. Одни модели почти не подвержены, другие очень. Протестируй свою модель.

⚠️ В "add-only" петлях защита слабее: Если модель работает в режиме "добавляй правила автоматически" (не ручной чат), нейтральная инструкция без явного разрешения "ничего не делать" не останавливает накопление фантомных правил.


🧠

Почему это работает (механика)

Исследование проверяло один конкретный вопрос: что делает LLM-оптимизатор, когда чинить нечего?

Для этого создали MiniArena — детерминированную мини-игру с ходами фигур, где три класса ошибок известны заранее. Один из них — "нарушение правила рокировки" — был физически невозможен: генератор ходов не мог его произвести. Исследователи заранее знали: если AI включит защиту от этого класса, это 100% выдумка, проверяемая автоматически (байт-точный оракул).

Затем показали пять разных LLM три версии данных: реальное нарушение (все 60/60 правильно детектировали), пустые легальные данные (0/60 ложных срабатываний), и легальные данные с безобидным паттерном — повторяющимся ходом на одну клетку. Третья группа дала 15/60 выдуманных нарушений.

Потом методично отключали каждое из трёх условий — и каждое по отдельности обнуляло эффект. Это причинно-следственное доказательство, не корреляция: убрали инструкцию с "failing games" → 0/60, добавили одно предложение "правила полные" → 0/60, заменили повторяющийся квадрат на колонку без игрового аналога → 0/180.

Самый неожиданный результат: в автоматических петлях ("add-only loop"), где принятые правила не удаляются, фантомное правило входило и не выходило — даже убрав пресуппозицию из инструкции, потому что сама петля создавала эквивалентный "спрос". Это важно: чем больше автоматизации вокруг AI, тем устойчивее фантомные правила.


📄

Оригинал из исследования

Критический фрагмент — три условия и что происходит при их снятии:

The fabrication is structured. In a single proposal it appears only 
when three conditions coincide: 

1. a rule-shaped pattern [content resembling a familiar game rule]
2. an open-ended rule set [no statement that rules are complete]  
3. an instruction that presupposes failures 
   ("you are shown failing games...removes the failures")

Removing any one of these conditions eliminates the fabrication.

The practical reading: one sentence of instruction hygiene, or one 
of specification, takes a 0.25 false-positive rate to zero.

The uncomfortable reading: the deployed default of suppression-rewarded 
search sits in exactly that dangerous cell: a charter to fix failures, 
an uncertified failure taxonomy, and a genre prior riding inside the 
pretrained proposer.

Контекст: Исследователи проверяли LLM-оптимизатор на пуле легальных ходов без единого нарушения. Приведённый фрагмент — итог батареи из 60+ запусков с изменением каждого условия по отдельности.


💡

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

💡 Адаптация для code review: Просишь AI проверить код — и получаешь предупреждения о "потенциальных проблемах", которых нет? Добавь в промпт: "проверяй только явные нарушения этих правил: {список}. Это полный список. Потенциальные и стилистические замечания не нужны."

💡 Адаптация для редактуры текста: Вместо "улучши текст" → "проверь соответствие этим критериям: {критерии}. Если всё соответствует — текст готов, не меняй."


🔧 Техника: добавить явное разрешение на "ничего не делать"

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


🔧 Техника: нейтральный глагол вместо активного

❌ Провоцирует ✅ Нейтральный
"Найди ошибки" "Есть ли ошибки?"
"Улучши текст" "Нужны ли изменения?"
"Исправь проблемы" "Соответствует ли требованиям?"
"Что здесь не так?" "Нарушен ли хоть один из критериев?"

Один глагол меняет пресуппозицию с "ошибки есть, найди их" на "неизвестно, проверь".


🔗

Ресурсы

Phantom Guardrails: When Self-Improving Agent Harnesses Fix Failures That Never Happened

Авторы: Su Wang, Yihang Chen, Pin Qian, Xiaochong Jiang, Yifan Lin, Lifei Liu, Jingzhou Xu, Haoran Yu

Аффилиации: Carnegie Mellon University, Georgia Institute of Technology, Northeastern University, Corespeed Inc.

Инструмент: Counterfactual Fabrication Lab (детерминированная микролаборатория для измерения изобретённых нарушений)


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

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

Обнаружено: AI выдумывает не только факты — он выдумывает критику. Попросишь «найди ошибки» — модель создаёт спрос на проблемы и находит нарушения там, где их нет. В экспериментах 15 из 60 запусков давали изобретённые нарушения на тексте без единого реального изъяна. На нейтральном вводе — ноль из 60. Метод позволяет полностью отключить этот эффект двумя правками в промпте. Фишка: три условия запускают фантомную критику — убери любое одно, и выдуманных нарушений нет. Замени «найди ошибки» на «нужны ли изменения?», добавь «это все критерии, скрытых нет» — и AI честно ответит «нарушений нет» вместо изобретения проблем.

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

Фраза «найди ошибки» работает как приказ со встроенным условием: ошибки точно есть, найди их. Модель не просто читает текст — она тянет правила из обучения и прикладывает их к вашему контенту. Если текст хоть немного напоминает знакомую область — журналистику, бизнес-планы, код — модель находит «нарушение» чужого правила и уверенно сообщает о нём. Три условия работают как замок с тремя ключами — убери любой один, и механизм не сработает. Условие первое: контент похож на знакомую AI область. Условие второе: список правил не объявлен полным. Условие третье: инструкция предполагает, что ошибки есть. Все три вместе — AI выдумывает. Нет хотя бы одного — ноль выдуманных нарушений.

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

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

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

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

Мини-рецепт

1. Поменяй инструкцию: не «найди ошибки и исправь» — а «проверь, нарушен ли хотя бы один критерий». Убираешь встроенную пресуппозицию что ошибки есть.
2. Зафикси критерии списком: перечисли конкретные правила явно — «каждый абзац не длиннее 5 строк», «сумма указана цифрами», «есть дедлайн для каждой задачи». Без списка модель будет сама достраивать правила из обучения.
3. Объяви список полным: добавь одну фразу сразу после списка — «это исчерпывающий список критериев, других требований нет». Это убирает второй ключ из замка.
4. Разреши вернуть пустой результат: явно добавь — «если нарушений нет — ответь: нарушений не найдено». Без этого разрешения модель всё равно тянется найти хоть что-то.

Примеры

[ПЛОХО] : Вот мой план запуска. Найди все ошибки, слабые места и проблемы. Исправь что требует исправления.
[ХОРОШО] : Проверь план по трём критериям: — у каждой задачи есть дедлайн — у каждой задачи есть ответственный — задачи не противоречат друг другу по срокам Это исчерпывающий список. Других требований нет. Если нарушений нет — ответь: «нарушений нет». Если есть — укажи какой критерий, в каком месте. [план]
Источник: Phantom Guardrails: When Self-Improving Agent Harnesses Fix Failures That Never Happened
ArXiv ID: 2607.13083 | Сгенерировано: 2026-07-16 04:23

Проблемы LLM

ПроблемаСутьКак обойти
Запрос «найди ошибки» создаёт спрос на выдуманные проблемыФраза «найди ошибки» предполагает: ошибки есть. Модель генерирует следующий токен. В контексте «ищу ошибки» предсказание «ошибок нет» слабее предсказания конкретной ошибки. Даже слабый знакомый паттерн в тексте — и модель достаёт правила из обучения. Прикладывает их. Находит «нарушение». Которого не было. Это не галлюцинация данных — это галлюцинация критикиЗамени формулировку. Вместо «найди ошибки» — «нарушен ли хоть один из этих критериев?». Добавь явный список правил и пометь: «это исчерпывающий список, других нет». Разреши вернуть пустой результат: «если нарушений нет — так и скажи»

Методы

МетодСуть
Нейтральный аудит-промпт — проверка без выдуманной критикиТри компонента вместе. 1. Нейтральная задача: не «найди ошибки», а «проверь, нарушен ли критерий». 2. Сигнал полноты: явно пиши «это исчерпывающий список критериев, других нет» — иначе модель сама достроит правила из обучения. 3. Явное разрешение ничего не нашли: «если нарушений нет — ответь: нарушений не найдено». Без этого разрешения пустой результат конкурирует с изобретённой ошибкой. Шаблон: Критерии: {1}, {2}, {3}. Это исчерпывающий список. Нарушен ли хоть один? Если нет — так и скажи. Когда работает: есть формулируемые критерии. Когда не работает: субъективная оценка без явных правил — нечего объявлять исчерпывающим

Тезисы

ТезисКомментарий
Фантомная критика возникает только при трёх условиях одновременноУсловие 1: контент похож на знакомую модели область — она импортирует правила из обучения. Условие 2: набор правил не объявлен полным — модель достраивает скрытые критерии. Условие 3: инструкция предполагает наличие ошибок. Главное: убери любое одно — и выдуманные нарушения исчезают. Не нужно блокировать все три. Проще всего убрать третье — заменить формулировку инструкции
📖 Простыми словами

Phantom Guardrails: When Self-ImprovingAgentHarnesses Fix Failures That Never Happened

arXiv: 2607.13083

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

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

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

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

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

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

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

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