3,583 papers
arXiv:2604.06015 74 7 апр. 2026 г. FREE

Иерархия надёжности инструкций: почему модель точно считает слова, но путается с тоном

КЛЮЧЕВАЯ СУТЬ
Структурные инструкции — точность 0.82. Семантические — 0.60. Разрыв в 20+ пунктов объясняет одну знакомую боль: модель выдала ровно 200 слов и вставила ключевое слово, но тон поехал. Метод разделённых блоков позволяет управлять обоими типами ограничений осознанно — каждый тип получает свой подход, а не болтается в общей куче. Структурные требования — в первый блок и явно, семантические — якоришь коротким примером стиля вместо расплывчатого слова, в конце промпта — блок самопроверки: модель сама считает слова и оценивает тон — это не хитрость, а буквальное совпадение с архитектурой: пик точности модели приходится на последний токен.
Адаптировать под запрос

TL;DR

Когда ты даёшь модели список требований, она не выполняет их через один механизм. Каждый тип ограничения — отдельный навык, опирающийся на разные уровни модели. Точное число слов, JSON-формат, запрет на определённое слово — это структурные ограничения. Тон, тема, стиль, регистр — семантические. Они буквально обрабатываются в разных "местах" модели.

Структурные ограничения выполняются надёжнее. В экспериментах точность их соблюдения — 0.82–0.84, семантических — 0.60–0.69. Вот почему знакомая боль: модель выдала ровно 200 слов и включила ключевое слово, но тон "съехал" или тема ушла в сторону. Это не случайность и не невнимательность — это архитектурная особенность.

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


🔬

Схема метода

Не пошаговая техника, а карта надёжности ограничений — принцип структурирования промпта:

СТРУКТУРНЫЕ (надёжность высокая):
├── Точное число слов / символов
├── JSON-формат, Markdown-структура
├── Включить слово X
└── Исключить слово Y

СЕМАНТИЧЕСКИЕ (надёжность ниже):
├── Тема текста
├── Тональность (позитивная / нейтральная)
├── Регистр (деловой / разговорный)
└── Избегание токсичности / определённого стиля

👉 Правила применения:
1. Структурные → ставь первыми, пиши явно и однозначно
2. Семантические → подкрепляй конкретным примером стиля
3. Конец промпта → добавь блок самопроверки: считай слова, оцени тон

Всё работает в рамках одного промпта.


🚀

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

Задача: Ты контент-менеджер. Клиент — IT-стартап из Москвы. Нужен пост в Telegram: ровно 120 слов, обязательно слово «экспертиза», деловой тон, тема — рост команды, никаких восклицательных знаков.

Промпт:

Напиши пост для Telegram-канала IT-компании.

СТРУКТУРНЫЕ ТРЕБОВАНИЯ (выполни точно):
- Ровно 120 слов в тексте поста
- Обязательно включи слово «экспертиза»
- Без восклицательных знаков

СМЫСЛОВЫЕ ТРЕБОВАНИЯ:
- Тема: рост команды, найм новых специалистов
- Тон: деловой, сдержанный — как CEO в колонке РБК, не как мотивационный спикер
- Пример нужного стиля:
  «В первом квартале команда выросла на 30% — добавили 
  четыре направления. Средний опыт нового специалиста — 
  семь лет в индустрии. Фокус остаётся прежним: результат, 
  а не процесс.»

САМОПРОВЕРКА ПОСЛЕ ТЕКСТА:
Напиши отдельным блоком:
— Точное число слов в посте
— Подтверди наличие слова «экспертиза»
— Оцени деловитость тона по шкале 1–10

Результат: Модель выдаст пост, затем отдельный блок самопроверки. Структурные требования (120 слов, «экспертиза», нет «!») скорее всего будут выполнены точно. Деловой тон — потребует проверки: именно здесь выше риск отклонения. Блок самопроверки сразу покажет расхождения без повторного чтения вручную.


🧠

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

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

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

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

