Skip to content
ИССЛЕДОВАНИЯ
7 мин. чтенияЧитать на английском

Намеренное умолчание

Deliberate Omission

Когда тишина в промпте — это фича

Автор: Alex Nix Статус: Рабочий черновик — for public release


Abstract

Интуитивный дизайн промпта — сказать больше. Более длинный, более детальный, более исчерпывающий промпт ощущается так, будто даёт модели больше с чем работать. Для single-channel-LLM-задач эта интуиция часто верна. Для multi-channel-задач генерации — где vision, структурированные референсы или композитные anchor'ы несут информацию наряду с текстом — интуиция инвертируется: больше текста активно ухудшает выход, если текст и другие каналы описывают одни и те же измерения.

Эта статья называет паттерн Deliberate Omission: системный промпт явно запрещает конкретные измерения в тексте, потому что эти измерения надёжно приходят через другой канал. Текст описывает только то, что другие каналы предоставить не могут; тишина по всему остальному — это фича.

Паттерн необычен в публичной prompt-engineering-литературе, которая тяготеет к максимализму. Эта статья описывает, когда он применим, почему работает, какие два обязательства требует и какие режимы отказа предотвращает.


1. Мотивация

Генератор, получающий и текст, и vision-референсы по одному и тому же измерению, делает скрытый компромисс. Текстовый промпт, говорящий «moody directional lighting», плюс moodboard-референс, показывающий яркий ambient daylight, производит выход, который не то и не другое: генератор усредняет, взвешивает полу-произвольно и производит drift, который ни один из входов по отдельности не вызывал.

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

Стандартный ответ в литературе — писать лучший текст: более точный, более выровненный с референсом — чтобы текст и референс согласовывались. Это хороший совет, но недостаточный. В продакшне референсы пользовательские и гетерогенные; pre-align текста с ними на этапе построения промпта — хрупко.

Более сильный ответ: перестать писать текст про измерения, которые уже несёт канал референсов. Замолчать в тексте по этим измерениям. Дать каналу референсов владеть ими.


2. Паттерн

Text-канал   →  описывает ТОЛЬКО  (subject, location, camera)
Vision-канал →  несёт              (style, colour, lighting, atmosphere)

Каждый канал покрывает одну половину решений выхода. Ни одному не разрешено пересекаться с другим. Системный промпт текст-генерирующего LLM явно запрещает называть измерения, назначенные vision'у:

"Describe only subject, location, camera. Never mention style, colour, lighting, or rendering quality. Those dimensions are carried by the attached references and must not be named in this prompt."

Системный промпт часто включает анти-примеры — предложения, которые читаются естественно, но нарушают правило умолчания, — чтобы вытащить LLM из дефолтных писательских инстинктов:

"Do not write sentences like: warm cinematic tones, moody dramatic lighting, golden-hour glow, rich saturated colour. These dimensions come from the attached composite moodboard image. Describe only what the moodboard cannot provide: subject action, location type, camera framing."


3. Два обязательства, которые требует паттерн

3.1 Надёжный альтернативный канал

Паттерн работает только когда не-текстовый канал надёжно несёт умолчанные измерения. Обычно это:

  • Композитное референсное изображение, конденсирующее множество входов в один связный anchor (см. парную sequential-consistency-статью о reference-condensation).
  • Предыдущий выход в последовательности (см. reference-inheritance — в той же парной статье).
  • Структурированный типизированный референс, где refType объявляет, что именно референс отдаёт.

Без надёжного альтернативного канала намеренное умолчание оставляет модель угадывать — и результат не «чистый выход», а размытый, неконсистентный.

3.2 Явное, поимённое умолчание

«Be concise» — это не умолчание. «Don't over-describe lighting» — это не умолчание. Это намёки, и LLM-ы обходят намёки в пользу дефолтного писательского стиля.

