3,583 papers
arXiv:2610.06672 70 5 окт. 2026 г. FREE

VideoTapestry: ответы по длинному материалу через трёхуровневую память и трёх агентов, каждый на своём масштабе

КЛЮЧЕВАЯ СУТЬ
Парадокс: если дописывать найденные детали в конец общего журнала, выходит хуже, чем если переписывать саму память под вопрос. VideoTapestry позволяет отвечать на точечные вопросы по очень длинному материалу (2,5-часовой подкаст, толстый отчёт) и не терять детали из середины. Фишка: материал заранее делится на три уровня, и три агента спускаются сверху вниз, переписывая под вопрос только нужные ветки. Сжатая общая канва плюс уточнённые ветки дают максимум, а одиночный агент, который делает всё сразу, заметно проигрывает. Отвечает четвёртый агент, и он по готовой памяти, ничего не ищет.
Адаптировать под запрос
⚡

TL;DR

VideoTapestry собирает составную память под конкретный вопрос. Исходный материал заранее разложен на три уровня: этапы (общая канва), события (середина) и мелкие факты. Три агента идут сверху вниз. Каждый видит только свой уровень, пересматривает нужные места заново и переписывает описания с учётом вопроса. Отдельный четвёртый агент отвечает по собранной памяти и сам ничего не ищет.

Главная находка: если просто дописывать найденные детали в конец (общий журнал), это хуже, чем переписывать нужные узлы памяти. Ещё важнее, что сжатая общая канва даёт больше, чем детали. Одни детали по выбранным веткам почти не лучше сырой памяти. Сжатый «скелет» всего материала с уточнениями по нужным местам даёт максимум. Одиночный агент, который делает всё сразу, заметно проигрывает трём агентам на разных масштабах.

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

🔬

Схема метода

ПОДГОТОВКА: материал заранее разложен на 3 уровня (этапы → события → мелкие факты)

ШАГ 1 — Агент «Обзор» (этапы):
  план → осмотр → обновление → решение
  важные этапы + их соседей оставляет подробными, остальные сжимает
  → выбирает ветки + пишет инструкцию следующему агенту

ШАГ 2 — Агент «Просмотр» (события выбранных этапов):
  получает инструкцию (не всю историю!) → пересматривает → переписывает описания под вопрос
  → выбирает события + инструкция дальше

ШАГ 3 — Агент «Фокус» (мелкие факты выбранных событий):
  точная проверка → переписывает описания → останавливается

ШАГ 4 — Сборка: сжатая канва + уточнённые ветки под своими родителями + короткий след решений

ШАГ 5 — Агент «Ответ» (отдельный): отвечает только по собранной памяти, без новых поисков

Шаги выполняются отдельными вызовами модели.

🚀

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

В оригинале метод работает с видео и требует кода. Но принцип «каркас сверху, детали по нужным веткам, ответ отдельным вызовом» переносится на длинные тексты. Ниже ручная версия для чата (это мой перенос, авторы такое не проверяли).

Задача: есть расшифровка 2,5-часового выпуска подкаста с основателем интернет-магазина. Нужно ответить: «Какую цифру выручки гость назвал в момент, когда рассказывал о выходе на Ozon, и что он говорил непосредственно перед этим?» Если вставить всю расшифровку и спросить в лоб, модель часто теряет нужный фрагмент или путает цифры из разных частей.

Промпт (сообщение 1, агент «Обзор»):

Ты — агент «Обзор». Вопрос: «Какую цифру выручки гость назвал, когда
рассказывал о выходе на Ozon, и что он говорил непосредственно перед этим?»

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

Расшифровка: {текст}

Результат: модель выдаст карту этапов с несколькими подробно расписанными (с цитатами) и остальными в одну строку. В конце будет решение: остановиться или передать инструкцию дальше. Следующий шаг — отдельное сообщение для «Просмотра» с текстом только выбранных этапов и этой инструкцией. Затем «Фокус», затем «Ответ» в новом чате, куда вставлено только итоговое дерево.

🧠

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

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

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

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

Рычаги управления: - Соседи выбранных этапов (по одному с каждой стороны) → защита от промаха в локализации. Если нужный кусок найден неточно, ответ может оказаться рядом. - Условие остановки → для общих вопросов («о чём выпуск в целом») можно остановиться на верхнем уровне. Для точечных обязательно спускаться вниз. Авторы в одной из конфигураций делали именно так. - Число уровней → для короткого материала хватит двух. - Инструкция следующему агенту → чем конкретнее («проверь цифру и единицы»), тем точнее проверка.