Рычаги управления: - Конкретный пример стиля → чем точнее ("как Тиньков в Forbes"), тем надёжнее семантика - Разделение блоков → убери, если ограничение одно и оно структурное — лишнее усложнение - Блок самопроверки → добавляй при трёх и более разных типах ограничений; убирай при простых задачах - Число ограничений → чем меньше в одном промпте, тем точнее каждое; если много — разбей на два запроса


📋

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

{Задача: что нужно создать и для какого канала/формата}

СТРУКТУРНЫЕ ТРЕБОВАНИЯ (выполни точно):
- {ограничение 1: длина, формат, включить слово}
- {ограничение 2: исключить слово, структура}
- {ограничение 3: технический формат}

СМЫСЛОВЫЕ ТРЕБОВАНИЯ:
- Тема: {тема}
- Тон: {тон} — как {конкретный пример стиля или автора}
- Пример нужного стиля:
  «{короткий образец текста в нужном тоне}»

САМОПРОВЕРКА ПОСЛЕ ТЕКСТА:
Напиши отдельным блоком:
— {структурная проверка 1: число слов / наличие слова X}
— {структурная проверка 2: отсутствие запрещённого символа}
— {семантическая оценка: тон по шкале 1–10}

Что подставлять: - {структурное ограничение} — всё, что можно посчитать или проверить объективно: символы, слова, JSON, Markdown - {конкретный пример стиля} — реальный отрывок текста или узнаваемый автор/формат; абстрактные слова типа "сдержанный" работают хуже - {семантическая оценка} — конкретный критерий, а не просто "хорошо/плохо"

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

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

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

LLM спросит про структурные требования (длина, ключевые слова, формат) и смысловые (тон, тема, стиль) — потому что ей нужно правильно разложить их по блокам. Ключевой вопрос будет про пример стиля: без него семантический блок останется расплывчатым.


⚠️

Ограничения

⚠️ Семантические ограничения невозможно проверить объективно: "Деловой тон" — оценочное суждение. Модель в блоке самопроверки может поставить себе 9/10, хотя тон воспринимается иначе. Конкретный пример стиля частично решает проблему, но не устраняет.

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

⚠️ Разные модели работают по-разному: Llama кодирует ограничения более специфично. Qwen сильнее полагается на общие языковые паттерны — там структурные и семантические ограничения сильнее перемешаны. Один и тот же промпт может дать разный результат в разных моделях.


🔍

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

Команда Миланского университета придумала элегантный дизайн. Они собрали датасет с "правильными, но неправильными" ответами: грамматически корректными фразами, которые нарушают конкретное ограничение. Например, "Bird sings" — нормальная английская фраза, но если задание "ровно 10 символов" — это ошибка. Это ключевой ход: он исключает ситуацию, когда модель просто пишет "хороший текст" и получает зачёт автоматически.

Потом они обучили линейные классификаторы-зонды — миниатюрные модели, которые по внутренним состояниям большой модели предсказывали: "она выполнила ограничение или нет?" Сравнение зонда-специалиста (обученного только на одной задаче) против универсального зонда (обученного на всех задачах) сразу показало картину: универсальный постоянно проигрывал специалистам. Ни одного механизма нет — есть отдельные навыки.

Самый неожиданный результат появился при анализе временной динамики. Авторы ожидали увидеть сигнал соответствия инструкции ещё до начала генерации — что модель "планирует" заранее. Но сигнал появлялся почти на нуле, резко рос во время генерации и давал пик на финальном токене. Это значит: модель не планирует — она мониторит. И именно поэтому просьба "проверь сам в конце" работает: это не трюк, а использование естественного поведения.

Проверяли на трёх моделях: Llama 3.1 8B, Gemma 2 2B и Qwen2.5 0.5B. Девять типов задач охватывали четыре измерения: структурное, лексическое, семантическое, стилистическое. Вычисления — на одной H100 GPU с 94 ГБ памяти.


💡

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

📌

Адаптация: два запроса вместо одного при критичных требованиях