Умолчание должно быть поимённым: «Never mention style, colour, lighting, or rendering quality». Конкретные измерения должны быть перечислены. Инструкция должна быть в негативной форме (не «focus on X», а «do not mention Y»). LLM-ы выполняют конкретные запреты надёжнее, чем размытые акценты.

Анти-примеры в системном промпте укрепляют правило: называние конкретных предложений, которые LLM склонен эмитить, и явное их отклонение.


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

Когда текст и vision описывают одно измерение, происходит три вещи:

  1. Внимание модели расщепляется между согласованием их и производством выхода.
  2. Согласование недетерминировано — какой вес «выигрывает», варьируется шот за шотом.
  3. Специфичность каждого канала теряется в усреднении.

Убирание голоса текста по спорным измерениям делает три вещи:

  1. Внимание течёт к каналу, у которого остался голос, — к vision-референсу.
  2. Специфичность vision-референса сохраняется, потому что никакой текст с ним не конкурирует.
  3. Внимание текста течёт к оставшимся измерениям — subject, location, camera, — где текст — единственный носитель, и его полная специфичность приземляется.

Паттерн про аллокацию внимания, не про объём инструкции. Умолчание добавляет специфичности оставшимся измерениям, не распределяя внимание по ненужным.


5. Где это встречается в продакшне (image / video pipelines)

| Стадия | Текст описывает | Умолчано (несёт другой канал) | |---|---|---| | Multi-reference image-промпты | Субъект, локация, камера | Стиль, цвет, свет (через композитный moodboard как vision) | | Motion-промпты для отрендеренных стиллов | Физическое движение, движение камеры | Содержимое сцены, эстетика (несёт сам стилл, который анимируется) | | Refinement-промпты (single-shot правки) | Только запрошенное изменение | Всё остальное (сохранено из baseline) |

Общая структура: канал с наиболее плотным надёжным сигналом на измерении владеет этим измерением; другие каналы замолкают.


6. Режимы отказа

  • Умолчание без надёжной альтернативы. Текст запрещает описывать свет; ни один референс не несёт световой информации. Генератор производит размытые, default-освещённые выходы. Контрмера: умалчивать только те измерения, которые надёжно несёт что-то другое; верифицировать альтернативный канал до коммита в умолчание.
  • Мягкое умолчание. «Try not to over-describe lighting» — LLM-ы игнорируют мягкое руководство в пользу писательских дефолтов. Контрмера: явный запрет, поимённые измерения, анти-примеры.
  • Утечка запрещённого словаря. LLM проскальзывает «warm cinematic tones» в subject-only-промпт. Контрмера: включить конкретные забанённые фразы в системный промпт, а не только имена измерений.
  • Слишком много умолчаний. Запрет на столько измерений, что оставшийся текст несёт недостаточно информации. Контрмера: умолчание про избегание пересечения, не про минимизацию текста. Если текст — единственный носитель измерения, он обязан его описать.
  • Дрейф канала. Пайплайн меняется — композитный moodboard больше не прикреплён, — а правило умолчания остаётся. Результат: ухудшенный выход, потому что ни один канал теперь не несёт измерение. Контрмера: трактовать правила умолчания как связанные с каналами, которые их поддерживают; инвалидировать правило, когда канал ушёл.

7. Контраст с максималистским prompt-engineering

Публичный prompt-engineering-дискурс тяготеет к максимализму — более длинные промпты, более детальные стилевые ключевые слова, более богатые описания настроения. Это хороший дефолтный совет для single-channel-задач (text-only-генерация, первый проход image-генерации без референсов).

Намеренное умолчание — не отказ от максимализма; это утверждение, что максимализм channel-specific. Для single-channel-задач — описывайте всё. Для multi-channel-задач — описывайте только то, что уникально несёт ваш канал; пусть другие каналы владеют своими измерениями.

