3,583 papers
arXiv:2608.22725 74 24 авг. 2026 г. FREE

SEAM: явная память состояний для консистентности в длинных историях и сериях кадров

КЛЮЧЕВАЯ СУТЬ
Кольцо спрятано в серии 3 — а в серии 12 предательски блестит на пальце героини. Знакомая беда любого длинного сценария с LLM: каждая сцена пишется с чистого листа, мелкие детали улетучиваются. SEAM позволяет тащить консистентность реквизита, одежды и мест через десятки сцен подряд без вычитки всего текста руками. Фишка — модель смотрит только в прошлое, никогда в будущее: карточка сцены хранит 8 параметров, а при написании новой сцены достаются только факты ДО текущего момента — иначе привет спойлеры и логические дыры.
Адаптировать под запрос

TL;DR

SEAM — техника, которая удерживает консистентность деталей через много сцен подряд: для каждой сцены фиксируется явная "карточка состояния" (кто где, что держит, во что одет), карточки связываются между собой по времени и по общим персонажам, а при написании новой сцены модель забирает только релевантный прошлый контекст и аккуратно вплетает его в текст.

Проблема, которую метод решает: когда каждая сцена или кадр пишется отдельно, модель не помнит мелких деталей из прошлого. Персонаж снял перчатку в одной сцене — а через пять сцен она снова на нём, потому что модель "с чистого листа" описывает новую сцену. Каждая такая мелочь незаметна сама по себе, но их накопление по всей истории превращается в заметные нелогичности, которые потом приходится вычищать руками.

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


🔬

Схема метода

ШАГ 1: Извлечь состояние каждой сцены → карточка из 8 параметров (сцена, персонажи, реквизит, действия и т.д.)
ШАГ 2: Связать карточки между собой → по времени, по общим персонажам, по общему месту
ШАГ 3: Для новой сцены — найти релевантные прошлые карточки → но только те, что были ДО текущего момента (причинность)
ШАГ 4: Отфильтровать найденное → LLM решает что реально нужно, что избыточно или конфликтует
ШАГ 5: Вплести оставшееся в описание новой сцены → естественным текстом, без изменения стиля

Все шаги можно выполнить в диалоге с LLM без кода — как серию промптов с явной "карточкой" в контексте.


🚀

Пример применения

Задача: Вы пишете с ChatGPT сценарий вертикального сериала для VK Клипов — 20 коротких серий про девушку, которая притворяется бедной перед миллиардером. Нужно, чтобы кольцо, которое героиня спрятала в серии 3, не "всплыло" случайно на её пальце в серии 12.

Промпт:

Веди для меня карточку состояний по ходу сценария. После каждой написанной серии 
обновляй список: где находится каждый ключевой предмет (кольцо, письмо, флешка), 
что из одежды/атрибутов у героев видно, в каком эмоциональном состоянии они 
закончили серию.

Вот текущая карточка на серию 11:
- Кольцо: героиня спрятала в шкатулку в серии 3, никому не показывала
- Артём: узнал о подмене документов в серии 9, но героине об этом не сказал
- Место: офис компании, последний раз показан в серии 7 с ремонтом (леса на фасаде)

Я хочу написать серию 12: [описание сцены]. 

Проверь по карточке, какие детали из прошлого ОБЯЗАТЕЛЬНО должны быть 
консистентны в этой сцене, а какие неважны — и впиши только нужное 
в текст сцены, не меняя стиль.

Результат: Модель сначала явно скажет, какие из фактов карточки релевантны сцене 12 (например, "леса на фасаде ещё не сняты, значит здание должно выглядеть также"), отбросит нерелевантные (эмоции Артёма могут не упоминаться, если сцена не про него), и выдаст готовый текст сцены с аккуратно вписанными деталями без резких вставок типа "как вы помните, кольцо было спрятано в серии 3".


🧠

Почему это работает

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

Зато модель хорошо умеет три вещи по отдельности: вытаскивать структурированные факты из текста по заданному шаблону, оценивать релевантность одного факта к другому по запросу, и переписывать текст, вплетая новую информацию без потери стиля.

SEAM просто выстраивает эти три сильные стороны в цепочку вместо того, чтобы надеяться на память модели "в один заход": сначала заставляет явно зафиксировать факты, потом явно спросить "что из этого нужно СЕЙЧАС", и только потом просит переписать.

Рычаги управления: - Количество отслеживаемых параметров (в оригинале 8) → для простой истории хватит 3-4 (реквизит, одежда, место) - Глубина поиска в прошлое (сколько сцен назад смотреть) → для короткой истории можно смотреть на все сцены, для длинной — только на последние 5-10 или те, где фигурирует тот же персонаж - Критерий отбора ("что считается релевантным") → можно сузить до "только физические объекты" или расширить до эмоций и отношений - Жёсткость вплетения → можно попросить модель прямо перечислить факты списком (для рабочего документа) или художественно растворить их в тексте (для финальной версии)