Когда оба типа ограничений важны и не терпят ошибок — разделение снижает конкуренцию между ними.

🔧 Техника: структура отдельно → семантика отдельно

Шаг 1 — структурный каркас:
«Напиши черновик поста на тему {тема}. 
Ровно 120 слов, включи слово "экспертиза", без восклицательных знаков. 
Тон пока любой.»

Шаг 2 — доработка семантики:
«Перепиши этот текст деловым сдержанным тоном, 
как колонка в РБК Pro. Не меняй длину и структуру.»

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


📌

Экстраполяция: принцип специализации — разные чаты для разных типов задач

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


🔗

Ресурсы

"How LLMs Follow Instructions: Skillful Coordination, Not a Universal Mechanism" Elisabetta Rocchetti, Alfio Ferrara Department of Computer Science, Università degli Studi di Milano elisabetta.rocchetti@unimi.it

Связанные работы: IFEval (Zhou et al., 2023), InFoBench (Qin et al., 2024b), FollowBench (Jiang et al., 2024), INLP (Ravfogel et al., 2020), PWCCA (Morcos et al., 2018), исследования "instruction-following dimension" (Heo et al., 2025; Stolfo et al., 2025)


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

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

Структурные инструкции — точность 0.82. Семантические — 0.60. Разрыв в 20+ пунктов объясняет одну знакомую боль: модель выдала ровно 200 слов и вставила ключевое слово, но тон поехал. Метод разделённых блоков позволяет управлять обоими типами ограничений осознанно — каждый тип получает свой подход, а не болтается в общей куче. Структурные требования — в первый блок и явно, семантические — якоришь коротким примером стиля вместо расплывчатого слова, в конце промпта — блок самопроверки: модель сама считает слова и оценивает тон — это не хитрость, а буквальное совпадение с архитектурой: пик точности модели приходится на последний токен.

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

Стандартный подход — список вперемешку: "200 слов, деловой тон, слово 'экспертиза', без жаргона". Модель видит всё это одновременно и обрабатывает как придётся. Структурные требования конкурируют с семантическими за внимание — часть теряется. Разделённые блоки включают разные механизмы модели в нужный момент. Структурный блок первым — модель видит счётные ограничения рано, в начале генерации, и держит их. Семантический блок с примером — не слово "деловой", а конкретный отрывок в нужном стиле: модель цепляется за образец, а не за абстракцию. Блок самопроверки в конце — запрос сделать то, что модель и так делает изнутри, только теперь явно и принудительно.

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

Сигнал соответствия инструкции в модели почти нулевой до начала ответа. Он нарастает в процессе генерации. Достигает пика на последнем токене. Модель не планирует выполнение инструкций заранее — она отслеживает их на ходу, и самая точная точка — финал. Блок самопроверки в конце промпта попадает точно в этот пик. Пример стиля для семантических ограничений работает потому, что тон и тема формируются позже в генерации и требуют плотного контекста-ориентира. Расплывчатое слово "деловой" его не даёт. Конкретный отрывок — даёт. Именно поэтому "как колонка в РБК" работает лучше, чем "сдержанный профессиональный тон".

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

Контент с несколькими разнотипными ограничениями → особенно когда структурные требования критичны (ровно N слов, обязательное слово, конкретный формат), а стиль при этом специфичен и важен. Корпоративные тексты, посты с чёткими редакционными правилами, технические описания с заданным регистром. НЕ подходит для простых задач с одним типом ограничения — лишнее усложнение замедляет и не помогает. Если единственное требование — уложиться в 100 слов, отдельные блоки и самопроверка избыточны.

Мини-рецепт

1. Раздели требования на два списка: структурные (длина в словах/символах, формат, включить или исключить конкретное слово) — отдельно, семантические (тон, тема, стиль, регистр) — отдельно. Смешивать нельзя.

2. Первый блок — структурные требования: пиши явно и однозначно. "Ровно 120 слов", а не "около 120". "Обязательно слово 'экспертиза'" — конкретно.