Инверсия необычна, потому что multi-channel-задачи — относительно недавняя продакшн-забота. Image-генераторы лишь недавно приобрели надёжное reference-conditioning. Паттерн родился из опыта multi-channel-продакшна, а не из first-principles-дизайна промптов.


8. Обобщения за пределы image-generation

Паттерн про аллокацию внимания между каналами, и он обобщается:

  • Code generation с существующим file-контекстом. Когда сигнатура функции, существующие импорты и окружающий код прикреплены, промпт генерации должен описывать только тело логики, не пересказывать сигнатуру или импорты. Пересказ заставляет LLM предлагать мелкие переписывания сигнатур, которые ему показали без изменений.
  • Document editing с прикреплённым шаблоном. Когда шаблон документа прикреплён, промпт должен описывать только контент, не структуру. Описание структуры заставляет LLM предлагать рестракту.
  • Agentic tool use с прикреплёнными tool-схемами. Когда сигнатуры инструментов в системном промпте как structured schema, user-turn-промпт должен описывать только intent пользователя, не пересказывать инструменты. Пересказ инструментов вызывает tool-selection drift.
  • RAG-augmented generation. Когда найденные пассажи прикреплены как контекст, user-turn-промпт должен описывать только то, что retrieval упустил, не пересказывать то, что он предоставил. Пересказ retrieved-контента заставляет LLM взвешивать его дважды.
  • Multi-agent system messages. Когда выход одного агента прикреплён как контекст для другого, промпт второго агента должен описывать только то, что он добавляет, не пересказывать то, что установил первый.

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


9. Эвристики дизайна

Для дизайна multi-channel-промпта — три вопроса:

  1. Что не-текстовые каналы несут надёжно? Перечислите. Стиль из moodboard, структура из шаблона, инструменты из schema, retrieved-факты из RAG.
  2. Что текст должен нести уникально? Измерения, не покрытые не-текстовыми каналами. Это то, что текстовый промпт должен описывать исчерпывающе.
  3. Что текстовый и не-текстовый каналы оба пытаются описать? Это зона пересечения. Текст должен замолчать здесь. Назвать запрещённые измерения явно в системном промпте.

Хорошо спроектированный multi-channel-промпт отвечает на все три. Плохо спроектированный позволяет тексту и референсам конкурировать в зоне пересечения.


10. Открытые исследовательские вопросы

  • Эмпирический размер эффекта. Насколько намеренное умолчание реально улучшает консистентность выхода против non-omitted-промптов аналогичной длины? Контролируемое исследование на image-gen и code-gen задачах было бы полезным.
  • Таксономия умолчания. Каталог того, какие измерения больше всего выигрывают от умолчания при паре с какими видами каналов референсов. Вероятно domain-specific; полезно как cheat-sheet практика.
  • Кросс-модельная вариация. Работает ли умолчание одинаково хорошо на open и closed моделях? Ранние наблюдения предполагают да, но без систематического измерения.
  • LLM self-moderation умолчаний. Может ли отдельный «omission checker»-LLM надёжно детектировать и переписывать нарушения правила умолчания? Могло бы автоматизировать enforcement.
  • Negative prompting vs. умолчание. В image-generation negative prompts — родственный, но другой механизм (сказать генератору, что исключить). Умолчание работает на этапе построения текста, не на этапе conditioning. Два, вероятно, композируются; не изучено.

11. Заключение

Намеренное умолчание инвертирует дефолт prompt-engineering — «больше деталей лучше» — отмечая, что детали ничего не стоят, только когда деталь уникальна для канала, который её несёт. Когда несколько каналов описывают одно измерение, деталь в одном канале стоит специфичности в другом.

Паттерн прост в формулировке и специфичен в реализации: идентифицировать надёжные не-текстовые каналы, идентифицировать измерения, которые они несут, запретить эти измерения явно в текстовом промпте с поимёнными анти-примерами.

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


Цитирование

Nix, A. (2026). Deliberate Omission — When Silence in a Prompt Is the Feature. Working paper.