- Ядро системного промпта: применить только запрошенное, остальное сохранить дословно
- Правка становится дешевле регенерации, и итерация вытесняет «сгенерил и молюсь»
- 4 типовых сбоя: размытая инструкция, расползание, дрейф формата, тихая потеря полей
Задача
Десять минут генерации, получился шот-лист на 12 кадров. Три легли близко к тому, что нужно. Просите LLM «улучшить крупность в кадре 4». Она переписывает весь список. Два хороших кадра заменены лёгкими вариациями, которые промахнулись мимо того, что работало. Выбор теперь между частичным улучшением кадра 4 и потерей двух принятых. Откат теряет и улучшение. Цикл итерации стоит дороже исходной генерации.
flowchart LR
L[Шот-лист<br/>на 12 кадров] --> I[Улучшить крупность<br/>в кадре 4]
I --> R[Модель переписывает<br/>весь список]
R --> X[Два принятых<br/>кадра потеряны]
classDef key stroke:#FF3600,stroke-width:2px
class X keyПричина в дефолте модели: «improve this» ощущается как приглашение переписать всё. Переписывание для LLM — продуктивный дефолт, и без явного запрета она к нему возвращается.
Приём
Инвертировать дефолт одной жёсткой инструкцией. Входы: существующий артефакт (промпт, шот-лист, документ) и инструкция пользователя свободным текстом. Ядро системного промпта:
Apply ONLY the requested change.
Preserve all other fields, phrasing, structure and formatting verbatim.
Do not rewrite what was not asked to be changed.
Leave typos and awkwardness alone unless asked.
Выход: тот же артефакт в том же формате. Три свойства, которые из этого следуют:
- Бэйзлайн авторитетен. Существующий артефакт — не «предложение к улучшению», а источник истины обо всём, что пользователь не упомянул.
- Объём изменения задан инструкцией. «Добавь крупный план перед сценой 2» меняет ровно одно. Не «и заодно подтяну кадровку сцены 1».
- Формат сохраняется. JSON на входе возвращается тем же JSON с теми же ключами в том же порядке. Абзац остаётся абзацем без переоформления.
flowchart LR
A[Существующий<br/>артефакт] --> E[Применить только<br/>запрошенное]
U([Инструкция<br/>пользователя]) --> E
E --> O[Тот же артефакт<br/>в том же формате]Где это встречается на практике:
| Артефакт | Инструкция | Что сохраняется |
|---|---|---|
| Шот-лист | добавить кадр перед сценой 2 | все остальные кадры дословно, переиндексация только затронутых |
| Промпт раскадровки | сделать план шире | стилевой префикс, субъект, локация |
| Video-промпт | меньше движения камеры | темп, действие субъекта |
Обновление, сентябрь 2026. Тот же приём работает на картинках. Бэйзлайном становится утверждённый рендер: он идёт референсом с identity lock, а инструкция называет одно изменение. На предметном бренде так в утверждённую базу лампы добавили втулку под патрон с «only ADD»: пять кадров, пять чистых, остальная геометрия на месте. Цепочка каскадная: фото покупной детали, концепт поверх него, доработка поверх утверждённого концепта. Каждый шаг наследует всё, что было принято на предыдущем.
Экономика переворачивается. Полный rewrite стоит как исходная генерация, хирургическая правка стоит долю от неё. Когда правка дешёвая и вынесена в интерфейс отдельной кнопкой, итерация становится поведением по умолчанию. Выход диффится со входом: изменение маленькое и видимое, а не сплошная замена.
flowchart TB
subgraph before[Полный rewrite]
direction LR
R1[Цена исходной<br/>генерации] --> R2[Сплошная<br/>замена]
end
subgraph after[Хирургическая правка]
direction LR
S1[Доля цены<br/>генерации] --> S2[Маленький<br/>видимый дифф]
S2 --> S3[Итерация<br/>по умолчанию]
end
before ~~~ afterГде ломается
- Размытая инструкция. «Сделай лучше» не даёт основания что-либо сохранять, и модель переписывает. Отклонять такие запросы на уровне интерфейса или просить уточнить.
- Расползание объёма. Модель «чинит» несвязанное, что сочла ошибкой. Явный анти-пример в системном промпте: не трогать формулировки полей, не относящихся к правке.
- Дрейф формата. Поля переупорядочены, абзац переформатирован. Валидировать выход против схемы входа.
- Тихая потеря содержимого. Модель выбросила поле, которое сочла лишним. Любое расхождение в числе полей — это ошибка и повторный вызов.
Обновление, сентябрь 2026. Расползание объёма на картинках выглядит так. Просьба поставить столик на полированные стальные ножки дала восемь концептов, где заодно перерисованы печатные узлы, и все были отклонены: «мне только ножки нужны были». Второй заход держал фото референса под lock с явным «ONE CHANGE ONLY», узлы остались один в один, заменились только стержни. Правило из этого: просят сменить материал, меняется только материал. Вариации формы идут отдельной просьбой.
Итог
- Одна инструкция меняет дефолт модели с «переписать» на «поправить».
- Правка дешевле регенерации, и это меняет поведение пользователя, а не только счёт за токены.
- Обобщается на код (переименовать переменную, остальное не трогать), документы (режим track changes), конфиги и схемы.
- Работает рекурсивно: паттерн применяется к промптам, которые производят промпты.
- Переносится на изображения: утверждённый рендер под identity lock и инструкция на одно изменение.
© Александр Никулин. Цитирование — с указанием автора и ссылкой · Версия для LLM