VibeVideoBench: агенты делают видео кодом, а не диффузией

VibeVideoBench: агенты делают видео кодом, а не диффузией

Агент получает текстовое задание, папку с ассетами, пустой контейнер и один час. На выходе нужен готовый MP4 со звуком: не превью, не раскадровка, не красивый кадр, а файл, который открывается и проигрывается. Именно так выглядит задача, которую люди всё чаще ставят Claude Code, Codex и Gemini CLI, когда просят «сделай ролик про наш продукт» или «объясни эту статью на видео».

Препринт VibeVideoBench впервые измеряет, насколько хорошо фронтир-агенты справляются с такой работой. Девять систем из шести лабораторий, 239 задач, 2151 прогон, 6,5 тысячи судейских оценок видео. Главный результат отрезвляет: даже лучшая система проваливает хотя бы одно ключевое требование примерно на четверти задач, а три четверти роликов, которые так и не доехали до финала, погибли не из-за слабой модели, а из-за плохого распределения времени.

Что такое VibeVideoBench

VibeVideoBench это бенчмарк для мультимодальных агентов, которые делают видео кодом. Агент получает спецификацию, необязательный набор входных файлов и machine-readable контракт поставки: разрешение, частоту кадров, длительность, политику по четырём звуковым каналам. Внутри песочницы он должен написать программу, которая отрисует кадры, синтезирует озвучку и музыку, соберёт всё через ffmpeg и сдаст MP4 вместе с редактируемым исходником.

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

Зачем вообще делать видео кодом

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

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

Именно поэтому люди уже делают такие ролики в Manim или Remotion, а агенты научились автономно работать часами, дёргая рендерер, headless-браузер, TTS и ffmpeg. Вопрос был только в том, насколько хорошо у них это получается.

Как устроен бенчмарк

Задачи собирали из четырёх источников: реальных запросов к инструментам кодогенерации видео, плотных описаний настоящих роликов, наборов ассетов вроде 3D-сканов и игровых спрайтов, а также лекционных заметок и научных статей. Каждый исходник проходил через контракт, который фиксирует все факты, числа и идентичности объектов, разбивает ролик на этапы с длительностями и задаёт политику звука, но оставляет свободу в подаче.

Получилось 239 задач в 12 категориях и 43 подкатегориях: 34 формы подачи (механизм и причинная цепочка, разобранные примеры, путешествие по карте) и 9 предметных областей (математика, физика, ИИ). Английских задач 209, китайских 30. В 201 задаче есть входные ассеты, медиана 7 файлов и 2,7 ГБ. Семьдесят процентов задач требуют хотя бы одного звукового канала, почти половина, 49%, требуют речи. Стандарт это 1920 на 1080 при 30 кадрах в секунду, в 54 задачах задано точное число кадров. Длительность от 8 секунд до 15 минут, а один полный проход по бенчмарку это 11,1 часа готового видео.

Три уровня проверки и три судьи

Проверка иерархическая, и это главная методическая находка статьи. Первый уровень, L1, целиком программный: 1449 проверок на систему. Код смотрит, декодируется ли MP4, совпадает ли разрешение, попадает ли длительность в допуск плюс-минус полсекунды, есть ли слышимая звуковая дорожка с пиком выше минус 50 dBFS, сдан ли исходный проект. Для уроков и разборов статей добавляются покрытие озвучки через VAD, язык narration через ASR и отсутствие длинных чёрных или замороженных участков.

Второй уровень, L2, это 12 985 атомарных проверок, примерно по 54 на задачу. Каждая проверка цитирует требование, которое она защищает, помечена как core или detail и требует показать процесс, а не заявить результат. Проверок от 13 до 110 на задачу. Здесь же появляется самая жёсткая метрика: L2 strict, когда прогон считается успешным только если ни одна ключевая проверка не провалена.

Третий уровень, L3, оценивает качество по пяти измерениям: визуальное качество, эстетика, логика содержания, тайминг и движение, качество звука и синхронизация. Каждое измерение размечено якорями на 1, 3 и 5 для конкретной задачи, а не общей шкалой.

Судей трое, и они работают панелями. Две панели смотрят полное видео со звуком, третья маршрутизирует проверки по модальности: визуальные уходят в одну модель, звуковые в другую, чтобы проверку звука никогда не выполнял судья, который его не слышит. Все оценки валидировались слепым парным исследованием на людях: пять аннотаторов, все 239 задач, два синхронизированных плеера.

Кто сколько набрал

