TL;DR
Когда вы добавляете к промпту простое ограничение — «не используй запятые», «пиши без маркированных списков», «не употребляй слово "однако"» — модель не просто переформулирует тот же ответ. Она переключается в режим минимального ответа: текст становится вдвое короче, теряет структуру и половину смысла. При этом ограничение выполняется исправно. Модель сделала «как просили» — но дала вполовину меньше, чем могла.
Ключевая находка: это не проблема возможностей, а проблема планирования. Модель «решает», сколько писать, ещё до того, как напишет первое слово — и при наличии ограничения выбирает короткий путь. При этом если дать ей сначала написать свободно, а потом попросить переписать под ограничение — она восстанавливает 60–96% объёма и качества. Может, просто не хочет по умолчанию.
Решение — двухпроходная генерация: сначала попросите написать полный ответ без ограничений, потом попросите переписать его с нужным форматом, явно указав «сохрани полноту и все детали». Два запроса вместо одного — и качество возвращается.
Схема метода
ШАГ 1 (отдельный запрос): Ответь на вопрос полно, без ограничений
→ Получаем развёрнутый ответ со всей информацией
ШАГ 2 (отдельный запрос): Перепиши этот текст под ограничение,
сохрани все детали и полноту
→ Получаем тот же объём, но в нужном формате
Оба шага — обычный чат. Ничего технического.
Пример применения
Задача: Нужно написать письмо потенциальному партнёру — без канцелярских слов-связок («тем не менее», «следовательно», «помимо этого»), которые делают текст скучным и формальным. Это живой запрос: редакторы, маркетологи, основатели — все хотят такие тексты.
Промпт (шаг 1):
Напиши письмо потенциальному партнёру — инвестиционному фонду.
Мы — сервис доставки еды из ресторанов в малых городах России (100–300 тыс. жителей),
работаем в 12 городах, оборот 40 млн рублей в месяц.
Хотим обсудить раунд на расширение в 30 новых городов.
Пиши полно: покрой ценность, метрики, запрос и следующий шаг.
Промпт (шаг 2):
Вот текст письма:
[вставить результат шага 1]
Перепиши его так, чтобы в тексте не было слов: «тем не менее», «следовательно»,
«помимо этого», «таким образом», «более того», «в связи с этим».
Важно: сохрани все детали, аргументы и структуру — только замени эти слова
на живые переходы или просто убери их, перестроив предложения.
Результат: На первом шаге модель выдаст полноценное письмо с аргументами, метриками и призывом к действию. На втором — перепишет его без указанных слов, но сохранит весь объём. Без двухпроходного подхода одноходовая просьба «напиши письмо без этих слов» дала бы текст вдвое короче и беднее по содержанию.
Почему это работает
Слабость: Инструкция-туннинг (обучение модели быть assistant'ом) — это не просто «научи отвечать». Это обучение на парах «запрос → идеальный ответ» с определённым форматом. В итоге модель не просто знает, как отвечать, — она знает, как обычно выглядит ответ на похожий запрос. Форматные ограничения ломают этот привычный шаблон, и модель переключается на запасной режим: короткий, нейтральный, безопасный.
Почему это планирование, а не неспособность: Исследование показало, что решение принимается до первого сгенерированного слова — буквально в момент обработки промпта. Простой математический зонд (линейная регрессия по внутренним слоям модели) предсказывал длину будущего ответа с точностью R²=0.51–0.93 до начала генерации. То есть модель «знала», что напишет мало, ещё до того, как начала. На необученных базовых моделях этого эффекта нет — значит, его создаёт именно обучение на инструкциях.
Как двухпроходный подход обходит это: Первый запрос без ограничений активирует полный шаблон ответа. Второй запрос — это уже редакторская задача (переписать готовый текст), а не генеративная задача (создай что-то под ограничение). Редактирование не триггерит переключение в минимальный режим — модель работает с конкретным материалом и просто адаптирует его. Значит, два отдельных запроса дают лучший результат, чем один с требованиями к форме и содержанию одновременно.
Рычаги управления: - Явная инструкция «сохрани полноту» на втором шаге — ключевая. Без неё модель может снова сократить при переписывании. Пишите: «сохрани все детали, аргументы и структуру». - Чем радикальнее ограничение (частые слова вроде «the» / «и» / запятые) — тем важнее второй проход. Для мягких ограничений («пиши без нумерованных списков») разница меньше. - Степень детализации второго промпта — можно добавить: «если предложение без этого слова звучит неловко — перестрой его, не теряя смысл».
Шаблон промпта
Шаг 1 — свободная генерация:
{Вопрос или задача}
Ответь полно и развёрнуто. {Дополнительный контекст, если нужен}
Шаг 2 — переписать под ограничение:
Вот текст:
[вставить ответ из шага 1]
Перепиши его с учётом ограничения: {твоё ограничение}.
Важно: сохрани полный объём, все детали и аргументы.
Меняй только то, что нарушает ограничение.
Плейсхолдеры:
- {Вопрос или задача} — ваш основной запрос
- {Дополнительный контекст} — тональность, аудитория, цель
- {твоё ограничение} — конкретное форматное требование: «без слова X», «без маркированных списков», «без запятых», «только короткие предложения»
🚀 Быстрый старт — вставь в чат:
Помоги мне применить двухпроходную генерацию для моей задачи.
Суть: сначала генерируем полный ответ без ограничений,
потом переписываем с ограничением, сохраняя объём.
Задай мне вопросы, чтобы понять: что мне нужно написать
и какое ограничение к тексту я хочу применить.
Потом дай мне два промпта: для шага 1 и шага 2.
[вставить шаблон выше]
LLM спросит что написать и какое ограничение применить — потому что без этого она не сможет заполнить {задача} и {твоё ограничение}. Она возьмёт паттерн из шаблона и адаптирует под твою задачу.
Ограничения
⚠️ Очень частые токены: Если запрещать самые распространённые элементы языка — например, слово «и» или все запятые — двухпроходный подход может не дать полного восстановления. Для таких случаев переписывание само по себе трудно.
⚠️ Не для оценки по ограничениям: Двухпроходный подход устраняет потерю содержания, но не гарантирует 100% соблюдение ограничения в финальном тексте. Если соблюдение обязательно — нужна проверка.
⚠️ Стандартная оценка "хороший/плохой ответ" слепа к этой проблеме: Если вы просите модель оценить текст по шкале 1–10, она почти не замечает потерю качества от ограничений (обнаруживает 3.5% деградации там, где попарное сравнение показывает 23%). Если хотите сравнить два варианта текста — давайте их оба одновременно, а не по отдельности.
⚠️ Эффект есть даже у GPT-4o-mini и аналогов: Это не баг дешёвых моделей. Коммерческие закрытые модели теряют 31% полноты при банальном «не используй запятые». Коммерческое дообучение решает другие проблемы, но не эту.
Как исследовали
Идея была жёсткой по простоте: взяли 40 обычных вопросов («объясни градиентный спуск», «как написать хорошую исследовательскую работу»), добавили к каждому одно из восьми тривиальных ограничений — и посмотрели, что получится. Никакого экзотического тестирования: запрети запятую и измерь, насколько хуже стал ответ.
Результаты сравнивали двумя способами: независимая оценка по шкале 1–10 (стандартная практика) и попарное сравнение (базовый ответ vs. ограниченный рядом — кто лучше?). Разрыв оказался семикратным: независимая оценка видела 3.5% деградации, попарная — 23%. Это важная методологическая находка: если вы оцениваете качество текстов в изоляции, вы систематически не замечаете провалы. Только когда кладёшь два варианта рядом — разница становится очевидной.
Самый убедительный эксперимент — сравнение обученных моделей с базовыми (необученными). Базовые модели под теми же ограничениями показывали случайные, несистематические эффекты — иногда ограничение даже улучшало ответ. Инструкционно обученные — системный обвал почти везде. Значит, проблему создаёт именно обучение на инструкциях, а не природа языковых моделей. Это переводит находку из категории «странный баг» в категорию «структурное свойство всех assistant-моделей».
Оригинал из исследования
Two-pass recovery experiment:
For each of 10 prompts and 2 constraints (no comma, no "the"), we generate:
(1) a baseline response (no constraint),
(2) a single-pass response (constraint in prompt),
(3) a two-pass response:
— generate baseline,
— then rewrite it under the constraint with explicit instruction
to maintain comprehensiveness.
We measure word-level length retention relative to the baseline.
Single-Pass vs Two-Pass Retention (word count vs baseline):
| Constraint | Llama 1-pass | Llama 2-pass | Mistral 1-pass | Mistral 2-pass |
|---|---|---|---|---|
| No comma | 51% | 100% | 46% | 86% |
| No "the" | 46% | 92% | 57% | 95% |
| Overall | 49% | 96% | 52% | 91% |
Контекст: Исследователи тестировали, является ли коллапс проблемой возможностей или планирования. Двухпроходный подход показал, что модель физически способна писать полный текст под ограничением — просто в режиме «генерируй сразу с ограничением» она не планирует этого делать.
Адаптации и экстраполяции
💡 Адаптация для редактуры стиля: Тот же двухпроходный принцип работает для любых стилистических правок — не только форматных ограничений. Если хотите сделать текст «более разговорным», «убрать пассивный залог», «сократить до 150 слов» — сначала получите полную версию, потом адаптируйте.
Шаг 1: напиши полный черновик [тема/задача]
Шаг 2: вот текст: [черновик]
Перепиши его: [стилистическое требование].
Сохрани все ключевые мысли и аргументы.
🔧 Техника: попарное сравнение вместо изолированной оценки → честная оценка качества
Исследование показало: если просить модель оценить один текст по шкале — она не видит деградацию. Если дать два текста рядом — видит.
Применение: когда нужно выбрать лучший из двух вариантов текста — не оценивайте их по очереди. Давайте оба сразу:
Вот два варианта текста. Оцени каждый по критерию [критерий].
После сравни: какой лучше и почему?
Вариант А:
[текст А]
Вариант Б:
[текст Б]
Это касается писем, постов, скриптов — любого контента, где важно относительное качество, а не абсолютное.
💡 Принцип "разделяй что сказать и как сказать": Находка этого исследования — частный случай более широкого правила. Инструкции к содержанию и инструкции к форме конкурируют в одном промпте. Разделите их:
- Промпт 1: что нужно сказать (содержание, аргументы, детали)
- Промпт 2: как это должно выглядеть (формат, стиль, ограничения)
Это работает не только для текстовых ограничений — но и для структурных требований: «оформи как таблицу», «разбей на 5 коротких параграфов», «напиши в формате FAQ».
Ресурсы
«One Token Away from Collapse: The Fragility of Instruction-Tuned Helpfulness»
Erfan Baghaei Potraghloo, Seyedarmin Azizi, Souvik Kundu, Massoud Pedram
University of Southern California; Intel AI
Связанные работы упоминаемые в исследовании: - IFEval (Zhou et al., 2023) — бенчмарк соблюдения инструкций - MT-Bench (Zheng et al., 2023) — стандартный бенчмарк качества ответов - Format tax (Lee et al., 2026) — влияние структурных форматов (JSON/XML) на качество рассуждений
