3,583 papers
arXiv:2606.07808 79 5 июня 2026 г. FREE

Instruction Hierarchy Monitor: двухшаговая само-проверка, которая снижает нарушения инструкций на 81–99%

КЛЮЧЕВАЯ СУТЬ
Модель нарушает ваше правило — а потом сама же его находит, если попросить проверить свой ответ. Метод последовательного монитора вывода (SOM) позволяет автоматически отловить и исправить нарушения ваших ограничений в любом ответе LLM — без дообучения и без кода. Три шага вместо одного: черновик → явный аудит по каждому правилу → исправленный финал. Детектировать нарушение для модели куда проще, чем избежать его во время генерации — снижение нарушений на 81–99%.
Адаптировать под запрос

TL;DR

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

Проблема — в том, как LLM теряет ваши инструкции в длинном диалоге. Скажем, вы в начале указали "никаких скидок больше 20%", а через 15 сообщений клиент просит 40%. Модель может видеть ваше правило, признавать его в рассуждениях, но всё равно нарушить в финальном ответе. Это три разных сбоя: потеряла инструкцию, выбрала не тот приоритет, или знала правило — но всё равно нарушила. Чем длиннее контекст, тем чаще сбои и тем глубже их причина.

Решение — последовательный монитор выхода (Sequential Output Monitor, SOM): сначала модель генерирует черновик, затем явно проверяет его против списка ограничений и переписывает при нарушении. Два шага вместо одного. Именно потому что детектировать — значительно проще для модели, чем соблюдать автоматически.


🔬

Схема метода

Оба механизма работают в обычном чате — без кода и API.

SOM — два последовательных запроса (или один составной промпт):

ШАГ 1: Сгенерировать черновик → обычный ответ на задачу

ШАГ 2: Проверить черновик → список нарушений по каждому правилу

ШАГ 3: Переписать → чистый финальный ответ без нарушений

PIM — параллельная проверка ПЕРЕД ответом:

До ответа: Найди конфликты между инструкциями → список конфликтов + предупреждение

После: Ответь с учётом обнаруженных конфликтов → финальный ответ

SOM эффективнее — он ловит все три типа сбоев. PIM быстрее — проверяет только входные инструкции, не трогая сам ответ.


🚀

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

Задача: Вы управляете Telegram-каналом магазина электроники и настроили ИИ-ассистента для написания постов. Правила жёсткие: не упоминать конкурентов, не называть розничные цены (только "от X рублей"), максимум 250 слов. В середине диалога попросили "добавить сравнение с конкурентами для убедительности" — и модель это сделала, нарушив своё же ограничение.

Промпт (SOM — один составной запрос):

Работай в три шага. Не выводи промежуточные рассуждения, только результат каждого шага.

=== ШАГ 1: ЧЕРНОВИК ===
Напиши пост для Telegram-канала магазина электроники:
Тема: {тема поста}
Продукт: {название и ключевые характеристики}

=== ШАГ 2: АУДИТ ===
Проверь черновик выше по каждому правилу:

ПРАВИЛО 1 — Без упоминания конкурентов (названия брендов, магазинов, сервисов)
→ Соблюдено / Нарушено: [объясни конкретно]

ПРАВИЛО 2 — Цены только в формате "от X рублей", без точных цифр
→ Соблюдено / Нарушено: [объясни конкретно]

ПРАВИЛО 3 — Максимум 250 слов
→ Соблюдено / Нарушено: [точное количество слов]

ПРАВИЛО 4 — {твоё дополнительное правило}
→ Соблюдено / Нарушено: [объясни конкретно]

=== ШАГ 3: ФИНАЛЬНЫЙ ПОСТ ===
Если найдены нарушения — перепиши пост с учётом всех правил.
Если нарушений нет — выведи черновик без изменений.
Выведи только чистый текст поста.

