世界模型:从"预测下一个状态"到"可交互世界模拟器"
0. 一句话结论
世界模型(World Model)是智能体内部学习出来的环境模拟器。
它不是单纯的"图像生成模型",也不是普通的"大语言模型",而是一个用于回答下面问题的系统:
当前世界是什么状态?
如果我执行某个动作,世界接下来会怎么变化?
哪些结果有风险?
哪条未来路径更值得选择?
抽象成公式就是:
text
state_t + action_t -> state_{t+1}, reward_t, risk_t, future_observation_t
更工程化地说:
text
观察输入 observation
-> 编码成内部状态 latent state
-> 结合动作 action
-> 预测未来状态 / 奖励 / 代价 / 画面 / 事件
-> 支持规划器选择动作
1. 为什么需要世界模型?
1.1 只会"反应"的系统不够
没有世界模型的 AI 更像条件反射:
text
看到红灯 -> 停
看到障碍物 -> 绕
看到测试失败 -> 改代码
它可以在当前输入上做判断,但不一定知道:
text
如果我现在这么做,三步以后会发生什么?
这个动作是否会产生连锁影响?
有没有更安全的替代路径?
人类很多智能行为并不是简单反应,而是内部推演。
比如你端起一杯水时,脑子里会隐式知道:
text
杯子倾斜太多 -> 水会洒
手松开 -> 杯子会掉
杯子撞到桌边 -> 可能破
这不是语言知识,而是对世界动力学的预测。
1.2 世界模型解决的是"后果预测"
世界模型的核心价值是:
text
让智能体在行动前先模拟行动后果
所以它特别适合以下场景:
| 场景 | 为什么需要世界模型 |
|---|---|
| 机器人 | 预测动作导致的物体移动、碰撞、失败 |
| 自动驾驶 | 预测车辆、行人、道路环境的演化 |
| 游戏 AI | 预测多个动作后的局面变化 |
| 强化学习 | 用内部模拟减少真实环境试错成本 |
| 视频生成 | 生成时间连续、物理一致的动态场景 |
| Coding Agent | 预测代码修改对调用链、构建、测试的影响 |
| 复杂 Agent | 规划多步任务,避免工具副作用失控 |
2. 世界模型到底"模型"的是什么?
世界模型不是一定要完整建模整个宇宙。它只需要建模与任务相关的世界结构。
2.1 对机器人来说
世界包括:
text
物体位置
物体形状
接触关系
摩擦
重力
关节状态
相机视角
动作导致的物理变化
机器人要知道:
text
夹爪往下 -> 接近杯子
夹爪闭合 -> 可能抓住杯子
手臂移动太快 -> 可能碰倒旁边物体
2.2 对自动驾驶来说
世界包括:
text
道路拓扑
车道线
交通灯
行人
车辆
速度
意图
遮挡区域
未来轨迹
自动驾驶要知道:
text
前车刹车 -> 我车需要减速
行人靠近斑马线 -> 可能横穿
旁车变道 -> 当前车道风险上升
2.3 对代码智能体来说
"世界"不是物理世界,而是工程世界:
text
代码仓库
调用链
依赖图
构建系统
测试系统
运行状态
配置文件
历史变更
工具执行副作用
Coding Agent 的世界模型应该能预测:
text
修改接口 -> 哪些调用方会编译失败
改配置 -> 哪些服务启动失败
删除字段 -> 哪些序列化逻辑出问题
修一个 warning -> 是否引入更大行为变化
所以世界模型的本质不是"3D 世界",而是:
text
任务相关环境的状态表示 + 动态变化规律 + 行动后果预测
3. 世界模型的基本架构
一个典型世界模型系统通常包含五个部分:
text
感知编码器 -> 状态表示 -> 动力学模型 -> 价值/奖励模型 -> 规划器/策略
3.1 感知编码器:把复杂输入压缩成状态
真实输入可能很大:
text
图像像素
视频帧
传感器点云
文本
代码文件
日志
模型通常先把它们压缩成 latent state:
text
observation_t -> z_t
其中 z_t 是紧凑的内部状态表示。
早期 World Models 使用 VAE 把画面压缩成低维 latent vector;后续 PlaNet、Dreamer 使用 latent dynamics;近年的 V-JEPA、Genie、Cosmos 更强调视频、空间、动作、多模态表示。S1S2S3S6S7
3.2 状态表示:不是记录所有细节,而是记录有用结构
世界模型不需要预测每片树叶怎么晃。
好的状态表示应该保留:
text
对象
位置
速度
关系
可行动作
任务相关变量
不确定性
丢掉:
text
无关纹理
随机噪声
不可预测细节
对任务无意义的像素变化
这也是 JEPA 路线强调"在抽象表示空间预测,而不是逐像素重建"的原因。S6
3.3 动力学模型:预测状态如何变化
动力学模型是世界模型的核心:
text
z_t, a_t -> z_{t+1}
意思是:
text
当前内部状态 + 当前动作 -> 下一步内部状态
如果环境有随机性,模型还要输出分布,而不是单一结果:
text
P(z_{t+1} | z_t, a_t)
这表示:
text
在当前状态下执行动作 a,未来可能有多个结果,每个结果有不同概率
例如:
text
机器人推杯子
-> 杯子滑动
-> 杯子倾倒
-> 杯子没动
这些都可能发生,取决于摩擦、角度、力度、接触点。
3.4 奖励/价值模型:判断未来好不好
只预测未来还不够,还要判断未来是否符合目标:
text
state -> value
state, action -> reward / cost
比如:
text
机器人成功抓起杯子 -> 高奖励
撞倒水杯 -> 高代价
自动驾驶接近碰撞 -> 高风险
代码修改后测试通过 -> 正收益
代码修改导致接口破坏 -> 高风险
MuZero 的关键点就是:它不一定重建完整画面,而是学习对规划最有用的量:reward、policy、value。S4
3.5 规划器:在内部世界里"试走几步"
有了世界模型,就可以做内部 rollout:
text
假设动作 A
-> 预测未来 1
-> 预测未来 2
-> 评估收益
假设动作 B
-> 预测未来 1
-> 预测未来 2
-> 评估收益
选择更好的动作
这就是"想象中的试错"。
对应到强化学习中:
text
真实环境试错成本高
内部世界模型试错成本低
4. 经典论文路线
4.1 World Models:VAE + MDN-RNN + Controller
2018 年 Ha 和 Schmidhuber 的《World Models》是这个方向的标志性工作。S1
它把 agent 分成三部分:
text
V: Vision Model
M: Memory Model
C: Controller
数据流是:
text
环境图像 obs_t
-> VAE 压缩成 z_t
-> MDN-RNN 根据 z_t 和 action_t 预测未来
-> Controller 根据 z_t 和 RNN hidden state 输出动作
结构可以简化成:
text
obs_t -> VAE -> z_t
z_t, action_t, h_t -> RNN -> h_{t+1}, P(z_{t+1})
z_t, h_t -> Controller -> action_t
这个工作的关键思想:
text
大模型负责理解和预测世界
小控制器负责决策
它甚至可以让 agent 在自己生成的"梦境环境"里训练,再迁移到真实环境。
这很重要,因为它提出了一个后续反复出现的范式:
text
先学世界,再学控制
4.2 PlaNet:在 latent space 里规划
PlaNet 的全名是:
text
Learning Latent Dynamics for Planning from Pixels
它解决的问题是:
text
直接在像素空间预测未来太难
能不能先把像素压缩成 latent state,然后在 latent space 里规划?
PlaNet 的数据流:
text
图像 obs_t
-> 编码成 latent state
-> 学习 latent dynamics
-> 在 latent space 中进行多步 action search
-> 选择最优动作
它强调:
text
模型不一定要生成完美图像
只要 latent dynamics 对决策有用即可
这对后来的 Dreamer 系列影响很大。S2
4.3 Dreamer:在想象轨迹中训练策略
Dreamer 的关键思想是:
text
不在真实环境里反复试错
而是在 learned world model 里生成 imagined trajectories
然后用这些 imagined trajectories 训练 actor-critic
流程:
text
真实交互数据 -> 学 world model
world model -> 生成想象轨迹
想象轨迹 -> 训练 actor / critic
actor -> 回真实环境采样新数据
循环
简化伪代码:
text
while training:
collect real experience
train world_model on real experience
imagine future trajectories in latent space
update actor and critic using imagined trajectories
Dreamer 的意义:
text
把"世界模型"从辅助预测模块,变成策略学习的核心训练环境
DreamerV3 进一步展示了一个通用配置在大量任务上的稳定性,说明世界模型不仅是概念上优雅,也可以成为实际强化学习算法的基础。S3
4.4 MuZero:不预测画面,只预测对规划有用的量
MuZero 的厉害之处在于:
text
它不需要知道游戏规则
也不需要重建完整环境
它只学习规划需要的核心信息
它学习三个东西:
text
reward: 走这一步的即时收益
value: 当前状态长期价值
policy: 当前状态下动作先验
MuZero 结合了:
text
learned model + tree search
数据流:
text
真实观察 -> representation function -> hidden state
hidden state + action -> dynamics function -> next hidden state + reward
hidden state -> prediction function -> policy + value
MCTS 在 hidden state 上搜索
关键点:
text
世界模型不一定要"像素级真实"
只要它能支持正确规划,就是有价值的世界模型
这给了一个重要判断标准:
世界模型的质量,不只看视频像不像真,而要看它能否提升决策质量。S4
4.5 Genie:从视频学习可交互环境
Genie 系列把世界模型推向"可交互世界生成"。
Genie 1 的特点:
text
从无标签互联网视频中训练
不需要真实动作标签
学习 latent action
生成 action-controllable virtual worlds
它的组成:
text
spatiotemporal video tokenizer
autoregressive dynamics model
latent action model
这很关键,因为传统强化学习世界模型通常需要:
text
观察 obs
动作 action
奖励 reward
但互联网视频多数只有画面,没有动作标签。Genie 通过 latent action model 试图从视频中推断"动作空间"。S5
Genie 2/3 进一步强调:
text
文本 prompt -> 生成可探索环境
用户动作 -> 环境实时响应
长期一致性 -> 场景不会立刻崩坏
Genie 3 官方描述里,世界模型被定义为可以模拟环境演化、预测环境如何变化以及动作如何影响环境的 AI 系统。S5
4.6 V-JEPA / V-JEPA 2:不生成像素,而是在表示空间预测
JEPA 的核心观点:
text
像素级预测太浪费
高层语义预测更重要
比如一段树叶晃动的视频:
text
逐像素预测每片叶子的运动 -> 难、噪声大、对任务帮助有限
预测"树在风中摇动"这种抽象表示 -> 更稳定、更有用
V-JEPA 使用视频自监督学习:
text
遮住视频中的一大片时空区域
让模型根据上下文预测被遮住区域的抽象表示
不是预测 RGB 像素,而是预测 latent representation。
V-JEPA 2 进一步把大规模互联网视频和少量机器人轨迹结合起来,探索理解、预测和物理规划能力。S6
这一路线和生成式世界模型不同:
| 路线 | 目标 |
|---|---|
| 生成式世界模型 | 生成未来画面或可交互世界 |
| JEPA 式世界模型 | 学到用于理解和规划的抽象表示 |
| MuZero 式世界模型 | 学到直接服务规划的 reward/value/policy |
| Dreamer 式世界模型 | 在 latent imagination 中训练策略 |
4.7 Cosmos / Foundation World Model:物理 AI 的世界基础模型
NVIDIA Cosmos 把世界模型放在 Physical AI 语境下理解:
text
Physical AI 需要先在数字世界训练
需要数字化的自己:policy model
也需要数字化的世界:world model
Cosmos 的目标是提供可以微调到机器人、自动驾驶等场景的 world foundation model。S7
这说明世界模型正在从"单任务强化学习模型"走向"基础模型平台":
text
过去:为某个游戏或控制任务训练一个小 world model
现在:训练大规模视频/多模态 foundation world model,再适配具体物理任务
5. 世界模型的几种技术路线
5.1 按输出形式分类
| 类型 | 输出 | 优点 | 问题 |
|---|---|---|---|
| 像素生成式 | 未来图像/视频 | 直观,可视化强 | 成本高,容易关注无关细节 |
| Latent dynamics | latent state | 高效,适合规划 | 可解释性较弱 |
| Reward/value/policy 模型 | 规划相关变量 | 决策效率高 | 不一定能生成可视世界 |
| 3D/空间世界模型 | 3D 场景、可探索环境 | 适合机器人/AR/游戏 | 数据和一致性难 |
| 多模态世界模型 | 文本、图像、视频、动作、音频 | 接近通用 agent | 训练和评估复杂 |
5.2 按训练数据分类
| 数据类型 | 代表方向 | 说明 |
|---|---|---|
| 交互数据 | RL / robotics | 有 obs-action-reward,适合学动力学 |
| 视频数据 | Genie / V-JEPA / Cosmos | 大规模、便宜,但动作标签缺失 |
| 模拟器数据 | 自动驾驶/机器人 | 可控、可标注,但 sim-to-real 难 |
| 文本数据 | LLM world knowledge | 有抽象知识,但缺少物理 grounding |
| 多模态数据 | foundation world model | 趋势方向,但系统复杂 |
5.3 按是否服务决策分类
| 类别 | 目标 | 例子 |
|---|---|---|
| Decision-coupled world model | 直接服务动作选择 | Dreamer、MuZero |
| General-purpose world model | 生成或理解通用环境 | Genie、Cosmos、World Labs、Runway GWM |
| Representation world model | 学抽象表示供下游任务使用 | V-JEPA |
| Simulation world model | 提供虚拟环境训练 agent | Genie、Cosmos、自动驾驶仿真 |
6. 世界模型和 LLM 的区别
6.1 LLM 主要预测 token
LLM 的基本训练目标是:
text
前文 token -> 下一个 token
它擅长:
text
语言理解
知识问答
代码生成
文本推理
工具调用规划
但它天然不擅长:
text
连续物理状态建模
动作导致的真实环境变化
空间一致性
长期交互反馈
物理约束
当然,LLM 可以学到大量"世界知识",但这些知识多数是文本统计意义上的。
6.2 世界模型主要预测状态变化
世界模型的训练目标更接近:
text
当前状态 + 动作 -> 未来状态
它擅长:
text
物理预测
空间推理
动作后果模拟
多步规划
交互环境生成
6.3 两者不是互斥,而是互补
未来 agent 很可能是:
text
LLM 负责语言、任务分解、工具选择、抽象推理
World Model 负责环境状态、后果预测、空间/物理/工程约束
Planner 负责搜索和决策
Memory 负责长期状态
Tool Runtime 负责真实执行
对于 Coding Agent,可以类比成:
text
LLM:理解需求、写 patch、解释代码
世界模型:维护仓库状态、调用图、构建链路、测试影响面
规划器:决定先读哪些文件、改哪里、跑哪些测试
执行器:调用 grep/read/edit/build/test
7. 世界模型的核心难点
7.1 长期预测误差累积
一步预测可能准:
text
s_t -> s_{t+1}
但连续滚动 100 步以后:
text
s_t -> s_{t+1} -> ... -> s_{t+100}
小误差会不断放大。
这叫:
text
compounding error
解决方向包括:
text
更强的 latent state
不确定性建模
短视窗规划 + 实时校正
模型预测控制 MPC
训练时做 multi-step objective
引入真实反馈闭环
7.2 真实世界太复杂,无法完整预测
很多东西不可预测或没必要预测:
text
树叶怎么抖
水面细小波纹
路人下一秒微动作
代码仓库里所有无关文件变化
所以好的世界模型不是"预测一切",而是:
text
预测对任务有用的因果结构和约束
这也是为什么 latent space / abstract representation 很重要。
7.3 动作空间难学
如果训练数据包含动作标签:
text
obs_t, action_t, obs_{t+1}
学习比较直接。
但互联网视频通常只有:
text
frame_t, frame_{t+1}
没有告诉模型"谁做了什么动作"。
Genie 的 latent action model 就是在尝试解决这个问题:
text
从视频变化中反推出潜在动作
这是从被动观察走向可交互世界模型的关键。
7.4 评估标准不统一
视频生成模型可以看:
text
清晰度
帧率
美观
prompt adherence
但世界模型更应该看:
text
物理一致性
动作可控性
长期记忆
因果一致性
任务成功率
对规划是否有帮助
sim-to-real 是否有效
如果只看画面好不好看,会误判世界模型能力。
一个视频很逼真,不代表它真的理解物理;一个 latent model 不能生成高清画面,也可能很适合决策。
7.5 Sim-to-Real 问题
机器人或自动驾驶在模拟世界训练后,回到真实世界可能失败。
原因:
text
模拟器摩擦参数不准
光照不一样
传感器噪声不一样
真实物体形变复杂
长尾场景没有覆盖
解决方向:
text
domain randomization
real-to-sim / sim-to-real transfer
真实数据微调
在线校正
安全约束
人类反馈
8. 世界模型与 Agent 的关系
一个强 agent 至少需要四个东西:
text
1. 感知:知道当前发生了什么
2. 世界模型:知道如果行动会发生什么
3. 规划:选择行动路径
4. 执行:调用工具或控制身体
没有世界模型的 agent 会变成:
text
计划看起来合理,但执行后果不可控
比如 coding agent 可能:
text
为了修一个 bug 改了公共接口
没有预测到 20 个调用方会失败
没有预测到测试 fixture 会失效
没有预测到构建脚本依赖旧路径
引入工程世界模型后,agent 应该维护:
text
文件依赖图
函数调用图
类型关系
构建目标
测试覆盖范围
历史 patch
工具执行结果
风险列表
然后在改代码前做内部推演:
text
改 A 函数 -> 影响 B/C/D
改配置 X -> 影响部署 Y
跑测试 T -> 覆盖模块 M
如果失败 -> 最可能原因 R
这就是世界模型思想在软件工程 agent 中的落地。
9. 一个通用世界模型 Agent 架构
text
┌──────────────────────────────┐
│ User Goal │
└──────────────┬───────────────┘
↓
┌──────────────────────────────┐
│ LLM / Task Planner │
│ - 解析目标 │
│ - 分解任务 │
│ - 选择工具 │
└──────────────┬───────────────┘
↓
┌──────────────────────────────┐
│ World State Encoder │
│ - 图像/文本/代码/日志编码 │
│ - 形成 latent state │
└──────────────┬───────────────┘
↓
┌──────────────────────────────┐
│ World Dynamics Model │
│ - state + action -> next state│
│ - 预测风险、变化、结果 │
└──────────────┬───────────────┘
↓
┌──────────────────────────────┐
│ Planner / Search │
│ - rollout │
│ - tree search │
│ - MPC │
│ - uncertainty-aware planning │
└──────────────┬───────────────┘
↓
┌──────────────────────────────┐
│ Executor │
│ - 真实执行动作 │
│ - 调用工具/机器人控制/改代码 │
└──────────────┬───────────────┘
↓
┌──────────────────────────────┐
│ Feedback │
│ - 更新世界状态 │
│ - 校正模型 │
└──────────────────────────────┘
10. 世界模型的研究趋势
10.1 从小任务到 foundation world model
早期:
text
一个游戏 / 一个控制任务 / 一个小环境
现在:
text
大规模视频
多模态输入
通用物理场景
机器人/自动驾驶/创作平台复用
代表方向:
text
Genie
Cosmos
V-JEPA
World Labs spatial intelligence
Runway General World Models
10.2 从像素预测到抽象预测
过去很多方法想预测未来画面。
现在越来越多研究认为:
text
预测像素不是最终目的
预测对行动有用的抽象状态更重要
所以未来可能是混合结构:
text
底层:生成可视世界
中层:对象、空间、动力学表示
高层:任务、因果、计划、价值
10.3 从被动视频学习到主动交互学习
只看视频能学到很多,但缺少关键东西:
text
动作
意图
因果干预
失败反馈
真正的世界模型需要:
text
看世界
动手试
观察后果
更新模型
继续规划
这也是机器人和 embodied AI 的关键。
10.4 从"好看"到"可控、可靠、安全"
未来世界模型的评估重点会从:
text
视频是否逼真
转向:
text
动作是否可控
物理是否一致
长期是否稳定
规划是否有效
失败是否可解释
部署是否安全
尤其在自动驾驶、机器人、医疗、工业控制里,世界模型不能只是"生成看起来合理的视频",而要满足安全约束。
11. 如何判断一个模型是不是世界模型?
不要看它名字里有没有 World Model,而看它是否具备这些能力:
| 判断项 | 问题 |
|---|---|
| 状态表示 | 是否维护环境状态? |
| 动力学预测 | 是否能预测状态随时间变化? |
| 动作条件 | 是否能回答"如果我做 A 会怎样"? |
| 多步推演 | 是否能 rollout 多步未来? |
| 不确定性 | 是否表达多个可能结果? |
| 规划支持 | 是否能提升决策或控制质量? |
| 交互闭环 | 是否能根据真实反馈更新? |
如果一个模型只能生成漂亮视频,但不能稳定响应动作,不一定是强世界模型。
如果一个模型不能生成视频,但能显著提升规划和控制,也可能是优秀世界模型。
12. 给大学生的直觉总结
你可以把世界模型理解成三层:
第一层:脑内地图
text
我知道当前世界是什么样
第二层:因果预测
text
我知道如果做某件事,世界大概率会怎么变
第三层:行动规划
text
我能在脑子里试几种方案,然后选一个更好的
所以:
text
LLM 像一个会说话、会查资料、会写代码的大脑皮层
World Model 像一个能预测物理和环境后果的内部模拟器
Planner 像负责做选择的执行控制系统
真正强的 AI agent 需要三者结合。
13. 推荐阅读路线
入门路线
- 先看 Ha & Schmidhuber 的 World Models 交互式文章
- 再看 PlaNet,理解 latent dynamics
- 再看 Dreamer,理解 latent imagination 如何训练策略
- 再看 MuZero,理解"不重建世界也能服务规划"
- 再看 Genie,理解 foundation world model 和可交互环境
- 再看 V-JEPA,理解"抽象表示预测"路线
- 最后看 Cosmos / embodied AI survey,理解行业趋势
技术关键词
text
model-based reinforcement learning
latent dynamics
state-space model
world model
imagination rollout
planning
MPC
tree search
self-supervised learning
video prediction
joint embedding predictive architecture
embodied AI
physical AI
sim-to-real
foundation world model
14. 最终总结
世界模型的核心不是"生成一个世界",而是:
text
学习世界如何变化,并用这种预测能力指导行动
它的发展路径大概是:
text
早期认知科学/强化学习思想
-> RNN 世界模型
-> VAE + MDN-RNN
-> latent dynamics planning
-> Dreamer imagination learning
-> MuZero planning with learned model
-> Genie/Cosmos/V-JEPA foundation world models
-> embodied agent / robotics / autonomous driving / coding agent
一句最准确的理解:
世界模型是智能体内部的可学习环境动力学系统,它把观察压缩成状态,预测动作导致的未来变化,并把这种预测交给规划器和策略网络使用,从而让 AI 从"看到什么反应什么"升级为"先模拟后行动"。