Таблица результатов читается как рейтинг, но с двумя оговорками: оценка L3 считается только по доставленным роликам, а рядом стоит надёжность поставки.

Система MP4 из 239 Соответствие спецификации L2 strict L3
GPT-6 Astra 238 93,7% 74,5% 4,13
Claude Opus 5.5 239 99,6% 76,3% 4,07
Claude Sonnet 5.5 232 94,6% 67,0% 4,00
Gemini 4 Argon 184 76,6% 55,2% 3,99
DeepSeek-V4.1-Flash 236 94,6% 57,6% 3,96
Kimi K3 213 85,8% 46,3% 3,86
GLM-5.3-Flash 179 66,9% 33,5% 3,74
GPT-5.6 Sol 213 84,5% 39,0% 3,74
Gemini 3.8 Flash 193 77,4% 26,6% 3,47

Два лидера очевидны: GPT-6 Astra с 4,13 и Claude Opus 5.5 с 4,07. Opus единственный, кто сдал все 239 видео, и на 99,6% задач прошёл все программные проверки. На другом конце GLM-5.3-Flash: 179 роликов, 66,9% соответствия спецификации, и самое низкое strict-успевание.

Важная деталь: попиксельные оценки L2 на доставленных видео упираются в потолок, от 80,5% до 97,3%. Проходят почти все отдельные проверки. Ломается другое: удержать все проверки одной задачи одновременно. Разброс strict-успеха от 26,6% до 76,3% и означает, что даже лидер ошибается в критичном требовании примерно на каждой четвёртой задаче.

Надёжность это отдельная ось

Если считать отсутствующее видео за ноль, картина меняется не только в цифрах, но и в порядке мест. Gemini 4 Argon, который доставляет лишь 77% роликов, падает с четвёртого места на седьмое. GPT-5.6 Sol проваливается с шестого на восьмое. Astra и Opus остаются наверху именно потому, что сдают почти всё.

Есть и тихая форма ненадёжности. У GPT-5.6 Sol 48 из 213 проигрываемых видео вообще без звуковой дорожки, отсюда худшая аудио-оценка среди доставленных, 3,71. Формально ролик есть, смотреть его с озвучкой нельзя.

Почему видео теряются

Авторы прочитали записи всех 224 прогонов, которые закончились без проигрываемого файла, и разложили причины. Три четверти, 169 прогонов, это тайм-менеджмент: финальный рендер запущен слишком поздно, шёл слишком медленно или не запускался вообще. Из них 104 опоздали или не уложились по скорости, 65 не начинали финальный рендер. Ещё 45 прогонов поймали зависший или обрезанный рендер, 7 уничтожили собственный результат, 3 упали по другим причинам.

Разбор зависаний почти детективный. 33 рендера умерли в двух системах Gemini из-за того, что скрипт агента подавал кадры в ffmpeg через пайп и никогда не читал его поток ошибок. Пайп заполнялся, процесс вставал. Один рендер остановился на кадре 7744 из 10 102, за девяносто секунд до конца. Ещё в 12 прогонах агент завершил ход, пока рендер крутился в фоне, и его отрезали.

Самая обидная категория это самоуничтожение. DeepSeek дважды проверил собственное видео, а за минуту до дедлайна перекодировал файл на месте и оставил обрезанный MP4 на 0,26 МБ. Ролик был готов, агент его убил.

Контраст с Opus показателен: он финиширует медианно за 24 минуты до дедлайна, тогда как Sol и GLM за 10–11 минут. Стратегия, которую видно в траекториях, простая: сначала собрать полный поставляемый черновик, потом улучшать только копии и проверять закодированный MP4, а не промежуточные кадры.

Больше времени не помогает

Логичное возражение: дайте агентам два часа вместо часа. Авторы проверили. DeepSeek в бюджетной абляции получает 3,92 при 60 минутах и 3,94 при 120, потратив на 35 минут больше. Прирост в пределах шума.

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

Как агенты собирают кадры

Пайплайн у всех одинаковый: код, кадры, ffmpeg. ffmpeg встречается в 96–100% прогонов. А вот готовые фреймворки почти не используются: Manim появился в 8 прогонах из 2151, MoviePy в 13. Агенты пишут рендерер с нуля.

У каждой системы свой почерк. Claude-агенты рисуют векторы через cairo, в 46–54% прогонов. GPT-5.6 Sol, Kimi и GLM растрируют кадры через PIL и numpy, 43–55%. Astra, DeepSeek и Gemini 3.8 Flash снимают canvas браузера и сцены three.js, 52–60%.

