A.O.C. — Промпт-фреймворк для генеративных image-моделей
A.O.C. — Промпт-фреймворк для генеративных image-моделей
Anchor · Optics · Chemistry
Автор: Alex Nix Статус: Рабочий черновик — for public release
Abstract
Промпты для генеративных image-моделей обычно пишутся как свободная проза, список стилевых ключевых слов или шаблон с произвольно названными полями. Ни один из этих подходов не масштабируется в продакшн: свободная проза двусмысленна, стопки ключевых слов не ортогональны, шаблоны схлопываются в страницы параметров, которые никто не читает.
A.O.C. — Anchor · Optics · Chemistry — это структурированный промпт-фреймворк для image-генерации. Он сводит каждое визуальное решение кадра к трём ортогональным осям, соответствующим трём независимо управляемым стадиям реального фотопродакшна (постановка, камера, свет/плёнка). Фреймворк операционализирован в продакшне — на multi-shot-кампейнах и кинематографических storyboard'ах — и предлагается здесь как переиспользуемая дисциплина для prompt-инженеров, режиссёров и tool-builder'ов.
Эта статья определяет фреймворк, правила композиции, делающие его надёжным в продакшне, режимы отказа, которые он предотвращает, и оставшиеся открытые исследовательские вопросы.
1. Мотивация
Сообщество генеративных image-моделей сошлось на трёх дефолтных стратегиях промптинга, каждая из которых по-своему ломается под продакшн-давлением:
- Свободная проза. «A moody portrait of a woman holding a red bottle in a warehouse, cinematic, 8K». Быстро писать, невозможно дебажить. Когда выход неверный, не за что ухватиться.
- Стопки ключевых слов.
portrait, woman, red bottle, warehouse, cinematic, volumetric light, 85mm, bokeh, 8K. Ощущается контролируемее, но ключевые слова не ортогональны — «cinematic» пересекается со всем, «volumetric light» заранее задаёт свет, «85mm» сцепляет субъект и камеру. Починка одного ключевого слова ломает другое. - Шаблоны с именованными полями.
{subject}, {style}, {lighting}, {camera}, {mood}, {aesthetic}. Поля в итоге пересекаются: style кодирует lighting, lighting кодирует mood, mood кодирует aesthetic. Пользователи либо дублируют, либо оставляют поля пустыми.
Продакшн-системы — multi-shot-кампейны, нарративные storyboard'ы, character-consistent-серии — требуют промпт-формата, который:
- Можно композировать (один шот из пяти должен ложиться рядом с остальными четырьмя)
- Можно дебажить (плохая картинка должна быть прослеживаема до конкретного решения)
- Можно обучать (новые практики должны быть способны его освоить)
- Можно автоматизировать (LLM-«architect»-агенты должны надёжно его эмитить)
A.O.C. — это фреймворк, к которому автор пришёл за несколько лет построения продакшн-image-пайплайнов. Он намеренно opinionated и оптимизирован под продакшн-кейс.
2. Фреймворк
A.O.C. раскладывает каждый кадр на три ортогональные оси:
2.1 A — Anchor (Якорь)
Что в кадре и где.
Anchor задаёт:
- Subject — о чём кадр (один субъект, один момент)
- Location — где это
- Orientation — как субъект ориентирован к камере, как сидит в окружении, его масштаб относительно среды
Anchor отвечает на «что я вижу, где это и как это размещено». Он не говорит ничего о том, как камера это видит или как свет это рендерит.
2.2 O — Optics (Оптика)
Как камера это видит.
Optics задаёт фотомеханику:
- Поведение объектива (эффект фокусного: средовое, естественное, сжатое, макро)
- Дистанция камеры (измеримая, не размытая)
- Глубина резкости (мелкая / глубокая, заданная через f-stop)
- Плоскость фокуса (где сидит резкость)
- Экспозиция (чистая, длинная, короткая)
- Эффекты (motion blur, occlusion, smear, bokeh — выключены по умолчанию, описываются как оптические механизмы, когда применяются)
Эффекты должны заслужить место. Чистая, резкая картинка — это бейзлайн. Когда эффект используется, он описывается через физическое поведение, которое его производит — «directional smear from subject motion during a 1/4-second exposure», — а не через бренд или эстетическое слово.
Optics описывается как функция, не как бренд. «85mm» приемлемо как сокращение для «moderate portrait compression with natural subject separation»; «shot on an ARRI» — нет.
2.3 C — Chemistry (Химия)
Как свет и материал взаимодействуют, формируя изображение.
Chemistry задаёт физику формирования изображения:
- Поведение света (позиция источника, направленность, falloff, качество края тени, contrast ratio)
- Тональный отклик (состояние экспозиции, поведение хайлайтов / теней)
- Взаимодействие цвета (температура в K, насыщенность, оттенок)
- Зерно / текстура (поведение film-стока, шум, компрессия, рендеринг поверхности)
- Атмосфера (дымка, туман, частицы, разделение по глубине)
Настроение инженерится через физические свойства формирования изображения, а не через mood-слова. Вместо «moody and cinematic», секция Chemistry должна читаться так:
Single directional light from left at 45°, soft shadow edge (diffused through scrim), 4:1 contrast ratio, tungsten colour temperature around 3200K, heavy grain consistent with ISO 3200 film stock, slight atmospheric haze lifting the blacks in the midground.
Сгенерированная картинка будет ощущаться moody и cinematic — но теперь это ощущение является следствием заданной физики, а не заклинанием.
2.4 Почему именно три, не больше, не меньше
Ортогональность. На реальной съёмке три независимые команды принимают три независимых решения: режиссёр ставит сцену (Anchor), DP кадрирует и снимает (Optics), gaffer и colourist светят и грейдят (Chemistry). Фреймворк зеркалит то разделение труда, к которому фотография уже пришла.
Полнота. Каждое визуальное решение, которое still-image-модель должна принять, попадает в одну из трёх осей. Всё, что вне — движение во времени, звук, нарративная причинность, — обрабатывается сестринскими фреймворками (motion-язык для видео, scenario- и storyboard-системы для нарратива).
Обучаемость. Три — это максимум, который практик может надёжно держать в рабочей памяти во время написания. Две оси слишком многое схлопывают; четыре начинают ощущаться как чек-лист.
3. Хорошо сформированный A.O.C.-промпт
ANCHOR:
A 50ml amber glass dropper bottle with a black matte dropper cap, label text
"Serum 01" readable across the front, standing upright on a polished dark-walnut
countertop in a product-prep kitchen. The bottle is centred in the frame,
three-quarter angle toward camera, grounded with its shadow, surrounded at the
periphery by soft-focus studio props (linen towel, ceramic dish, frosted glass
pitcher) that establish the environment without competing for attention.
OPTICS:
Medium-close product framing, 85mm equivalent, camera at bottle-height (low
table level, very slight downward tilt of 5°). Shallow depth of field, f/2.8
behavior, focus locked on the label text. Clean exposure, no motion blur,
no lens flare. Slight peripheral defocus falling off from the subject plane
to a creamy environment.
CHEMISTRY:
Single directional key light from upper-left at 45°, diffused through a
large softbox (shadow-edge soft). Bounce fill from right at ratio 1:3 to
preserve form modelling on the bottle's amber body. Color temperature 4200K
(neutral-warm). Midtone-biased tonal curve, slight lift in the blacks,
highlights rolled off. Fine film grain (ISO 400 stock). No atmospheric
haze. Subtle specular highlight travelling down the bottle's right shoulder
suggests the glass surface.
Чем этот промпт хорош:
- Каждое утверждение в Anchor — про то, что в кадре и где.
- Каждое утверждение в Optics — про то, как камера это снимает.
- Каждое утверждение в Chemistry — про то, как свет и плёнка это рендерят.
- Ни одна ось не пересекается с другой. Смена объектива не трогает свет; смена света не трогает композицию.
- Сбой («label unreadable») трассируем — это Optics (плоскость фокуса), не Anchor (положение).
4. Правила композиции
A.O.C. как набор осей — это начало. A.O.C. как надёжный продакшн-инструмент требует следующих правил композиции, которые выкристаллизовались на multi-shot-кампейнах:
4.1 Порядок разрешения
Когда несколько входных референсов расходятся по какому-то измерению, разрешать в фиксированной последовательности: environment → style → color → subject/product. Первый референс, заявивший измерение, выигрывает; остальные адаптируются. Без этого правила LLM-architect'ы и human-писатели чередуют, какой референс предпочесть, и консистентность коллапсирует.
4.2 Правило continuity (для multi-shot-кампейнов)
По всем шотам кампейна: где Anchor'а и состояние света Chemistry держатся константой. Меняется шот за шотом только Optics. Именно это делает пять фотографий похожими на одну съёмку.
Правило одного окружения несущее. Именно оно позволяет генерировать multi-shot-кампейн из одного общего блока creative direction, применённого ко всем шотам, — генератор не пересоздаёт сцену, а только перекадрирует её.
4.3 Последовательность shot-ролей
Каждой позиции в multi-shot-кампейне предзадана роль:
- Product campaign: environment-master → part-of-product → full-product → detail-closeup → atmospheric-frame.
- Character / persona campaign: lifestyle-wide → portrait-hero → product-interaction → detail-moment → atmospheric-story.
Роли форсируют разнообразие в дистанции камеры, крупности и акценте. Без них LLM-architect'ы дрейфуют к пяти похожим шотам, потому что каждый концепт «выглядел нормально сам по себе».
4.4 Декларация image-input'ов
Каждый A.O.C.-промпт должен инлайн заявить, какой референс что отдаёт. Никакой референс не должен молча влиять на выход. Промпт, прикрепивший Image 2 без декларации «environment and shadow direction sourced from Image 2», позволяет модели придумать применение Image 2 — что она и сделает.
4.5 Сохранение identity / rigid-unit
Когда identity субъекта должна выжить между шотами (человек, конкретный продукт), Lock — это отдельный слой, не часть A.O.C.-блока. A.O.C. описывает кадр. Lock (IDENTITY LOCK, PRODUCT LOCK) гарантирует, что субъект переживёт кадр без изменений. Смешивание этих забот загрязняет оси A.O.C. и теряет обе цели. См. парную статью lock-layer-pattern-paper.
5. Режимы отказа
A.O.C. ценен в основном из-за конкретных сбоев, которые он исключает.
| Сбой | Симптом | Фикс A.O.C. | |---|---|---| | Mood-слова в Chemistry | «moody», «cinematic», «atmospheric» | Заменить на физический свет и поведение плёнки | | Brand-слова в Optics | «shot on ARRI», «Fujifilm look» | Заменить на оптическую механику и поведение плёнки | | Схлопнутые оси | Свет описан в Anchor, кадрирование в Chemistry | Разделить. Держать дисциплину на каждой оси | | Молчаливые референсы | Картинки прикреплены без объявленного применения | Требовать декларацию image-input'ов в каждом промпте | | Эффекты по умолчанию | Blur, bokeh, grain «для cinema feel» | Эффекты выкл по умолчанию; должны быть обоснованы | | Цепочка прилагательных | «moody, cinematic, dramatic, epic» | Каждое должно переводиться в физический механизм — или быть выкинуто | | Bleed между осями | Optics-значение, подразумевающее свет («natural light 85mm») | Вытащить световое утверждение в Chemistry |
6. Операционализация: LLM-architect'ы
A.O.C. работает как человеческая дисциплина. Лучше он работает как LLM-эмитированный выход. Обычно разворачиваются два специализированных LLM-«architect'а»:
- Product A.O.C. architect — эмитит ровно 5 A.O.C.-блоков, покрывающих 5 product-shot-ролей.
- Character A.O.C. architect — эмитит N блоков (настраивается) по циклическим character-shot-ролям.
Принципы дизайна architect'ов, выпавшие из продакшн-использования:
- Shared Creative Direction. Предыдущая LLM-стадия («Creative Director») эмитит одно описание окружения. A.O.C.-architect получает этот единственный блок и пишет все N шотов внутри него. Это структурно обеспечивает правило continuity (§4.2). См. two-stage-architect-pattern-paper.
- Явный image order. Вход architect'а включает секцию IMAGE ORDER, перечисляющую референсы по позиции (Image 1: background, Image 2: style, …). Системный промпт запрещает использовать номера, которых не существует. Это убирает reference-галлюцинации.
- Объявленные fallback'и. Когда референс отсутствует, architect должен объявить fallback в промпте («no background reference provided; environment drawn from the Creative Direction»). Молчаливая подстановка ломает дебаг.
- Дисциплина разделителя. Блоки разделены низкоэнтропийным разделителем (например,
^на отдельной строке), который architect не может случайно произвести внутри блока, что делает downstream-парсинг тривиальным. - Sweet spot температуры. 0.5 для A.O.C.-стадии. Выше — недисциплинированная проза; ниже — пять почти одинаковых шотов.
Скелет системного сообщения architect'а (сокращённо):
ROLE: You are the A.O.C. Architect. Generate exactly N A.O.C. prompts...
CRITICAL: Use the exact image numbers from IMAGE ORDER — do not use numbers that don't exist.
FORMAT: ANCHOR / OPTICS / CHEMISTRY, blocks separated by ^ on its own line.
RULES: In every prompt, explicitly state how each provided reference is used...
7. Отношение к смежным фреймворкам
- Иерархии reference authority. Metadata-уровневый фреймворк, задающий, какой референс выигрывает на каком измерении. A.O.C. — это уровень прозы; authority-иерархия — это уровень схемы. Они композируются чисто.
- STCV, SPECS, PromptMaster. Промпт-фреймворки разной степени структурированности, ни один с фотографической ортогональностью A.O.C. A.O.C. opinionated относительно почему именно эти три оси — то, чем альтернативы обычно не заморачиваются. Контролируемое исследование было бы ценным.
- Cinematic motion frameworks. Видео-аналог добавляет ось Motion (движение камеры + действие субъекта), оставляя Anchor / Optics / Chemistry неизменными. Раннее свидетельство, что A.O.C. чисто расширяется на time-based-медиа. См. generative-ai-production-pipeline-paper.
- ControlNet-стек. Работает на уровне conditioning-тензоров, не на уровне промпта. A.O.C. ортогонален и композируется с ControlNet чисто (Anchor может кодировать pose-reference-намерение, Chemistry — depth-map-намерение).
- Sequential-consistency-паттерны. Четыре паттерна sequential-consistency-prompt-architecture-paper (reference-inheritance, anti-repetition, neighbor-aware, reference-condensation) композируются с A.O.C. как per-shot-словарём, пока сами обрабатывают across-shot-измерение.
8. Открытые исследовательские вопросы
- Формальная rubric. Скоринг «well-formed A.O.C. prompt» — вероятно, три оси × required/optional поля × pass/fail на поле. Нужно для обучения и автоматической QA выходов architect'ов.
- Контролируемое human study. A.O.C. против free prose против keyword stack, blinded human raters, фиксированный концепт, несколько моделей. Размер эффекта на качество выхода и на консистентность между повторными генерациями.
- Кросс-модальное расширение. Выживает ли A.O.C. при переходе на видео с добавлением только Motion-оси? На 3D, где Chemistry распадается на Light + Material? На audio (вероятно нет — сестринский фреймворк, скорее всего, чище).
- Атлас сбоев LLM-architect'ов. Когда LLM-ы эмитят A.O.C. в масштабе, какие конкретные режимы отказа появляются? Axis bleed? Шаблонный коллапс под температурой? Нужен корпус сломанных выходов, классифицированных по режиму.
- Эмпирическая основа порядка разрешения. Прецедентность
environment → style → color → subjectоснована на продакшн-опыте, не на user-study. Альтернативные порядки правдоподобны. - Именование. «Chemistry» — лёгкая натяжка: она покрывает свет + плёнку + атмосферу разом. Возможно, существует более чистый термин; сообщество приглашается предложить.
9. Заключение
A.O.C. — небольшой фреймворк, делающий большое утверждение: что каждый still-image-генеративный промпт может быть факторизован на три ортогональные оси, что эти три оси соответствуют трём реальным стадиям фотопродакшна, и что дисциплинированное соблюдение этой факторизации даёт промпты, которые композируются, дебажатся, обучаются и надёжно эмитятся LLM-ом.
Он предлагается здесь не как финальная спецификация, а как рабочий инструмент, уже находящийся в продакшне. Приглашение открыто: возьмите, сломайте, расширьте, замените.
Цитирование
Nix, A. (2026). A.O.C. — A Prompt Framework for Generative Image Models. Working paper.