📋

Шаблон промпта

Ты ведёшь память состояний для {название истории/сериала}.

Вот карточка состояний на текущий момент (обновляй после каждой части):
- {персонаж/объект 1}: {текущее состояние, где, с кем, в каком виде}
- {персонаж/объект 2}: {текущее состояние}
- {место действия}: {как выглядит сейчас, что изменилось}

Я хочу написать {следующую сцену/пост/главу}: {описание того, что должно произойти}.

Сделай так:
1. Проверь по карточке, какие факты ОБЯЗАТЕЛЬНО должны сохраниться в этой части 
   (причинно связаны с тем, что уже произошло), а какие неважны для неё
2. Отбрось те, что не относятся к сцене — не нужно упоминать всё подряд
3. Впиши только нужное в текст естественно, без прямых отсылок типа "как мы помним"
4. После текста — обнови карточку с учётом того, что изменилось в этой части

Что подставлять: название истории, реальные факты о персонажах/предметах на текущий момент, описание следующей части.

🚀 Быстрый старт — вставь в чат:

Вот шаблон техники "память состояний" для длинной истории. Адаптируй под мою задачу: 
{твоя задача — например, серия постов, сценарий, комикс}.
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит, какие именно детали важно отслеживать в вашей истории (предметы, одежда, отношения, локации) — потому что набор параметров зависит от жанра и сюжета. Дальше она сама предложит структуру карточки под вашу задачу.


⚠️

Ограничения

⚠️ Ручная нагрузка растёт с длиной истории: для 5-10 частей карточку легко вести вручную в одном чате. Для 50+ частей нужно либо выносить карточку в отдельный документ, либо автоматизировать через код — иначе сам процесс обновления карточки станет тяжелее, чем писать текст.

⚠️ Не решает консистентность в картинке или видео: если вы используете текст-промпт для генерации изображений, метод помогает согласовать текстовое описание, но перенос этого на визуальный результат (сама картинка) работает заметно слабее — по данным исследования, эффект на уровне изображений есть, но небольшой.

⚠️ Работает только если карточка обновляется честно: если пропустить обновление после одной из частей, следующая часть будет строиться на устаревших данных — метод требует дисциплины, а не разового промпта.


🔍

Как исследовали

Команда протестировала SEAM на трёх реальных коротких дорамах общим объёмом 68 эпизодов, сравнивая обычную генерацию сцен "по одной" с версией, где каждая сцена получает память о прошлом. Замеряли, сколько нарушений консистентности (типа той самой перчатки) удаётся починить — и получили рост с 70% исправленных нарушений до 94.6%. Проверку повторили на шести разных языковых моделях, чтобы убедиться, что эффект не зависит от конкретной модели — и метод сработал везде, что говорит о его универсальности, а не о случайной удаче с одной моделью. Отдельно метод протестировали в реальном производстве — на 201 кадре коммерческого продукта, где 96.5% результатов приняли реальные режиссёры без правок, что подтверждает: эффект держится не только на тестовых данных, но и в живой работе.


🔗

Ресурсы

SEAM: Shot Entity-Attribute Memory for Consistent Short-Drama Generation at Scale. Авторы: Jiaqi Liu, Maolin Ran, Xiaoyang Lu, Jian Wang, Weiwen Liu, Jianghao Lin, Yong Yu, Weinan Zhang (Shanghai Jiao Tong University, CreativeFitting). Датасет SEAM-Bench доступен на Hugging Face (huggingface.co/datasets/Jackyqq/SEAM-Bench).


📋 Дайджест исследования

Ключевая суть

Кольцо спрятано в серии 3 — а в серии 12 предательски блестит на пальце героини. Знакомая беда любого длинного сценария с LLM: каждая сцена пишется с чистого листа, мелкие детали улетучиваются. SEAM позволяет тащить консистентность реквизита, одежды и мест через десятки сцен подряд без вычитки всего текста руками. Фишка — модель смотрит только в прошлое, никогда в будущее: карточка сцены хранит 8 параметров, а при написании новой сцены достаются только факты ДО текущего момента — иначе привет спойлеры и логические дыры.

Принцип работы

Метод не просит модель 'запомнить всё' — он дробит задачу на три отдельных навыка. Извлечение: вытащить факты сцены по шаблону (кто, где, во что одет, что держит). Отбор: решить, какие из старых фактов нужны именно СЕЙЧАС, а какие — балласт. Вплетение: переписать текст с этими фактами внутри, без корявого 'как вы помните'. Три простых шага подряд сильнее одной попытки удержать всё в голове за один заход.

Почему работает

LLM плохо держит десятки разбросанных мелких фактов в одном большом тексте — контекст огромный, но нужная деталь не всплывает сама в нужный момент, особенно если она логически не связана с текущей фразой. Зато по отдельности модель отлично умеет: вытаскивать факты по шаблону, сравнивать факт с фактом на релевантность, переписывать текст с новой информацией без потери стиля. SEAM просто не заставляет модель делать все три вещи разом — и в этом весь секрет.