Почерк связан с результатом. В объединённой выборке cairo даёт 3,79 итогового балла (без учёта недоставленных), браузерный 2D 3,73, PIL 3,49, three.js 3,00. Проигрываемость тоже разная: 94% у cairo и браузерного 2D, 90% у PIL, 82% у three.js. Софтверный WebGL медленнее всего, и именно он чаще всего ловит поздний рендер. Авторы честно оговаривают, что рендерер и система связаны, так что это ассоциация, а не доказанная причина.

Самоосмотр есть, пользы нет

Почти все агенты смотрят на собственные кадры: 95% прогонов делают хотя бы один вызов, возвращающий изображение. Но количество просмотров не предсказывает качество, корреляция минус 0,07 на девяти системах. Astra смотрит меньше всех, медиана 3 изображения за прогон, и занимает первое место. DeepSeek смотрит больше всех, медиана 35, и пятое.

Хуже того, отчёты агентов расходятся с реальностью. Среди проигрываемых видео, проваливших спецификацию, финальный отчёт всё равно утверждал, что видео проверено, у Astra в 10 случаях из 14, у Sol в 3 из 11. Агент пишет «подтверждено», «ffprobe», «проверено», а файл не соответствует контракту.

Практический вывод неожиданный: смотреть надо не больше, а на правильные вещи. Проверять закодированный артефакт, а не свежий кадр из середины рендера.

Судьи и люди

Отдельный блок статьи посвящён тому, можно ли верить судьям на VLM. На уровне систем всё хорошо: три панели ранжируют модели почти одинаково, коэффициент Спирмена между панелями 0,93–0,95, а средняя трёх панелей совпадает с человеческим Elo на 0,98.

На уровне отдельного видео согласие скромное. Корреляция оценок 0,45–0,51, каппа по проверкам 0,44–0,56 при 91–95% сырого согласия, порядок двух роликов одной задачи совпадает с людьми в 66–70% случаев. Средняя точность на парах 73,3%, но она зависит от отрыва: 63% при разнице меньше 0,2 и 86% при разнице 0,5 и больше. Самое неприятное: пары, которые люди помечают как «оба плохие», судьи оценивают тем же средним 3,81, что и остальные. То есть судьи умеют упорядочивать, но не умеют удостоверять приемлемость.

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

Цена качества

Средняя стоимость задачи по прайс-листу различается в 49 раз: от 0,32 доллара у GLM-5.3-Flash до 15,38 у Claude Opus 5.5. Весь прогон обошёлся примерно в 12,8 тысячи долларов.

Дорого не значит лучше. DeepSeek-V4.1-Flash набирает 95% балла Astra при 5,8% его стоимости, 0,47 доллара против 8,19. По показателю «баллы за доллар» DeepSeek и GLM дают 8,25 и 8,83, примерно в семь раз больше следующей системы. Граница Парето выглядит так: GLM, затем DeepSeek, затем Astra.

Структура расходов тоже говорит о многом. У Opus 76% стоимости это записи в промпт-кэш, 2,3 миллиона токенов на задачу при 65% попаданий: кэш успевает истечь, пока идёт длинный рендер. У Sol 55% приходится на некэшированный вход. Astra при этом выдаёт меньше всех выходных токенов, 61 тысячу на задачу против 77–289 тысяч у остальных.

Что из этого следует

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

Четвёртое: инструменты надо подбирать под бюджет времени, а не под красоту. Софтверный 3D на три часа рендера выглядит впечатляюще в демо и проваливается на дедлайне. Пятое: надёжность и качество надо мерить раздельно. Система с оценкой 3,99 и 77% доставки хуже для пользователя, чем система с 3,96 и 98% доставки, хотя в таблице «качества» она выше.

Часто задаваемые вопросы

Чем VibeVideoBench отличается от бенчмарков видеомоделей? Он оценивает не диффузионную генерацию клипов, а агента, который пишет код и собирает многосекундный ролик со звуком. Проверяется и сам факт поставки файла, и соответствие спецификации, и качество по пяти измерениям.

Почему агенты теряют видео, если модель сильная? Из 224 неудач 169 приходятся на тайм-менеджмент: финальный рендер запускается поздно, идёт медленно или не запускается вовсе. Ещё 45 рендеров зависли, в том числе из-за незакрытого потока ошибок ffmpeg.

Можно ли доверять судейским оценкам отдельного видео? На уровне рейтинга систем да, согласие с людьми почти полное. На уровне одной пары точность 63–86% в зависимости от отрыва, поэтому для тонких решений и обучения нужны несколько панелей или человек.

Итог

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

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

← Все записи