📋

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

Это повторяет протокол оригинала: Plan → Observe → Update → Decide, три агента по масштабам, передача инструкции и сборка.

<Роль>Ты — агент «{имя_агента}» уровня {уровень}. Ты видишь только свой уровень.

<Вопрос>{вопрос}
<Варианты>{варианты_если_есть}

<Вход>
  <ОбщееРезюме>{краткое_резюме_всего_материала}
  <Кандидаты>{узлы_этого_уровня_с_id_и_описаниями}
  <ИнструкцияСверху>{инструкция_от_предыдущего_агента_или_«нет»}


<Протокол>
1. PLAN: какие доказательства нужны, чтобы ответить на вопрос.
2. OBSERVE: обратись к исходнику {текст_или_фрагменты}
   и найди нужное в кандидатах.
3. UPDATE: для нужных узлов — перепиши описание: сохрани важные факты,
   добавь найденные доказательства (с дословными цитатами), убери лишнее.
   Для соседей нужных узлов (±1) — оставь исходное описание.
   Остальные узлы — сожми до одной строки.
   id, порядок и родительские связи не меняй.
   Если обновить нечего — оставь исходный текст.
4. DECIDE:
   - выбранные_id: [...]
   - инструкция_вниз: что проверить, что ещё не ясно (кратко, без пересказа всего пути)
   - стоп: true/false  ({правило_остановки})


<Формат>JSON: {"обновлённые_узлы":[...], "выбранные_id":[...], "инструкция_вниз":"...", "стоп":false}

Для сборки и ответа отдельным вызовом:

<Роль>Ты — агент «Ответ». Новых поисков нет. Отвечай только по памяти ниже.
<Вопрос>{вопрос}
<Память>{сжатая_канва + уточнённые_ветки_под_родителями}
<След>{кто_что_передал_и_где_остановился}
Дай ответ и укажи, на какой фрагмент памяти опираешься.

Что подставлять: вопрос, материал (расшифровка, документ, отчёт), правило остановки (например, «для общих вопросов можно остановиться на уровне этапов, для точечных нужно дойти до фактов») и уровни (этапы → события → факты).

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

Вот шаблон VideoTapestry (три агента по масштабам + отдельный агент «Ответ»).
Адаптируй под мою задачу: {твоя задача и материал}.
Задавай вопросы, чтобы заполнить поля.

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

LLM спросит, какой у тебя материал, какие вопросы будешь задавать и сколько уровней нужно. Эти вводные нужны, чтобы правильно разделить материал по масштабам и задать правило остановки. Паттерн из шаблона она перенесёт на твою задачу.

⚠️

Ограничения

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

⚠️ Промптов в статье нет: в основном тексте описана только логика (протокол и поля). Готовых формулировок нет, шаблон выше — моя реконструкция.

⚠️ Стоимость и время не измерены: метод делает несколько вызовов модели на вопрос. Затраты и задержка в основном тексте не обсуждаются.

⚠️ Узкая область: проверено только на вопросах с выбором ответа по длинным видео. Как это работает на открытых вопросах или на текстах, не показано.

⚠️ Ошибка в начале убивает ветку: если верхний агент выберет не те этапы, нижние уровни туда не спустятся. Защита только в виде соседей и сжатой канвы.

⚠️ Абляции на малой выборке: разбор вклада компонентов сделан на 200 вопросах одного бенчмарка. Разницу в 1–2 пункта (например, между журналом и переписыванием) нельзя считать надёжной.

🔍

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

Исследователи взяли готовую иерархическую память MemDreamer и поверх неё запустили трёх агентов. Проверяли на четырёх известных бенчмарках длинных видео. Главный противник — тот же GPT-5.5, но без всей схемы. Получили прирост от 7 до 17 пунктов точности, а на LVBench — 81,5% против 64,3%. Самый большой выигрыш пришёлся на поиск момента во времени (+40 пунктов): иерархия помогает находить нужное место в длинной записи.

Затем сделали абляции на 200 вопросах Video-MME Long. Убрали по очереди: просмотр кадров (−3,0), распознавание речи (−5,5), переписывание узлов (замена на журнал: −1,5) и разделение агентов (заменили на одного: −4,5). То есть больше всего дали речь и разделение по масштабам.

