Описание кадра из семи элементов
Режиссёр пишет описания кадров так же, как написал бы на площадке: «средний план, женщина за столом, мягкий свет из окна». Где-то указана крупность, где-то оптика, никогда не указан угол. Последующие стадии — storyboard, стиллы, видео — пытаются вытащить параметры камеры и света и промахиваются в половине случаев. Переключаете пайплайн на жёсткие JSON-объекты с семнадцатью nullable-полями — режиссёры бунтуют: половина полей остаётся пустой или заполняется «default». Свободная проза теряет измерения; JSON убивает авторство.
Средний путь — оставить прозу, но сделать небольшой фиксированный обязательный набор измерений нонегошиабельным в каждом описании.
Семиэлементное описание кадра — это промпт-архитектура для написания монтажных листов, в которой каждое описание — сгенерированное LLM или написанное человеком — должно содержать ровно семь именованных элементов в форме прозы. Обязательное покрытие, свободное выражение. Она находится между «слишком жёсткой» JSON-схемой и «слишком свободной» прозой.
Семь элементов
- Субъект + действие — что видит камера и что оно делает
- Локация — где разворачивается сцена
- Крупность — общий / средний / крупный / деталь
- Угол — на уровне глаз / сверху / снизу / с верхней точки
- Движение — статика, панорама, наезд, орбита и т. д.
- Оптика — широкоугольная / нормальная / портретная / макро
- Свет — направленный / мягкий / жёсткий / практический / естественный
Каждое описание кадра — на каждой стадии пайплайна — содержит все семь.
Почему семь и почему проза
Семь — это максимум, который комфортно умещается в рабочей памяти и при этом покрывает всё нужное. Меньше — измерения схлопываются (крупность подразумевает оптику); больше — описание начинает походить на анкету с пустыми полями.
Проза, а не JSON, — потому что:
- Последующие стадии используют описание по-разному: storyboard читает крупность + угол + движение; стиллы читают субъект + локацию + оптику; видео читает движение + субъект + действие. JSON-объект заставил бы каждый потребитель мапить именованные поля обратно в прозу, понятную LLM.
- Проза позволяет измерениям естественно взаимодействовать («широкоугольная оптика на нижнем угле с медленным наездом»), тогда как JSON держал бы три разорванных поля.
- LLM пишут прозу лучше, чем заполняют структурированные поля — все измерения присутствуют, но в виде естественного предложения.
Структура — это семь именованных элементов, а не семь ключей JSON. LLM получает инструкцию включить все семь; на выходе — проза.
Почему это отдельная архитектура
Свободная проза теряет измерения — автор забывает указать оптику или свет. Жёсткая схема заставляет заполнять поля, которые автору неинтересны (duration: null, color_palette: unspecified). Семиэлементный паттерн — это середина: обязательное покрытие, свободное выражение.
Это также интерфейс между человеческим и LLM-авторством. Режиссёр, знающий семь элементов, может вручную написать кадр, который пайплайн усвоит без потерь; LLM, выдающая семиэлементное описание, производит текст, который последующие стадии — и режиссёр — могут прочитать и отредактировать.
Куда идут элементы дальше
| Последующая стадия | Какие элементы читает | |---|---| | Генерация storyboard | Крупность, угол, движение (композиция) | | Генерация стиллов | Субъект, локация, оптика (содержание сцены) | | Генерация видео | Движение, субъект + действие (моушн) |
Последующие стадии не извлекают параметры из свободной прозы повторно. LLM получает инструкцию явно подписывать измерения в предложении («Крупность: средний крупный. Угол: на уровне глаз. Оптика: эквивалент 50 мм»), и каждый потребитель читает именованные измерения напрямую.
Режимы отказа
- Частичные описания. Модель пропускает оптику или свет, потому что пользователь их не задал. Контрмера: системный промпт требует все семь; если измерение не указано, модель выбирает разумный дефолт и явно его называет.
- Утечка измерений. Свет оказывается внутри «субъекта» («женщина, освещённая тёплым светом…»). Контрмера: анти-примеры в системном промпте.
- Сверхсжатие. Описание схлопывается в одно предложение, которое упоминает все семь, не давая каждому пространства. Контрмера: одно предложение на элемент или минимальное количество слов на элемент.
Обобщается за пределы монтажных листов
Сам паттерн — фиксированный, небольшой, обязательный набор именованных измерений в форме прозы, покрывающий пространство решений задачи, не схлопываясь в анкету. Он работает везде, где нужно писать списки структурированных, но читаемых элементов:
- Написание тестовых кейсов — семь обязательных полей на тест (вход, ожидаемый выход, предположения, setup, teardown, покрытый edge-case, автор).
- Декомпозиция задач — семь элементов на подзадачу в агентном плане (цель, предусловия, действие, ожидаемое состояние, откат, метрика, таймаут).
- Карточки персонажей — семь элементов на персонажа в сцене (присутствие, костюм, мотивация, движение, настроение реплики, выражение лица, off-screen note).
Любая задача формы «монтажный лист» выигрывает от того же трюка.