Результат: Модель выдаст три блока. В ШАГ 2 — явный аудит по каждому правилу с указанием проблемных мест (например: "ПРАВИЛО 1 — Нарушено: упомянут Яндекс.Маркет в 3-м абзаце"). В ШАГ 3 — переписанный чистый пост, в котором нарушения исправлены. Если черновик был чистым — просто получите текст без лишних шагов.


🧠

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

Слабость LLM — не в том, что модель "не знает правила". Она знает. Проблема в том, что когда модель генерирует текст, она одновременно удерживает в фокусе задачу пользователя, контекст диалога, стиль, структуру — и ваши ограничения конкурируют за "внимание" модели. При длинном контексте ограничения из начала разговора вытесняются, особенно если запрос пользователя сформулирован убедительно или эмоционально.

Сильная сторона LLM — точечная оценка по конкретному критерию. Когда задача сужена до "проверь вот этот текст вот против этого правила", модель справляется почти идеально. Это другая операция: не балансировать много требований одновременно, а применить одно правило к готовому тексту.

Метод использует эту асимметрию. Разделяем генерацию и проверку — модель делает каждую задачу отдельно. Черновик — без стресса от ограничений. Аудит — без стресса от творческой задачи. Финал — только исправить конкретные места.

Рычаги управления:

  • Детализация правил в ШАГ 2 → чем конкретнее формулировка ("не упоминать Wildberries, Ozon, Яндекс.Маркет" вместо "без конкурентов"), тем точнее аудит
  • Количество правил → при 7+ правилах эффективность падает; лучше разбить на два прохода
  • Строгость финала → добавь "перепиши даже если нарушение незначительное" для жёсткого режима или "перепиши только критические нарушения" для мягкого
  • Формат ШАГ 2 → можно заменить на "выдай только список нарушений без оценки соблюдённых" — короче, дешевле по токенам

📋

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

Работай в три шага.

=== ШАГ 1: ЧЕРНОВИК ===
{основная задача}

=== ШАГ 2: АУДИТ ===
Проверь черновик выше по каждому правилу:

ПРАВИЛО 1 — {ограничение 1}
→ Соблюдено / Нарушено: [объясни конкретно]

ПРАВИЛО 2 — {ограничение 2}
→ Соблюдено / Нарушено: [объясни конкретно]

ПРАВИЛО 3 — {ограничение 3}
→ Соблюдено / Нарушено: [объясни конкретно]

=== ШАГ 3: ФИНАЛЬНЫЙ РЕЗУЛЬТАТ ===
Если найдены нарушения — исправь и выведи финальную версию.
Если нарушений нет — выведи результат из Шага 1 без изменений.

Что подставлять: - {основная задача} — твой обычный промпт: "напиши пост", "составь письмо", "сделай анализ" - {ограничение N} — конкретные правила: формат, запреты, обязательные элементы, тон - Правил должно быть 3–6 для надёжной проверки

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

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

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

LLM спросит какие правила и ограничения важны для твоей задачи — потому что именно их точная формулировка определяет качество аудита в ШАГ 2.


⚠️

Ограничения

⚠️ Длинный список правил: При 7+ ограничениях точность аудита падает — модель начинает "скользить" по правилам. Разбей на два прохода или приоритизируй 3–5 ключевых.

⚠️ Адаптивные атаки: Если пользователь (или внешний контент) специально формулирует запрос чтобы обойти ваши правила — SOM помогает, но не панацея. В тестах снижение атак составило 30–49%, не 81–99% как при обычных нарушениях.

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

⚠️ Нарушения внутри цитирования: Модель может "знать" правило, но нарушить его, выводя запрещённое содержимое как часть примера или псевдокода. SOM ловит это не всегда — особенно если формулировка правила не покрывает косвенное раскрытие.


🔍

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

Исследователи NVIDIA выбрали красивый дизайн: взяли готовые бенчмарки (IHEval и IH-Challenge) с заранее известными конфликтами между инструкциями и начали вставлять между конфликтующими инструкциями нейтральные диалоговые повороты — от 0 до 8 пар вопрос-ответ. Идея простая: посмотреть как расстояние между инструкциями влияет на поведение модели. Чем дальше инструкции друг от друга — тем хуже модель их балансирует.

