The Lock Layer
The Lock Layer
Сохранение identity и бренда как отдельная промпт-архитектура
Автор: Alex Nix Статус: Рабочий черновик — for public release
Abstract
Генеративные модели, обученные на широких данных, охотно перекраивают, идеализируют или сливают identity субъектов, которых они генерируют — лицо становится чуть симметричнее, пропорции продукта расходятся, логотип бренда перестаёт читаться. Промпты, пытающиеся это предотвратить написанием «preserve identity» в свободной прозе, проваливаются, потому что инструкция сохранения сидит в том же промпте, что и креативная инструкция, и LLM торгует их друг против друга.
Lock Layer Pattern разделяет сохранение и генерацию на два разных слоя промпта. Генеративный промпт описывает текущий кадр. Lock Layer оборачивает генеративный промпт неизменным структурированным ограничением — проигрываемым дословно на каждой генерации batch'а — называющим, что должно выжить без изменений. Lock вычисляется детерминированно из предварительно извлечённого дескриптора; генеративный промпт варьируется; identity субъекта — нет.
Эта статья описывает паттерн, его режимы отказа и открытые исследовательские вопросы вокруг него.
1. Мотивация
Три реальных продакшн-сбоя:
- Face drift. На пятишотном кампейне структура лица одного и того же человека едва заметно сдвигается — расстояние между глазами, линия челюсти, острота подбородка. По отдельности каждый шот выглядит нормально; как набор зритель регистрирует «это разные люди».
- Product form drift. Бутылка в шоте 1 имеет чуть другую крышку, чем бутылка в шоте 3. Логотип отзеркален. Текст лейбла становится нечитаемым в шоте 4 и уплывает в псевдо-текст в шоте 5.
- Brand-voice drift. «Голос» персоны сдвигается между главами генерируемого нарратива — тон, склонность к длине предложений, словарный регистр.
Все три — версии одного архитектурного сбоя: забота о сохранении и креативная забота делят один промпт, и LLM торгует их друг против друга шот за шотом.
Написать «preserve the person's exact facial structure» в каждом промпте помогает маргинально — до тех пор, пока креативная инструкция конкретного шота (драматичный угол, soft focus, художественная интерпретация) не потянет выход к drift'у. Сохраняющая клауза — это просто слова, конкурирующие с другими словами.
Lock Layer переформулирует задачу. Сохранение — это не клауза внутри генеративного промпта; это слой, оборачивающий генеративный промпт.
2. Паттерн
Финальный вход генератора (один на каждую генерацию batch'а)
┌─────────────────────────────────────────────────┐
│ REFERENCE MAP │ ← где живёт каждый референс
├─────────────────────────────────────────────────┤
│ LOCK LAYER │ ← неизменные структурированные ограничения
│ (IDENTITY LOCK, PRODUCT LOCK, BRAND LOCK, …) │
├─────────────────────────────────────────────────┤
│ │
│ Генеративный промпт для этого выхода │ ← варьируется на выход
│ │
└─────────────────────────────────────────────────┘
Lock Layer и Reference Map проигрываются дословно на каждой генерации batch'а. Генеративный промпт варьируется на каждую генерацию.
3. Что содержит Lock
Lock — это структурированная переигровка предварительно извлечённого дескриптора. Дескриптор производится выше по пайплайну — обычно стадией LLM-анализа — и кодирует измерения, которые должны выжить между генерациями.
Identity Lock (персона) — выводится из анализа фото + структурированных параметров:
- Authority statement: «ONLY Image 1 defines the person's identity.»
- Override instruction: «If other reference images contain people, COMPLETELY IGNORE those people.»
- Fidelity requirements:
- Точная структура лица, пропорции, тон кожи, отличительные черты — 100%
- Точный тип тела, build, пропорции
- Точный цвет волос, текстура, длина, стиль
- Explicit rejections: «No smoothing, idealising, reshaping, or blending with ANY other face from ANY other image.»
Product Lock — выводится из анализа продукта:
- Rigid-unit rule: какие части двигаются вместе, а какие независимо
- Orientation anchor: какая сторона к камере
- Text and markings: on-pack-текст должен оставаться читаемым
- Material state: стекло остаётся стеклом, металл — металлом
- Scale context: без раздутия или сдутия по размеру
Brand Lock (обобщение за пределы картинок) — выводится из brand style guide:
- Tone-of-voice-дескриптор
- Vocabulary-ограничения (предпочтительные термины, запрещённые термины)
- Заметки по ритму предложений
- Explicit rejections (фразы, клише, формулировки, выравненные с конкурентами)
Конкретные измерения варьируются по домену. Форма константна: структурированная переигровка того, что должно выжить.
4. Почему разделение — ключевая опора
Слияние сохранения и генерации в одном промпте создаёт четыре конкретные проблемы:
- Загрязнение осей. Промпт, описывающий свет и композицию, становится нечитаемым, когда он несёт ещё и 150-словную клаузу identity. Ни креативное, ни сохраняющее намерение не читается чётко.
- Per-shot дрейф языка сохранения. LLM-ы переписывают клаузу сохранения чуть по-разному на каждый шот («keep her face recognisable» / «preserve the subject's features» / «maintain identity»). Variance в языке сохранения производит variance в результате сохранения.
- Непрозрачность дебага. Когда лицо расходится в шоте 4 — это вызвано креативной инструкцией, инструкцией сохранения, их взаимодействием или базовой моделью? Слитые промпты делают вопрос неотвечаемым.
- Потеря композируемости. Сохранение — забота, применимая ко многим задачам генерации; если она встроена в промпт каждой генерации, паттерн нельзя поднять и переиспользовать.
Отделение Lock Layer чинит все четыре:
- Оси остаются чистыми — генеративный промпт описывает кадр, Lock описывает identity.
- Язык сохранения по конструкции идентичен по всему batch'у.
- Дебаг начинается с вопроса «достиг ли Lock модели без изменений?» Если да — drift в генеративном промпте; если нет — в инфраструктуре.
- Lock — standalone-артефакт: один и тот же Lock может оборачивать A.O.C.-промпты, text-to-image-промпты или другие форматы.
5. Откуда берётся Lock
Lock — это детерминированная функция от предварительно извлечённого дескриптора, а не LLM-вызов. Поток:
- Upstream-извлечение дескриптора (LLM, обычно одноразово или per-subject). LLM на низкой температуре анализирует референсное изображение и эмитит структурированный дескриптор. Это дорогая, переменная стадия.
- Вычисление Lock (чистая функция, без LLM). Дескриптор подставляется в Lock-шаблон. LLM не задействован; выход детерминирован при заданном дескрипторе.
- Lock replay (шаг оборачивания, per generation). Каждая генерация batch'а дословно добавляет Lock перед остальным промптом.
Надёжность паттерна происходит из replay'а без LLM: variance между генерациями невозможна по конструкции, потому что Lock byte-идентичен.
6. Режимы отказа
| Сбой | Симптом | Фикс | |---|---|---| | Слишком расплывчатый дескриптор | «preserve facial features» без указания каких | Извлечение дескриптора должно перечислять конкретные измерения | | Lock борется с генеративным промптом | Генеративный говорит «soft-focus dreamy portrait»; Lock — «sharp facial fidelity» | Генеративный промпт должен уступать Lock'у на измерениях сохранения; стилевые слова, подразумевающие нарушение fidelity, отклоняются | | Lock-drift между серией | Кто-то регенерирует Lock посреди batch'а | Lock вычисляется один раз на проект и проигрывается; регенерация версионируется | | Lock встроен вместо обёртки | Lock положен внутрь генеративного промпта, не как слой | Downstream-парсер должен обеспечиваеть границу слоя | | Измерения дескриптора промахиваются мимо реального сбоя | Identity Lock тщательно описывает лицо; вместо этого расходится гардероб | Дескриптор должен покрывать полный «что должно выжить» — расширять итеративно |
7. Обобщение за пределы картинок
Паттерн — обернуть задачу генерации неизменным структурированным ограничением, выведенным из предварительно вычисленного дескриптора — применим везде, где забота должна выжить генерацию без изменений, пока генеративная инструкция варьируется.
- Сохранение brand-voice в long-form-контенте. Brand Lock оборачивает chapter-level-генерацию контента. Тон, словарь, запрещённые фразы выживают без изменений на 50 главах content-marketing-серии.
- Character-консистентность в нарративной генерации. Character Lock (личность, голос, отношенческие позиции, физическая внешность, если описана) оборачивает per-scene-генерацию нарратива.
- Spec-fidelity в демо-видео-скриптах. Spec Lock (возможности продукта, messaging-позиционирование, техническая точность) оборачивает per-scene-генерацию скрипта.
- Safety- и policy-границы в tool-using-агентах. Policy Lock (разрешённые действия, запрещённые действия, escalation-триггеры) оборачивает per-task-генерацию плана действий. Особенно важно в агентных системах, где генеративная инструкция дико варьируется, а policy не должна.
- Schema-сохранение в structured code generation. Schema Lock (data contracts, API-сигнатуры, инварианты) оборачивает per-function-генерацию кода.
Общий архитектурный вопрос, на который отвечает паттерн: что должно выжить этот вызов без изменений? Если ответ — стабильный, описываемый набор, паттерн подходит.
8. Отношение к смежным паттернам
- A.O.C.-фреймворк. A.O.C. описывает кадр; Lock гарантирует, что субъект переживёт кадр. Они композируются на разных слоях: A.O.C. — это генеративный промпт, Lock оборачивает его.
- Типизированная композиция референсов. Reference Map над Lock'ом в слоёном промпте — это дисциплина типизированных референсов. Оба паттерна регулярно появляются вместе.
- System-prompt policies. Policy, выраженная в системном промпте, — слабый аналог Lock'а: она описана один раз, но LLM переинтерпретирует её на каждый вызов. Lock'и сильнее, потому что проигрываются дословно; они не переинтерпретируются.
- Constitutional AI / principle-based constraints. Концептуально выравнены — фиксированные принципы, ограничивающие per-task-генерацию. Lock'и более конкретны и per-артефактны; constitutional-принципы более абстрактны и cross-task.
- Two-Stage Architect Pattern. Lock чисто ложится в выход Architect-стадии: Architect эмитит генеративный промпт; пайплайн оборачивает его Lock'ом перед отправкой генератору.
9. Открытые исследовательские вопросы
- Эмпирическая валидация прироста fidelity. Насколько Lock Layer реально снижает identity-drift по сравнению с merged-промптом идентичной длины и содержания? Нужно контролируемое исследование.
- Полнота дескриптора. Какие измерения должен покрывать Identity Lock? Brand Lock? Ранние работы предполагают, что face structure + hair + build достаточны для persona-работы, но edge cases (отличительные татуировки, шрамы, очки) всплывают со временем. Таксономия «что может уплыть» по доменам была бы полезна.
- Версионирование Lock'а. Когда дескриптор проекта меняется посреди продакшна, как старые генерации относятся к новым? Они «разные версии одного субъекта» или «разные субъекты»? Практический вопрос для продакшн-пайплайнов.
- Кросс-модальные Lock'и. Передаётся ли Brand Lock, написанный под text-generation, на image-generation для того же бренда? Вероятно частично; не изучено.
- Lock-level adversarial robustness. Если генеративный промпт активно пытается обойти Lock (креативные инструкции, подразумевающие drift — «стилизованная переинтерпретация субъекта»), как Lock держится? Нужно adversarial-тестирование.
10. Заключение
Lock Layer — это незначительный архитектурный ход с большими последствиями для надёжности. Отделение сохранения от генерации — Lock, оборачивающий генеративный промпт, а не встроенный в него — устраняет четыре категориальных режима отказа (загрязнение осей, дрейф языка сохранения, непрозрачность дебага, потеря композируемости), которые merged-prompt-дизайны стабильно производят.
Паттерн дешёвый — Lock это чистая функция от предварительно извлечённого дескриптора, проигрываемая дословно. Он композируем — один Lock может оборачивать множество разных генеративных форматов. И он обобщается — за пределы image-generation, на brand-voice, character-консистентность, spec-fidelity, safety-policies и schema-сохранение.
Приглашение — использовать его явно. Заботы о сохранении склонны накапливаться неявно в системных промптах и уплывать; называние их слоем делает их долговечными.
Цитирование
Nix, A. (2026). The Lock Layer — Identity & Brand Preservation as a Separable Prompt Architecture. Working paper.