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

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

То есть система не просто запоминает, какие действия обычно делает человек в Minecraft. Она строит приближенную модель того, что произойдет дальше: если повернуть камеру, сломать блок, поставить верстак, скрафтить инструмент, спуститься под землю, найти руду и так далее.

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

Самый громкий результат Dreamer 4 — алмазы в Minecraft из офлайн-данных.

Здесь важно не само слово «Minecraft». На первый взгляд может показаться, что речь опять про игрушечный benchmark, где нейросеть научилась чему-то бесполезному. Но Minecraft неприятен для агента именно тем, что в нем длинная причинная цепочка.

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

В работе указывается порядок более 20 тысяч действий. Это уже не задача вида «нажми кнопку, получи награду». Это задача на длинный горизонт, где ошибка в начале может проявиться только сильно позже.

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

Dreamer 4 интересен именно тем, что пытается вынести большую часть обучения в модель среды.

Сначала мир, потом поведение.

Условно архитектуру можно разложить на несколько частей.

Первая часть — world model. Она смотрит на видео и учится предсказывать динамику среды. Не просто следующий красивый кадр, а то, как действия меняют состояние мира. В Minecraft это особенно заметно: блок должен исчезнуть после добычи, предмет должен появиться в инвентаре, верстак должен открываться, печка должна работать, лодка должна ехать, зомби должен вести себя как зомби, а не как случайный набор пикселей.

Вторая часть — action conditioning. Модели нужно понимать не только последовательность кадров, но и связь между действием и результатом. Один и тот же визуальный контекст может развиваться по-разному, если агент ударил блок, повернулся, прыгнул или открыл инвентарь.

Третья часть — обучение поведения внутри этой модели. Агент больше не обязан каждый раз идти в настоящую среду. Он может тренироваться на воображаемых траекториях: «если я сделаю это, дальше с высокой вероятностью будет вот это, за это я получу такую-то награду, а потом смогу сделать следующий шаг».

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

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

Это старая болезнь model-based RL. Агент может найти не рабочую стратегию, а дыру в симуляторе. В настоящей среде эта стратегия развалится, потому что реальный мир не обязан подчиняться ошибкам модели.

Поэтому центральный вопрос Dreamer 4 не в том, может ли модель сгенерировать видео. Сейчас видео умеют генерировать многие модели. Вопрос в другом: может ли world model достаточно точно держать интерактивную причинность?

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

В этом месте Dreamer 4 отличается от обычной эстетики генеративных видеомоделей. Видеомодели часто оцениваются глазами: насколько красиво, плавно, реалистично. World model для агента оценивается жестче: можно ли внутри нее обучить поведение, которое потом перенесется наружу.

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

Технически в Dreamer 4 сделали ставку на несколько вещей.

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

Во-вторых, на interactive dynamics model. Она предсказывает, как эти состояния будут меняться под действием агента. Это уже ближе к «физике» среды, пусть и не в виде школьных формул, а в виде обученной нейросетевой динамики.

В-третьих, на block-causal transformer. Смысл здесь в том, чтобы эффективнее работать с пространственно-временной структурой: внутри одного момента времени модель может смотреть на разные части состояния, но по времени она должна соблюдать причинность. Будущее не должно протекать в прошлое.

В-четвертых, на shortcut forcing. Это один из способов ускорить генерацию будущих состояний. Для интерактивного world model скорость критична. Если каждое воображаемое действие требует дорогой многошаговой генерации, агент не сможет нормально тренироваться внутри модели. Ему нужны миллионы imagined steps, а не красивые, но медленные ролики для демо.

Поэтому важная часть результата Dreamer 4 — не только качество предсказаний, но и интерактивная скорость на одной GPU.

Отдельно интересно, что Dreamer 4 использует офлайн-данные.

Это меняет постановку задачи. Агент не ходит по Minecraft во время обучения поведения и не собирает опыт методом бесконечных проб. Он берет уже существующие видео и записи действий, учится на них строить модель мира, а затем внутри этой модели тренирует стратегию.

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

Но здесь не стоит улетать в фантазии.

Dreamer 4 всё еще демонстрируется на контролируемых доменах, прежде всего на Minecraft. Это сложная среда, но она всё равно дискретнее, чище и дешевле настоящего мира. В реальности гораздо больше скрытых переменных: трение, деформации, грязные сенсоры, поломки, неточные приводы, неожиданные объекты, люди в кадре, плохое освещение.

Даже если world model хорошо работает в Minecraft, это не означает автоматический перенос в домашнего робота, который завтра сам помоет посуду, разберет шкаф и не разобьет стакан.

Корректнее сказать так: Dreamer 4 показывает направление, в котором обучение агентов может стать менее зависимым от прямого взаимодействия со средой.

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

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

LLM хорошо работают с языковыми шаблонами и рассуждениями по тексту. World models пытаются закрыть другой слой: динамику среды.

Самое интересное в Dreamer 4, на мой взгляд, не Minecraft и даже не алмазы. Самое интересное — разделение знания о мире и обучения поведения.

Модель мира может впитывать большую часть знаний из неразмеченных или слабо размеченных видео. А для привязки действий может хватать относительно меньшего количества данных, где известно, что именно делал агент или человек. Это экономически привлекательная схема: не всё нужно размечать руками, не всё нужно проигрывать в реальной среде, не всё нужно получать через дорогой trial-and-error.

Но есть и слабое место.

World model не является истиной. Это компрессия опыта. В ней будут ошибки, слепые зоны и странные обобщения. Чем дальше агент уходит от распределения данных, тем выше риск, что модель начнет выдавать правдоподобную, но неверную динамику. Для игры это неприятно. Для робота, машины или промышленного манипулятора это уже вопрос безопасности.

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

Где модель уверена? Где она начинает галлюцинировать физику? Как понять, что агент нашел реальный навык, а не эксплойт внутреннего симулятора? Как безопасно дообучать такую систему на реальном опыте? Как объединять видео из интернета, данные с роботов и текстовые инструкции в одну устойчивую систему?

Dreamer 4 не отвечает на все эти вопросы. Но он делает важный шаг: показывает, что world model может быть не просто генератором красивых интерактивных сцен, а тренировочной средой для поведения.

Именно поэтому эта работа выглядит значимой.

Не потому что «нейросеть научилась играть в Minecraft». Это слишком плоское описание.

Смысл в другом: агент смог использовать обученную модель мира как внутренний полигон. Не просто имитировать человека по датасету, а тренировать стратегию внутри симуляции, построенной из офлайн-опыта.

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

Это гораздо ближе к полезным автономным системам, чем очередной чат-бот с кнопкой «выполнить задачу».