Skip to content
КОНЦЕПТЫ
3 мин. чтенияЧитать на английском

Описание кадра из семи элементов

Режиссёр пишет описания кадров так же, как написал бы на площадке: «средний план, женщина за столом, мягкий свет из окна». Где-то указана крупность, где-то оптика, никогда не указан угол. Последующие стадии — storyboard, стиллы, видео — пытаются вытащить параметры камеры и света и промахиваются в половине случаев. Переключаете пайплайн на жёсткие JSON-объекты с семнадцатью nullable-полями — режиссёры бунтуют: половина полей остаётся пустой или заполняется «default». Свободная проза теряет измерения; JSON убивает авторство.

Средний путь — оставить прозу, но сделать небольшой фиксированный обязательный набор измерений нонегошиабельным в каждом описании.

Семиэлементное описание кадра — это промпт-архитектура для написания монтажных листов, в которой каждое описание — сгенерированное LLM или написанное человеком — должно содержать ровно семь именованных элементов в форме прозы. Обязательное покрытие, свободное выражение. Она находится между «слишком жёсткой» JSON-схемой и «слишком свободной» прозой.

Семь элементов

  1. Субъект + действие — что видит камера и что оно делает
  2. Локация — где разворачивается сцена
  3. Крупность — общий / средний / крупный / деталь
  4. Угол — на уровне глаз / сверху / снизу / с верхней точки
  5. Движение — статика, панорама, наезд, орбита и т. д.
  6. Оптика — широкоугольная / нормальная / портретная / макро
  7. Свет — направленный / мягкий / жёсткий / практический / естественный

Каждое описание кадра — на каждой стадии пайплайна — содержит все семь.

Почему семь и почему проза

Семь — это максимум, который комфортно умещается в рабочей памяти и при этом покрывает всё нужное. Меньше — измерения схлопываются (крупность подразумевает оптику); больше — описание начинает походить на анкету с пустыми полями.

Проза, а не 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).

Любая задача формы «монтажный лист» выигрывает от того же трюка.