Самый интересный эксперимент касался состава памяти. Статичная память давала 79,5%. Только сжатая канва с уточнениями дала 85,0%, а только детальные ветки — 80,5%. Вместе — 87,0% при меньшем числе токенов, чем у статичной памяти (4 417 против 4 874). Это удивляет: «общая картина» оказалась полезнее «деталей». Для практики вывод такой: не выкидывай общий контекст, когда добавляешь детали, а сжимай его. Ещё проверили четыре модели (GPT и Qwen), прирост на всех от 7 до 9,5 пунктов.

💡

Адаптации и экстраполяции

🔧 Техника: перепиши, а не допиши → меньше мусора

Вместо «вот что нашёл дополнительно» в конец ответа проси в каждом шаге переписывать описание узла:

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

Так в абляции авторов работало лучше, чем журнал находок.

🔧 Техника: передавай инструкцию, а не историю → короче контекст

Между шагами в чате вставляй только «что проверить дальше», а не всю переписку.

Экстраполяция (не проверялось авторами): агент по большому репозиторию. В файле инструкций (CLAUDE.md) можно задать трёхуровневый обход: сначала карта модулей, затем файлы выбранных модулей, затем функции. Между уровнями передаётся только короткая инструкция. Ответ или правка выполняется отдельным шагом.

Работай в 3 прохода: (1) по карте модулей выбери релевантные + соседние;
(2) в выбранных файлах найди нужные функции; (3) проверь детали.
На каждом проходе пиши одну строку «что проверить дальше», а не пересказ всего пути.
Правки вноси только после третьего прохода.
🔗

Ресурсы

  • VideoTapestry: Query-Adaptive Memory Refinement for Multi-Agent Long-Video Understanding
  • Авторы: Yucheng Liu, Yufei Yin, Mingxiao Feng, Jiajun Deng, Wengang Zhou, Houqiang Li
  • Организации: University of Science and Technology of China, Jilin University, Hangzhou Dianzi University, Institute of Artificial Intelligence (Hefei Comprehensive National Science Center)
  • Основа памяти: MemDreamer (Chen et al., 2026). Бенчмарки: LVBench, LongVideoBench, Video-MME, EgoSchema

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

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

Парадокс: если дописывать найденные детали в конец общего журнала, выходит хуже, чем если переписывать саму память под вопрос. VideoTapestry позволяет отвечать на точечные вопросы по очень длинному материалу (2,5-часовой подкаст, толстый отчёт) и не терять детали из середины. Фишка: материал заранее делится на три уровня, и три агента спускаются сверху вниз, переписывая под вопрос только нужные ветки. Сжатая общая канва плюс уточнённые ветки дают максимум, а одиночный агент, который делает всё сразу, заметно проигрывает. Отвечает четвёртый агент, и он по готовой памяти, ничего не ищет.

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

Процесс идёт сверху вниз: Обзор → Просмотр → Фокус → Ответ. «Обзор» смотрит на этапы. Выбирает нужные, добавляет по соседу с каждой стороны. Остальные сжимает до одной строки. «Просмотр» читает события только внутри выбранных этапов. Переписывает их описания под вопрос. «Фокус» проверяет мелкие факты: цифры, имена, цитаты. «Ответ» получает итоговое дерево и отвечает. Каждый агент видит только свой масштаб и получает от предыдущего короткую инструкцию «что проверить», а не всю историю поисков. Получается составная память под конкретный вопрос: сверху сжатый скелет, снизу подробные ветки там, где нужно. Как карта города: весь город мелко, а нужный район в масштабе улиц.

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

Модель теряет детали из середины длинного текста. Если дать ей только найденные куски, она не понимает, что было до и после. Если искать одним агентом, он путает масштабы: то ищет главу, то сверяет число, и всё делает хуже. Метод разводит эти задачи. Модель хорошо работает в узком окне и хорошо переписывает текст под вопрос. Одни детали по выбранным веткам почти не лучше сырой памяти. Выигрыш даёт сжатая канва всего материала плюс уточнения в нужных местах. Соседние этапы страхуют от промаха: если локализация неточна, ответ может оказаться рядом. Отдельный агент «Ответ» не отвлекается на поиск. Трезво: проверено только на вопросах с выбором ответа по длинным видео. Разбор вклада компонентов сделан на 200 вопросах одного набора. Разницу в 1–2 пункта, например между журналом и переписыванием, всерьёз брать нельзя. Стоимость и задержку авторы не измеряли.

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