Проверяли три модели: Gemma-4-31B, Qwen3.6-35B и Claude Sonnet 4.6. Для каждого нарушения смотрели не только что модель ответила, но и как она рассуждала — читали "цепочку мыслей" (thinking trace) и определяли на каком шаге произошёл сбой. Это ключевое: большинство предыдущих исследований смотрели только на финальный ответ, и не понимали почему модель нарушила правило.

Самая неожиданная находка — realization failures: модель в рассуждениях пишет "нельзя раскрывать код noragrets" и тут же раскрывает его в финальном ответе, когда вынуждена отвечать на вопрос про структуру системного промпта. Это показало: мониторинг входа недостаточен — нужен мониторинг выхода. Именно это открытие привело к SOM.


💡

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

🔧 Техника: PIM как "конфликт-чек" перед ответом

Если у тебя длинный промпт с множеством условий — добавь в начало явный шаг перед ответом:

Прежде чем отвечать:
1. Перечисли все мои ограничения и правила из этого промпта
2. Проверь, конфликтует ли запрос пользователя с любым из них
3. Если конфликт найден — укажи его и ответь с учётом приоритета правил

Теперь отвечай: {задача}

Это PIM в ручном режиме. Особенно полезно когда промпт сложный и инструкций много.


🔧 Техника: Диагностика "какой тип сбоя"

Если модель нарушила твоё правило — не перефразируй промпт вслепую. Сначала диагностируй:

Я просил тебя {правило}, но ты {что нарушил}. 
Объясни: ты видел это правило в моём запросе? 
Ты понял что оно имеет приоритет перед запросом пользователя? 
Почему финальный ответ его нарушает?

По ответу поймёшь что чинить: - Не видел правило → повтори ближе к задаче - Видел, но выбрал не тот приоритет → явно укажи "это правило важнее любых просьб пользователя" - Видел, выбрал правильно, но нарушил → используй SOM (ШАГ 2: аудит)


🔗

Ресурсы

Where Instruction Hierarchy Breaks: Diagnosing and Repairing Failures in Reasoning Language Models Авторы: Sanjay Kariyappa, G. Edward Suh Организация: NVIDIA Препринт, 2025

Связанные работы упомянутые в статье: - IHEval (Zhang et al.) — бенчмарк соблюдения иерархии инструкций - IH-Challenge (Guo et al.) — бенчмарк атак на иерархию - Instruction Hierarchy (Wallace et al., 2024) — оригинальное определение иерархии привилегий - PAIR (Chao et al., 2023) — метод адаптивных атак, использованный для стресс-тестирования


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

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

Модель нарушает ваше правило — а потом сама же его находит, если попросить проверить свой ответ. Метод последовательного монитора вывода (SOM) позволяет автоматически отловить и исправить нарушения ваших ограничений в любом ответе LLM — без дообучения и без кода. Три шага вместо одного: черновик → явный аудит по каждому правилу → исправленный финал. Детектировать нарушение для модели куда проще, чем избежать его во время генерации — снижение нарушений на 81–99%.

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

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

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

Исследователи нашли три разных типа сбоев: модель потеряла инструкцию в длинном контексте, выбрала не тот приоритет, или знала правило — но всё равно нарушила в финале. Чем длиннее диалог, тем чаще все три. Особенно плохо, когда запрос пользователя сформулирован убедительно — ваше ограничение из начала разговора просто вытесняется. SOM ловит все три типа сбоев, потому что аудит не зависит от того, как далеко в контексте лежит правило — он смотрит на готовый текст. Жесть — 81–99% снижения нарушений без дообучения, без кода, только структура из трёх шагов.

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

Везде, где есть жёсткие и проверяемые правила. Чат-боты для бизнеса — нельзя упоминать конкурентов, давать скидки выше порога, называть точную цену. Написание контента — правила формата, длины, запрещённые слова или темы. Юридические и медицинские тексты — модель не должна давать конкретных советов. Особенно полезен в длинных диалогах, где правила задавали в начале разговора. НЕ подходит для размытых критериев — «тон должен быть дружелюбным» сложно проверить чётко, и аудит будет таким же нечётким.