3. Второй блок — семантические требования с якорем: вместо "деловой тон" — "как CEO в колонке РБК, не как мотивационный спикер". Добавь 2–3 предложения в нужном стиле как пример. Чем конкретнее образец — тем точнее результат.

4. В конце промпта — блок самопроверки: попроси модель посчитать слова, подтвердить наличие обязательного слова, оценить тон по шкале 1–10. Это активирует пик точности на последнем токене — не декорация, а рабочий механизм.

Примеры

[ПЛОХО] : Напиши пост для Telegram: 120 слов, деловой тон, слово «экспертиза», без восклицательных знаков, тема — рост команды
[ХОРОШО] : Напиши пост для Telegram-канала IT-компании. СТРУКТУРНЫЕ ТРЕБОВАНИЯ (выполни точно): - Ровно 120 слов - Обязательно включи слово «экспертиза» - Без восклицательных знаков СМЫСЛОВЫЕ ТРЕБОВАНИЯ: - Тема: рост команды, найм новых людей - Тон: как CEO в колонке РБК — не мотивационный спикер - Пример стиля: «Команда выросла на 30%. Средний опыт нового специалиста — семь лет в индустрии. Фокус остаётся прежним: результат, не процесс.» САМОПРОВЕРКА ПОСЛЕ ТЕКСТА: — Точное число слов в посте — Подтверди наличие слова «экспертиза» — Деловитость тона по шкале 1–10 Структурные требования модель выполнит с высокой точностью. Тон — риск выше. Блок самопроверки сразу покажет расхождения без повторного чтения вручную.
Источник: How LLMs Follow Instructions: Skillful Coordination, Not a Universal Mechanism
ArXiv ID: 2604.06015 | Сгенерировано: 2026-04-08 05:25

Проблемы LLM

ПроблемаСутьКак обойти
Смысловые требования выполняются ненадёжноПросишь деловой тон, нейтральный стиль, конкретную тему. Модель выдаёт ровно 200 слов и вставляет нужное слово — структурные требования точные. Но тон уходит в сторону. Тема размывается. Это не невнимательность. Смысловые ограничения буквально обрабатываются в других частях модели, чем структурные. Точность структурных — ~0.82, смысловых — ~0.65Давай конкретный пример стиля. Не пиши "деловой тон" — пиши "как CEO в колонке РБК" и дай короткий образец. Абстрактное слово даёт размытый сигнал, конкретный текст — точный

Методы

МетодСуть
Разделение требований по типам — надёжность растётРаздели требования в промпте на два явных блока. Первый: структурные — всё что можно посчитать или проверить объективно (длина, формат, конкретное слово, запрещённый символ). Второй: смысловые — тон, тема, стиль. Для смыслового блока обязательно добавь образец текста в нужном стиле. В конце добавь блок самопроверки: пусть модель сама посчитает слова, подтвердит наличие ключевого слова, оценит тон по шкале. Почему работает: структурные ограничения модель замечает рано — в первых слоях генерации. Смысловые требуют плотного контекста. Разные блоки не конкурируют за внимание. Самопроверка в конце совпадает с внутренней работой модели — пик точности на последнем токене. Когда применять: три и больше разных требований. Когда не нужен: одно-два простых ограничения — лишнее усложнение

Тезисы

ТезисКомментарий
Самопроверка в конце промпта работает с архитектурой, а не против неёМодель не планирует выполнение требований до начала ответа. Она отслеживает их в процессе. Сигнал соответствия почти нулевой перед генерацией — и резко растёт к последнему токену. Явный блок самопроверки в конце усиливает этот естественный пик. Применяй: в конце промпта добавляй "напиши отдельным блоком: точное число слов, подтверди наличие слова X, оцени тон по шкале 1–10"
📖 Простыми словами

HowLLMsFollow Instructions: Skillful Coordination, Not a Universal Mechanism

arXiv: 2604.06015

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

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

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

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

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

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

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

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