西湖大学Code World Model:让开放世界不止下一帧

开放世界的核心难题,从来不止于生成好看的画面。当玩家在游戏中刺杀城市统治者后离开,城市的秩序、贸易网络、阵营关系甚至非玩家角色的信念,都应该随着时间自然演化;而当玩家重返时,系统不仅要呈现合理的城市画面,还要能回溯离开期间发生的所有事件与因果。
当前的视频世界模型虽然已经能够将键盘、鼠标、文本等指令转化为连续的视觉画面,但它们的核心建模目标往往只是“生成接下来的观察帧”。这类模型只能记录可见的视觉结果,却无法直接保存世界运行的规则、角色间的关系、事件的完整历史,以及屏幕之外持续发展的因果链条。
这类信息缺口在长时尺度下尤为明显。现有的视频模型上下文窗口通常不足一分钟,而角色关系、社会结构的演化可能需要数天甚至数年的世界时间,大量关键变化都发生在镜头之外。单纯扩大视频训练数据集,只能增加模型见过的视觉结果样本,却无法让它自动获得生成这些结果的可解释规则。
针对这一问题,相关研究团队提出了Code World Model框架。这一方案不再让视频模型单独从视觉结果中反推所有隐藏机制,而是将“世界如何演化”和“世界如何被视觉呈现”拆分为两个互补的核心问题,通过分工协作解决开放世界的长期运行难题。
Code World Model的核心分工逻辑
在这套框架中,Coding Agent扮演“世界大脑”的角色,负责决定世界的演化逻辑;代码则作为Agent的可执行延伸,持续执行密集、确定且可复用的状态更新,确保世界规则稳定运行;而视频模型的职责则是将演化后的世界状态转化为高保真的视觉观察。
研究团队将完整的世界状态拆分为两部分:可执行状态负责保存程序、实体属性、运行规则、关系网络与事件历史;视觉状态则由视频模型生成,负责维持视觉外观和运动信息的时间一致性。两者通过不同机制更新但保持耦合:代码确保世界规则与事件后果持续生效,视频模型则利用大规模视觉数据中学到的外观、运动与交互先验,将抽象的世界状态转化为真实的视觉画面。
Proxy模块:搭建状态到视觉的桥梁
确定了世界状态的分工后,另一个问题随之出现:如何将不断变化的世界状态准确传递给视频模型?单纯使用结构化文本虽然简单,但无法以低延迟逐帧描述角色位置、遮挡关系、相机轨迹等细节;而让Coding Agent直接构建完整3D世界则需要大量高质量资产,还会过早限定最终画面的风格。为此团队提出了Proxy模块,这是一种由世界状态确定性编译得到的粗粒度视觉条件。
Proxy不需要生成低配版的最终画面,只保留当前观察必须遵守的最小约束,比如实体位置、近似尺度、姿态、运动轨迹、空间关系、遮挡情况和相机运动,简单的线框模型、包围盒都可以作为Proxy的基础组件。结构化文本负责传递身份、外观、动作语义和风格信息,Proxy则负责逐帧的空间与时间约束,所有控制信号都可以追溯到Coding Agent和代码维护的世界状态,让整个“状态—视觉条件”通路成为可检查、可修改的白盒系统。
Proxy的设计关键在于平衡“可构建性”和“约束强度”:过于精细的Proxy会让Coding Agent需要维护大量细节轨迹,过于稀疏的约束又无法有效引导视频模型。当前的实现将Proxy的横纵分辨率设为目标视频的四分之一,视觉token数量仅为目标视频的十六分之一,额外的推理负担相对可控。
多源数据适配的训练方案
要让视频模型能够理解Proxy的约束,训练数据需要同时包含严格对齐的Proxy视频和RGB目标视频。游戏运行环境天然适合这项工作:团队在运行游戏时同步记录画面和构建Proxy所需的相机、实体、场景与交互状态,代码可以从同一次运行记录中反复编译不同覆盖范围、不同粒度的Proxy,无需重新采集RGB视频。
这套接口同时支持真实世界数据,研究团队在KITTI-360数据集上完成了几何辅助的概念验证,通过离线编译相机位姿、语义3D重建和物体标注得到Proxy,视频模型最终接收的依然是RGB目标、Proxy视频和结构化文本,无需额外定义独立的动作标签。
原型验证与实验结果
当前的原型在MiniMax-H3 Ref2VA视频模型上完成适配,训练数据来自157段游戏过程,总计约5.6小时,团队以两秒间隔采样得到9420个五秒训练片段。每个RGB目标包含124帧,分辨率为1344×768,帧率24FPS;与之对齐的Proxy分辨率为336×192,并结合了固定对数深度与语义ID图。
训练采用rank-128 LoRA,覆盖50个Transformer块,约5.96亿可训练参数,在8张NVIDIA H800显卡上完成3个epoch的训练。推理阶段使用GPT系列模型作为Coding Agent,基于现有游戏引擎代码、基础玩家控制、碰撞和更新循环,组合、扩展并改写模板来构建目标世界;GPT图像模型则根据首帧Proxy和Agent生成的文本提示生成外观锚点,完整的Proxy序列则持续控制相机、实体运动和场景布局。
定性实验结果显示,经过小规模LoRA适配后的视频模型,能够在保持丰富视觉外观和局部动态的同时,严格遵循Proxy指定的角色位置、动作轨迹、场景布局和相机运动。项目页面还提供了与动作条件、相机条件视频世界模型的完整时序对比,展示了Proxy在逐帧控制粒度上的优势,不过这类对比并未将推理延迟纳入考量范围。
实际演示与长时生成能力
项目页面的直观演示展示了Coding Agent对世界状态和运行机制的持续更新能力:角色可以在海底港口召唤飞行坐骑,在魔法学院完成舞蹈动作,在姜饼村落切换骑乘与步行模式,还可以在雪夜山村触发全新的角色交互。画面的材质和风格由视频模型实现,但角色数量、近似位置、运动状态和关键空间关系都由Proxy逐帧约束。
为了生成长序列视频,当前系统使用了带重叠的124帧窗口:相邻窗口重叠34帧,每次向前推进90帧;前一窗口末尾的RGB帧负责维持局部连续性,首帧的外观锚点则帮助保持全局身份和视觉风格的一致性。Proxy条件贯穿整个时间轴,即使画面风格发生周期性变化,实体轨迹、相机运动和关键空间关系依然能够得到持续的状态约束。
这项研究的核心价值
Code World Model的核心价值并不只是增加了一种视频控制条件,而是重新定义了世界模型内部的职责分工。传统的视频世界模型倾向于将世界状态、运行规则、记忆存储和视觉预测全部压缩到生成序列中;而这一框架则将可执行的世界状态置于系统中心,由Coding Agent和代码负责因果演化,再将当前需要视觉呈现的部分选择性编译为Proxy条件。
这种分工实现了高层推理与低层执行的解耦:Agent无需以视频帧率运行,代码也不需要具备开放式常识推理能力;视频模型无需从零学习完整的世界规则,只需要将明确的世界状态转化为视觉观察。即使未来语言和视频能力被整合进同一个多模态网络,由外部代码维护的持续世界状态依然需要高效可控的视觉输入接口,Proxy所解决的“状态—视觉条件”问题依然具有重要意义。
从应用层面来看,这一范式的潜力不止于游戏生成。一个能够维持运行规则、记住屏幕之外的变化并生成高保真视觉观察的开放世界,也可以成为训练和评估智能体的仿真环境,用于具身智能、自动驾驶和长期规划等需要理解、预测并作用于动态环境的任务。
结语:不止于下一帧的开放世界
如果说视频生成模型擅长回答“世界看起来是什么样”,那么Coding Agent与代码则更适合回答“世界为什么会变成这样,以及接下来应该如何继续演化”。Code World Model试图将这两种能力整合进一个闭环系统:让知识和规则驱动世界状态的更新,让状态通过Proxy进入视觉空间,再由视频模型将结果转化为丰富且开放的视觉观察。
这项研究仍处于早期阶段,但它提出了一个值得关注的新思路:通往开放式世界模型的道路,未必只是持续扩大视频预测模型的规模,也可能需要将可执行代码重新带回世界演化的核心位置。开放世界不再只是连续生成的视觉画面,而是一套能够被理解、修改、执行并持续留下后续影响的运行系统。