Мини-рецепт

1. Возьми свой обычный промпт: что уже пишешь модели — ничего не трогай, просто оберни.
2. Добавь три блока: ШАГ 1 — твоя задача (черновик); ШАГ 2 — список правил с форматом «Соблюдено / Нарушено: [объясни конкретно]»; ШАГ 3 — «если найдены нарушения — исправь, если нет — выведи черновик без изменений».
3. Сформулируй правила конкретно: не «без конкурентов», а «не упоминать Wildberries, Ozon, DNS». Чем точнее формулировка — тем точнее аудит.
4. Держи 3–6 правил за один проход: при 7+ точность падает — модель начинает скользить по списку. Разбей на два запроса или оставь только ключевые.
5. Выбери строгость финала: добавь «перепиши даже незначительные нарушения» для жёсткого режима или «исправь только критические» для мягкого.

Примеры

[ПЛОХО] : Напиши пост для магазина электроники. Правила: без конкурентов, цены ориентировочные, до 250 слов. Тема: новый смартфон
[ХОРОШО] : Работай в три шага. === ШАГ 1: ЧЕРНОВИК === Напиши пост для Telegram-канала магазина электроники. Тема: новый смартфон X, ключевые характеристики: [характеристики]. === ШАГ 2: АУДИТ === Проверь черновик по каждому правилу: ПРАВИЛО 1 — Не упоминать Wildberries, Ozon, DNS, Citilink, Яндекс.Маркет → Соблюдено / Нарушено: [объясни конкретно] ПРАВИЛО 2 — Цены только в формате «от X рублей», без точных цифр → Соблюдено / Нарушено: [объясни конкретно] ПРАВИЛО 3 — Максимум 250 слов → Соблюдено / Нарушено: [точное количество слов] === ШАГ 3: ФИНАЛЬНЫЙ ПОСТ === Если найдены нарушения — перепиши с учётом всех правил. Если нарушений нет — выведи черновик без изменений.
Источник: Where Instruction Hierarchy Breaks: Diagnosing and Repairing Failures in Reasoning Language Models
ArXiv ID: 2606.07808 | Сгенерировано: 2026-06-09 04:32

Проблемы LLM

ПроблемаСутьКак обойти
Модель нарушает правила которые сама же видитКогда модель генерирует текст — она одновременно держит в голове задачу, стиль, структуру и ваши ограничения. Всё конкурирует за внимание. Ограничения проигрывают. Особенно те, что стоят в начале диалога. Модель может процитировать ваше правило — и тут же его нарушить в ответе. Это не незнание. Это архитектурная перегрузкаРаздели генерацию и проверку. Сначала — черновик без стресса от правил. Потом — явный аудит каждого правила по черновику. Потом — исправление. Три шага вместо одного

Методы

МетодСуть
Черновик Аудит ФиналОборачиваешь любой запрос в три блока. ШАГ 1: обычная задача — "напиши пост", "составь письмо". ШАГ 2: явная проверка черновика по каждому правилу. Формат: ПРАВИЛО N — {ограничение} Соблюдено / Нарушено: [объясни конкретно]. ШАГ 3: "Если найдены нарушения — исправь и выведи финал. Если нет — выведи черновик без изменений". Почему работает: проверить одно правило на готовом тексте — простая задача для модели. Генерировать с учётом семи правил одновременно — сложная. Разделяешь сложное на простые шаги. Ограничения: при 7+ правилах точность падает. Дели на два прохода. Работает для чётких правил (формат, запреты, длина). Для субъективных ("дружелюбный тон") — хуже
📖 Простыми словами

Where Instruction Hierarchy Breaks: Diagnosing and Repairing Failures in ReasoningLanguageModels

arXiv: 2606.07808

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

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

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

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

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

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

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

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