Когда применять

Для сериальных историй с продолжением (сценарии коротких сериалов, веб-комиксы, серии постов) → особенно когда есть предметы, одежда или отношения персонажей, которые тянутся через много частей и легко забываются. НЕ подходит, если нужна консистентность в самой картинке или видео — метод чинит текст, перенос на визуал заметно слабее.

Мини-рецепт

1. Заведи карточку: 3-8 параметров под твою историю — реквизит, одежда, место, эмоции
2. Обновляй после каждой части: что изменилось, что осталось как было
3. Перед новой частью спроси модель: что из карточки обязательно для этой сцены, а что не нужно
4. Впиши только отобранное: без прямых отсылок типа «как мы помним»
5. Обнови карточку заново: после того как текст готов

Примеры

[ПЛОХО] : Напиши серию 12 про встречу героини с миллиардером
[ХОРОШО] : Вот карточка: кольцо спрятано в шкатулке с серии 3, здание офиса в лесах с серии 7, Артём узнал о подмене документов в серии 9 но молчит. Напиши серию 12: [описание сцены]. Сначала скажи какие факты из карточки обязательны для этой сцены, потом впиши только их в текст без прямых отсылок
Источник: SEAM: Shot Entity-Attribute Memory for Consistent Short-Drama Generation at Scale
ArXiv ID: 2608.22725 | Сгенерировано: 2026-08-25 05:22

Проблемы LLM

ПроблемаСутьКак обойти
Модель теряет мелкие детали при многочастной генерацииПишешь историю по частям — сериями, главами, постами. Модель забывает изменения из прошлых частей. Персонаж снял перчатку в серии 3. В серии 8 она снова на нём. Контекстное окно большое, но это не гарантирует что деталь всплывёт именно тогда, когда нужна. Особенно если факт был мелким и логически не связан с текущей фразойВеди явную "карточку состояния": фиксируй ключевые факты после каждой части в структурированном виде. Перед написанием новой части — сверяйся с карточкой, а не надейся на память модели

Методы

МетодСуть
Карточка состояния + причинный фильтр — консистентность в серияхИзвлеки структурированные факты сцены (кто где, что держит, во что одет). Перед новой частью ищи релевантные факты только из ПРОШЛЫХ карточек — будущие события не должны просачиваться назад. Отфильтруй найденное: попроси модель решить что реально нужно этой сцене, а что избыточно. Вплети оставшееся в текст естественно, без фраз "как мы помним". Почему работает: модель плохо держит десятки разрозненных фактов сразу, но хорошо делает три узкие задачи по отдельности — вытащить факты по шаблону, оценить релевантность одного факта к другому, переписать текст с новой вставкой без потери стиля. Метод просто разбивает сложную задачу на эти три сильные стороны вместо одного захода. Когда применять: сериалы, серии постов, главы книги — где важна мелкая деталь через много частей. Когда не работает: перенос консистентности текста на картинку или видео — эффект слабый; для 50+ частей ручная карточка становится тяжелее самого текста, нужна автоматизация
📖 Простыми словами

SEAM: Shot Entity-Attribute Memory for Consistent Short-Drama Generation at Scale

arXiv: 2608.22725

Нейросети феноменально тупят на длинных дистанциях: контекстное окно может быть огромным, но модель всё равно теряет контекст и галлюцинирует. Если персонаж снял куртку пять сцен назад, для LLM это уже белый шум. Метод SEAM решает проблему кардинально — он убирает сюжетные дыры через жесткую структурированную память состояний.

Это как нанять на съемочную площадку въедливого помощника режиссера по реквизиту. Вместо того чтобы перечитывать весь 500-страничный сценарий перед каждым дублем, он смотрит в короткую карточку кадра: кто где стоит, что держит в руках и во что одет. Без такого чеклиста у тебя получается полный провал, когда герой делает глоток из чашки, которая испарилась три сцены назад.

Механика SEAM держится на трех вещах: генерация карточки сущностей и атрибутов для каждой сцены, связывание их в единую цепь и хитрая точечная выборка. Модель не тащит за собой простыню из 20 прошлых эпизодов, а выдергивает только актуальный срез состояния персонажей прямо перед написанием новой сцены.

Авторы гоняли метод на коротких видеосериалах, но принцип универсален. Та же схема спасет сложные ветвящиеся квесты в геймдеве, написание книжных циклов и логику многошаговых AI-агентов, где критически важно помнить статус инвентаря. Везде, где есть динамический сюжет во времени, тупое набивание промпта старым текстом сливает по качеству.

Короче: хватит надеяться, что нейронка сама чудом удержит сюжетные хвосты без твоей помощи. Явная фиксация состояний гарантирует связность повествования на любых масштабах. Внедряй карточки атрибутов и селективную память, иначе твои герои будут вечно находить спрятанные кольца у себя на пальцах.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с