Код как модель мира
Большие мультимодальные модели уже умеют описывать, что происходит на видео: мяч катится, чашка падает, машина поворачивает. Но с физикой у них часто остаётся старая проблема. Они видят явление, а не механизм. Могут красиво объяснить ролик, но не всегда понимают, почему объект поехал именно так, какая у него скорость, что изменится, если толкнуть его сильнее, и что вообще скрыто за картинкой.
Авторы работы Code-as-World предлагают представлять физический мир не пикселями, не только текстом и не только 3D-сценой, а исполняемым кодом. То есть таким описанием, которое можно запустить в симуляторе, проверить, поправить и снова запустить.
Если вы хотите, чтобы ИИ не просто пересказывал увиденное, а умел считать скорость, оценивать размеры, понимать столкновения и отвечать на вопрос «что будет, если», ему нужна модель мира, где явно заданы объекты, их параметры, состояние и динамика. И код для этого оказался удобным языком.
Почему пикселей и текста мало
В статье авторы начинают с честного разбора того, как сегодня обычно представляют мир в ИИ.
Почему код дополняет пиксели, 3D и язык: у каждого представления есть пробелы, а исполняемый код закрывает часть из них.
Пиксели сохраняют массу деталей. Но они плохо показывают причины. Если на видео что-то сдвинулось, по картинке не всегда понятно: объект сам поехал, его толкнули, камера двинулась или просто случилось перекрытие.
3D лучше держит геометрию. Но и этого мало. Восстановить форму объекта — ещё не значит понять его физику. По одной 3D-модели вы не узнаете массу, трение, импульс и правила взаимодействия.
Язык хорош как краткое описание. Он умеет сжимать смысл: «человек поднял чашку», «мяч отскочил от стены». Но язык плохо работает там, где нужны точные числа и непрерывные состояния: расстояния, скорости, ускорения, контакты, углы, масштабы.
Отсюда главный тезис работы: код можно использовать как исполняемую абстракцию мира. В нём можно явно задать:
🟠 какие объекты есть в сцене
🟣 какие у них размеры и физические параметры
🟠 как они движутся и взаимодействуют
🟣 как всё это выглядит с точки зрения камеры
Это уже не просто описание ролика. Это описание мира, которое можно прогнать через симулятор и проверить на данных.
Что такое исполняемое представление мира
Авторы вводят свой базовый объект — исполняемое представление мира. По сути это программа, разбитая на три части.
🟣 Физический состав: какие объекты существуют, их форма, размеры, масса, трение, гравитация, столы, стены, пол и другие элементы сцены
🟣 Динамика: начальные состояния, события во времени, траектории, столкновения, длительность эпизода
🟣 Визуальная часть: камера, фон, материалы, освещение, частота кадров, параметры рендера
Это разделение выглядит практично. Можно отдельно менять мир и отдельно менять внешний вид. Например, оставить ту же самую физику столкновения, но переставить камеру. Или поменять начальную скорость шара и посмотреть, как изменится исход.
Пример исполняемого представления мира: сцена описывается структурированным кодом и затем запускается в симуляторе.
Внутри у них это завязано на MuJoCo и структурированное описание сцены. То есть «мир как код» — не метафора, а конкретный формат, который можно запускать.
Как ИИ-агент собирает мир из видео и текста
Самая интересная часть работы — не сам формат, а то, как его строят по входным данным. Потому что получить код мира из ролика — это обратная задача. У вас есть наблюдение, а нужно восстановить скрытый механизм.
Для этого авторы делают агентный цикл поиска. Он работает как итеративная гипотеза:
🟠 предложить версию мира
🟠 собрать её в симуляторе
🟠 запустить
🟠 отрендерить результат
🟠 сравнить с исходным видео или текстом
🟠 исправить гипотезу и повторить
Цикл поиска исполняемого представления мира: предложить, запустить, отрисовать, проверить и уточнить.
Это похоже на то, как человек объясняет физическую сцену. Вы смотрите на видео с бильярдным шаром, строите внутреннюю гипотезу о положении объектов и силах, мысленно прокручиваете её, а потом сверяете с тем, что видите.
Для текста и видео есть разные входные адаптеры.
Если вход — текст, система достаёт сущности, отношения, события и ожидаемый результат. Дальше недостающие параметры добираются физическими предположениями и уточняются в цикле.
Если вход — видео, система сначала строит вспомогательные наблюдения: глубину, маски объектов и их треки. Потом пытается собрать 3D-сцену, назначить объектам положение, масштаб и движение, прогоняет всё через симулятор и смотрит, насколько совпали рендер и исходное видео.
Здесь ИИ-агент не просто выдаёт ответ с одного захода. Он проверяет себя через внешнюю среду.
Что даёт такой подход на практике
Первая полезная вещь — управляемая пересимуляция. Если мир уже собран как код, можно менять условия и получать новые ролики с той же логикой сцены.
После восстановления мира можно менять параметры сцены и пересимулировать событие под другим углом или с другой физикой.
Например:
🟣 изменить начальную скорость объекта
🟣 поменять направление движения
🟣 передвинуть камеру
🟣 получить новый реалистичный ролик, который сохраняет ту же физическую структуру
Такой формат даёт способ строить данные с контролем над физикой, а не только над картинкой.
Вторая вещь — лучшее соответствие видео при итерациях. Авторы сравнивают один проход с итеративным циклом и с режимом «сэмплируем пять независимых вариантов и выбираем лучший». Итеративный цикл выигрывает по нескольким метрикам при том же бюджете проверок.
С каждым раундом итеративный поиск мира улучшает совпадение с видео и обходит независимый перебор при том же бюджете.
Иначе говоря, исправление гипотезы по обратной связи эффективнее, чем просто много раз гадать с нуля.
Коротко по результату:
🟠 визуальное совпадение растёт от раунда к раунду
🟣 совпадение масок объектов тоже улучшается
🟠 ошибка по траекториям падает
🟣 точность по положению объектов увеличивается
Зачем всё это для обучения моделей
Самое практичное применение в статье — обучение моделей количественному физическому рассуждению. Речь о задачах, где модель должна не просто сказать «объект движется быстро», а ответить числом: каков размер, скорость, ускорение, смещение.
Это сложнее обычных видео-вопросов. На реальных роликах такие ответы редко размечены. А если у вас есть проверенное исполняемое представление мира, то нужные величины можно брать прямо из симуляции: размеры объекта, траекторию, скорость, ускорение, мировые координаты.
Авторы строят обучение в два этапа:
🟣 сначала дообучают модель на задачах измерения в пространстве изображения — размеры, координаты, скорость по пикселям
🟣 потом добавляют обучение на данных из исполняемых миров, где есть уже физические величины в единицах реального мира
Здесь используется и обычное дообучение по размеченным данным, и обучение с подкреплением. Награда учитывает, насколько близок численный ответ к правильному, а также корректность единиц измерения и формата ответа.
Идея такая: сначала модель учится видеть и мерить, потом — калибровать измерения в физический мир.
Результаты на QuantiPhy
Главный бенчмарк статьи — QuantiPhy, где нужно отвечать на количественные физические вопросы по видео.
Семейство Code-as-World-VL показывает лучший или близкий к лучшему результат среди сравниваемых моделей, включая закрытые системы.
По мере роста размера модели качество на QuantiPhy растёт, а версия 27B выходит на лучший результат.
Ключевые цифры:
🟠 Code-as-World-VL-4B: средний результат 50.6
🟣 Code-as-World-VL-9B: 55.4
🟠 Code-as-World-VL-27B: 58.6
🟣 для сравнения, Gemini-3.1 Flash: 54.8
🟠 многие открытые модели заметно ниже — около 30–40
Важно и другое: модель на 9B обходит ряд более крупных и дорогих систем. Значит, дело не только в масштабе, но и в типе данных и представления.
Ещё одна интересная деталь: когда к обучению на измерениях в пикселях добавляют обучение на исполняемых мирах, улучшается и базовая способность модели измерять прямо по изображению. То есть физическая супервизия помогает и более «низкому» визуальному навыку.
Где тут границы
У подхода есть понятные ограничения, и авторы их не прячут.
Во-первых, текущая версия в основном работает с жёсткими телами и сравнительно контролируемой физикой. Реальный мир сложнее: жидкости, ткань, деформации, огонь, мелкие контакты, сложное трение, длинные цепочки взаимодействий.
Во-вторых, если симулятор не умеет честно воспроизвести процесс, цикл может найти правдоподобное, но не обязательно верное механистическое объяснение.
В-третьих, сама модель для ответов на вопросы пока не выполняет весь цикл поиска мира внутри себя. Она учится на результатах этого пайплайна, но не наследует полностью процедуру: гипотеза, симуляция, проверка, исправление. Эта логика пока живёт во внешней обвязке.
Сегодня система получает пользу от данных, созданных через модель мира, но сама ещё не стала полноценным физическим исследователем.
Почему это важно
У этой работы есть одна мысль, которая выходит далеко за пределы физики видео. Исполняемый код может быть хорошим промежуточным языком между наблюдением и рассуждением.
Пиксели слишком сырые. Текст слишком расплывчатый. Скрытое состояние нейросети слишком непрозрачно. А код даёт редкое сочетание:
🟣 компактность
🟣 явную структуру
🟣 проверяемость
🟣 возможность вмешательства
🟣 совместимость с симуляторами
Это делает код удобной обвязкой для задач, где модель должна не только узнать сцену, но и уметь считать, проверять гипотезы и отвечать на вопросы о последствиях действий.
Если смотреть шире, отсюда тянется мост сразу в несколько направлений: более физически согласованная генерация видео, ИИ-системы с явной моделью мира, робототехника, где нужно планирование по сцене, и мультимодальные агенты, которые умеют не просто болтать о мире, а работать с ним как с исполняемой системой.
Вывод
Code-as-World предлагает смотреть на физическую сцену как на программу, а не только как на поток пикселей или текстовое описание. Это меняет сам способ работы с миром: вместо одного ответа с ходу появляется цикл гипотез, симуляции и проверки.
Для физического рассуждения это особенно полезно. Когда модель получает доступ хотя бы к следам такой процедуры — через данные из исполняемых миров, — она лучше отвечает на количественные вопросы о размере, скорости и ускорении. И результаты на QuantiPhy показывают, что такой подход может обгонять и крупные закрытые модели.
Главная идея здесь простая: чтобы понимать физику, системе нужен не просто видимый мир, а исполняемая модель мира. Код оказался удобным форматом для такой модели — потому что его можно запускать, редактировать и проверять на реальности.
ИИ-обзоры простыми словами
Каждый день читаем свежие статьи об ИИ и пересказываем главное естественным языком — без хайпа и воды. Если хотите понимать, куда движутся ИИ-агенты раньше остальных, — подписывайтесь.
Новые обзоры — каждый день
В Telegram