Длинные тексты → точечные вопросы с привязкой к месту («что сказали прямо перед этим», «какая цифра в момент X»), особенно когда ответ лежит в середине, а прямой вопрос по всему тексту даёт путаницу. Для общих вопросов («о чём выпуск в целом») можно остановиться на верхнем уровне. Для точечных нужно спускаться до фактов. НЕ подходит для коротких текстов: там хватит двух уровней или просто обычного промпта. Для открытых вопросов без вариантов ответа метод не проверяли. Ручной перенос на текст тоже авторы не проверяли, это адаптация. Ошибка верхнего агента убивает ветку: нижние уровни туда не спустятся.

Мини-рецепт

1. Подготовь материал: расшифровка, документ или отчёт целиком. Для длинного материала продумай три уровня: этапы → события → мелкие факты.
2. Запусти «Обзор»: дай вопрос и весь текст. Пусть разобьёт на 8–12 этапов, выберет нужные и ОБЯЗАТЕЛЬНО добавит соседей. Выбранные перепишет подробно с дословными цитатами, остальные сожмёт до строки.
3. Потребуй решение: «СТОП, ответ найден» или «ПЕРЕДАТЬ» с инструкцией: что проверить и что неясно.
4. Новое сообщение для «Просмотра»: вставь только выбранные этапы и инструкцию. Не тащи всю переписку. Пусть переписывает описания событий под вопрос.
5. «Фокус»: тоже отдельное сообщение, с событиями, которые выбрал «Просмотр». Конкретная инструкция («проверь цифру и единицы») даёт более точную проверку.
6. Собери дерево: сжатая канва + уточнённые ветки под своими родителями + короткий след «кто что передал».
7. «Ответ» в чистом чате: вставь только дерево. Скажи: новых поисков нет, отвечай по памяти и покажи, на какой фрагмент опираешься.

Примеры

[ПЛОХО] : Вот расшифровка 2,5-часового подкаста. Какую цифру выручки гость назвал про выход на Ozon и что говорил перед этим?
[ХОРОШО] : Ты — агент «Обзор». Вопрос: какую цифру выручки гость назвал, когда рассказывал о выходе на Ozon, и что он говорил непосредственно перед этим? Раздели выпуск на 8–12 этапов (номер, тайм-коды, 1 предложение). Выбери этапы, где вероятен ответ, и добавь по одному соседнему этапу с каждой стороны. Выбранные перепиши подробнее и процитируй дословно, остальные сожми до одной строки. В конце: СТОП или ПЕРЕДАТЬ с инструкцией, что проверить дальше. Расшифровка: {текст} Затем «Просмотр» в новом сообщении: Ты — агент «Просмотр». Инструкция сверху: проверь, где именно названа цифра выручки и что сказано перед ней. Вот только этапы 5, 6 и 7: {текст этапов}. Перепиши описания событий под вопрос, сохрани цитаты. И финал в чистом чате: Ты — агент «Ответ». Новых поисков нет. Отвечай только по памяти ниже и укажи, на какой фрагмент опираешься. Вопрос: {вопрос}. Память: {сжатая канва + уточнённые ветки}
Источник: VideoTapestry: Query-Adaptive Memory Refinement for Multi-Agent Long-Video Understanding
ArXiv ID: 2610.06672 | Сгенерировано: 2026-10-06 07:10

Концепты не выделены.

📖 Простыми словами

VideoTapestry: Query-Adaptive Memory Refinement for Multi-AgentLong-Video Understanding

arXiv: 2610.06672

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

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

Система заранее делит материал на три масштаба: этапы, события и микрофакты. Под капотом пашут четыре отдельных агента. Первые три идут сверху вниз: каждый работает только на своем уровне, пересматривает нужные фрагменты и переписывает память строго под запрос пользователя. Финальный четвёртый агент-аналитик получает идеально собранную выжимку и спокойно отвечает на вопрос, не отвлекаясь на поиск.

Авторы тестировали метод на видео, но принцип универсален. Тот же фреймворк легко переносится на многостраничные договоры, аудит кода или гигантские базы знаний. Один агент — один масштаб. Когда нейронка не мечется между пониманием общей сути главы и поиском точной цифры в сноске, точность ответов взлетает в разы.

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

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

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

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