转载自公众号:敢敢AUTOHUB
0. 简介
最近几个月,"世界模型"这个词热得有些反常。从 NVIDIA 的 DreamGen、DreamZero 掀起第一波浪潮,到 Jim Fan 那句被反复引用的"VLA 已死,WAM(World Action Model)万岁",再到智元、英伟达、Physical Intelligence、字节、极佳、原力灵机等一批公司在一个月内密集放出新进展,世界模型几乎被推到了"具身智能终局"的位置。
热闹归热闹,但我们心里一直悬着一个疑问:所有人都在证明"我的世界模型多强",却很少有人正面回答另一件事——世界模型究竟通过什么机制,让一个具身模型变得更强? 这篇文章就想顺着这条线,把 WAIC 2026 现场的行业共识、原力灵机开源的 DW0.5,以及背后的工程逻辑,一段一段讲清楚。
真正让这个问题有了着落的,是原力灵机联合创始人汪天才的一句话。他没有用"终局""唯一""原生"这些大词,只说了一个很克制的判断:世界模型驱动的低成本、规模化后训练,是具身智能进入真实场景的现实路径。这句话的分量在于"现实"二字——它不谈信仰,只谈今天的机器人到底卡在哪、什么样的工具能把这个坎迈过去。顺着这个思路,原力灵机把 DM0.5(具身基座模型)和 DW0.5(世界模型)一起开源了出来,并给世界模型一个非常具体的定位:后训练过程中的 learned environment(可学习的环境)。
1. 世界模型确实很热,但热在了"评测"上
先把这波热潮盘一下。这一个月密集出现的世界模型工作,方向看似各异:有的做开放世界的未来预测,有的做双臂操作的仿真评测,有的做大规模视频生成。但如果换一个角度——不看它们"是什么",而看它们"被用来做什么"——会发现绝大多数工作最终都落在同一件事上:评测。用世界模型生成一段未来场景,然后比较生成质量高不高、预测准不准、在 EWMBench / WorldArena 这类榜单上能排第几。这当然有价值,一个能准确预测未来的模型本身就有技术含量。但问题也随之而来:这些"榜单第一",最后到底帮哪个真实的机器人策略变强了、变强了多少?
要回答这个问题,得先看清 VLA(Vision-Language-Action,视觉-语言-动作模型)现在真正卡在哪。它卡的不是"缺一个更强的未来预测器"。做过具身后训练的同学感受会更直接:真机 rollout(在真实机器人上跑一遍完整轨迹)的成本是根本性障碍,人工反馈的效率极低。 一个 VLA 想变强,逻辑上需要"做出动作 → 观察结果 → 判断成功还是失败 → 把反馈转成学习信号"这样一个循环。可在真机上,这个循环慢得离谱、贵得吓人——每一条数据都要人盯着、要复位、要保证安全,还做不到规模化。这就是 WAIC 2026 上被反复提及的"数据墙"在操作任务上的具体形态。
这里有一个非常有启发的参照物:过去三年,语言模型领域进步最快的方向是 code agent(代码智能体),快得离谱。很多人把功劳归给"模型更大、数据更多",但如果只是规模问题,为什么写代码这件事的进步速度,明显甩开了其他任务?原力灵机在 DW0.5 的技术叙述里给了一个很关键的解释:代码是可以自我验证的。 写完一段代码,测试一跑,对错立刻知道;失败的结果直接沉淀成下一次的训练信号。反馈高频、判定明确、数据可以自动回流——这套"自己给自己判分"的机制,才是 code agent 快速变强的真正引擎。我们可以用一段最朴素的伪代码,把这个"自验证闭环"的骨架画出来:
# code agent 之所以快,是因为它天生带一个廉价、高频、判定明确的闭环
def code_self_improvement_loop(model, tasks):
training_signals = []
for task in tasks:
code = model.generate(task) # 1. 产生候选
result = run_unit_tests(code) # 2. 自动验证:几乎零成本、即时
reward = 1.0 if result.passed else 0.0
# 3. 无论成败都能立刻转成训练信号,且失败样本同样有用
training_signals.append((task, code, reward, result.error_trace))
model.update(training_signals) # 4. 反馈回流,下一轮更强
return model
代码世界里,第 2 步 run_unit_tests 几乎不要钱、瞬间返回,所以这个飞轮转得飞快。而具身智能,恰恰没有这个廉价的第 2 步。 机器人做完一个动作,谁来告诉它"你把杯子推到了再也够不着的地方"?在真机上,这个判定要么靠人工盯着打分,要么靠一次昂贵的物理试错。传统仿真看似能补上这一环,但它的 sim-real gap(仿真与真实的差距)在日常操作任务上格外难弥合——接触力、摩擦、形变、光照,这些恰恰是仿真最容易失真的地方。所以 VLA 真正需要的,是一种全新的闭环方式:比真机便宜,比人工反馈高频,又比传统仿真更贴近真实物理。围绕这个目标,任何能解决它的技术都值得尝试——而原力灵机在当前阶段给出的答案,就是把世界模型改造成 VLA 的 learned environment。
2. DW0.5 的核心——从目标出发,而不是从技术出发
DW0.5 的所有设计,都围绕"为 VLA 构建一个可闭环迭代的世界模型"这个目标展开。先把这个闭环完整地说一遍,后面再拆开讲每一块。整个飞轮可以概括为五步:第一,VLA 根据语言指令、当前观察和机器人状态,采样出若干候选动作;第二,DW0.5 在每个动作条件下,分别生成对应的未来视觉 rollout;第三,一个叫 Value Expert 的模块,对当前状态、候选未来或整段 rollout 给出成功概率或任务价值评分;第四,系统根据这些反馈去筛选动作、构造偏好数据,或者直接对 VLA 做 RL 后训练;第五,少量真机 rollout 持续校准世界模型,让整个闭环不断贴近真实部署分布。真机不会消失,它是飞轮的起点,但不再是唯一的训练场所。
我们可以把这个五步闭环写成一段结构化的伪代码,它其实就是原力灵机 DFOL 2.0 框架的骨架——注意和前面 code agent 的那段对比,你会发现两者惊人地相似,区别只在于:机器人的"单元测试"是由世界模型 + Value Expert 一起模拟出来的。
# DFOL 2.0:世界模型驱动的具身闭环后训练(learned environment 版)
def embodied_closed_loop(vla, world_model, value_expert, real_robot, tasks):
for task in tasks:
obs = get_observation(task)
# 1. VLA 一次采样多个候选动作(探索),而非只出一个
candidate_actions = vla.sample(task.instruction, obs, n=8)
scored = []
for action in candidate_actions:
# 2. 世界模型在"动作条件"下各演一遍不同的未来(含成功与失败)
rollout = world_model.imagine(obs, action) # 生成未来视觉序列
# 3. Value Expert 给整段未来打分,把稀疏的终局胜负细化到每一步
reward = value_expert.score(obs, action, rollout)
scored.append((action, rollout, reward))
# 4. 用打分筛动作 / 造偏好数据 / 直接做 RL 后训练(无需占用真机)
vla.rl_post_train(scored) # 例如 PPO / 偏好优化
# 5. 少量真机 rollout 回流,校准世界模型,防止仿真跑偏
real_data = real_robot.collect(vla, n_small=few)
world_model.calibrate(real_data)
return vla, world_model
这段代码里藏着三种能力,它们是 DW0.5 之所以能"当训练场"的三块地基:动作作为强先验的生成能力、模拟成功与失败的仿真能力、把未来变成可训练反馈的评分能力。 下面逐层拆开。
2.1 第一层能力:生成——先证明"动作真的说了算"
一个世界模型能不能参与训练,有一个最基础、也最容易被忽略的测试:给定同样的起点,一个输入"向左推"、一个输入"向右推",它生成的未来场景到底一不一样? 如果两段视频看着差不多,那它就只是一个带成功偏置的视频生成器——不管你喂什么动作,它都倾向于生成"顺利完成任务"的画面。这种东西对训练毫无用处,因为它根本没在响应你的动作,你给一个明明会把物体推歪的失败动作,它照样能给你演出一段成功。这样的模型无法惩罚错误,也就无法用来做强化学习。
难点在于怎么让动作"说话算数"。一种常见做法是把动作离散成 token、塞进语言模型的词表,当成生成视频的一个条件。实现简单,但这只是软约束:动作 token 进入语言空间后,模型可以参考它,也可以在追求画面顺滑时悄悄把它弱化掉,一个明明会把物体推歪的失败动作,照样可能被"美化"成一段成功过程。DW0.5 的做法不同——它没有把动作降格成众多 token 里的一个,而是按照官方开源仓库(opendw)的描述,采用一套 MoT(Mixture of Transformers,混合 Transformer)框架:一个 Wan 视频骨干(backbone) 负责主干建模,后面接三个各司其职的专家头(expert head),分别做视频预测、动作生成、状态价值估计。语言、图像/视频、机器人型号、状态、动作这些输入被一起喂进来,动作因此成为决定未来的一等输入,而不是可有可无的旁支。我们可以用一段贴近仓库结构的示意代码,把这个"骨干 + 三专家"的分工画出来:
# DW05 的骨架(贴合 opendw 的 MoT 描述:Wan backbone + 三个 expert head)
class DW05(nn.Module):
def __init__(self):
self.backbone = WanBackbone() # 多模态主干:语言/图像/视频/状态/动作
self.video_expert = VideoExpert() # ① 预测未来视频(生成 + 演失败)
self.action_expert = ActionExpert() # ② 生成/条件化动作轨迹
self.value_expert = ValueExpert() # ③ 状态价值:逐步成功概率打分
def imagine(self, obs, action, robot_type, state):
# 动作是"一等输入",和观察一起进入主干,直接左右未来走向
h = self.backbone(obs=obs, action=action,
robot_type=robot_type, state=state)
future_video = self.video_expert(h) # 向左推 / 向右推 → 不同的未来
return future_video
简单说,"向左推"和"向右推"这两串动作,从进入主干那一刻起就把预测导向了两条不同的路,自然会生成两个不同的未来。这一步做到了,后面才谈得上:VLA 一次采样出好几个候选动作,DW0.5 给每个动作各自演一遍不同的未来,供后续评测。这就是 DW0.5 使用世界模型的第一层能力——由 Video Expert 承担的生成。(需要说明:官方仓库注明 Value Expert 会在后续版本更新,因此本文对评分环节的描述以官方公开叙述为准,实现细节请以 opendw 仓库最终代码为准。)
2.2 第二层能力:仿真——一个只会让你赢的陪练,其实是啦啦队
第二个关键点,也是行业最近反复强调的:一个训练场,必须学会模拟失败。 原力灵机把承担这一职责的世界模型能力定义为 Video Expert。道理不难懂:如果训练数据全是专家的成功轨迹,模型会过拟合出一种过强的"成功偏见"——你给它什么动作,它都给你生成一个任务完成的结局。这样的模型没法告诉 VLA"你这么做会把物体推到再也够不着的地方",没法惩罚错误动作,自然也没法做强化学习。它展示的只是"成功长什么样",一个只会让你赢的陪练,本质上就是场边的啦啦队,而不是能陪你输、让你从失败里学东西的对手。
DW0.5 的数据策略正是围绕"必须会演失败"来设计的,数据来自四类来源交叉互补:真机和仿真里跑出来的成功、失败、偏离、卡住、恢复各种轨迹都往里喂,还接入了 RoboChallenge 这类真实成败案例;此外还有常见的公开数据、自采机器人数据、互联网视频数据和 Egocentric(第一人称视角)数据。这里的分工很清晰:仿真负责高效地探索那些危险的、容易失败的动作空间——因为在仿真里把东西推翻一万次不花钱也不会真的摔坏硬件;真机负责提供真实的接触噪声和执行误差——这些是仿真造不出来的。两头一凑,DW0.5 不只学"该怎么做对",也学"做错了世界会变成什么样"。这就是它使用世界模型的第二层能力——仿真,也是能上强化学习的前提:没有失败,就没有可以拿来优化的信号。
2.3 第三层能力:评分——把只有终局才有的胜负,细化到每一步
前两层做完,世界模型已经能告诉 VLA"你这么做,未来大概长这样"。但还差一样东西:VLA 做强化学习需要 reward(奖励信号),需要知道哪个动作该鼓励、哪个该给负反馈。而机器人任务的 reward 出了名的稀疏——往往要等整个任务完成,才能算出一个"成功/失败"。可很多失败在中间早有征兆:物体姿态偏移、夹爪接触点不稳、目标被推进了低成功率的区域。这些信号如果非要等到任务结束才反馈,训练效率会低到无法接受。
DW0.5 为此加了一个 Value Expert,专门做"评测"这件事:它对当前状态、候选轨迹、整段生成的未来打一个成功概率分,把只有终局才有的那一票胜负,细分成每一步都能拿到的反馈。这正对应原力灵机强调的"对执行效果做准确打分"。在闭环系统里,这个打分至少有三种用法:一是候选动作筛选,对多个 rollout 打分,让 VLA 选择更可能成功的未来;二是作为 RL 后训练的 reward 信号,在世界模型环境里对 VLA 做策略优化,无需频繁占用真机;三是部署时的在线监测,一旦发现当前状态偏离成功路径,及时触发重新规划或失败恢复。用一段代码把这个"稠密化 reward"的思路讲清楚:
# 稀疏 reward:只有终局才有信号,中间全是 0,训练效率极低
def sparse_reward(trajectory):
return 1.0 if trajectory.final_state.success else 0.0
# Value Expert:把终局胜负细化到每一步,成功轨迹 reward 与进度正相关,
# 失败轨迹在"推歪 / 够不着"的关键帧给出强负反馈
def value_expert_reward(value_expert, trajectory):
step_rewards = []
for step in trajectory:
v = value_expert.score(step.state, step.action) # 逐步成功概率
step_rewards.append(v)
# 三种用途:① 选动作 ② RL 的 reward ③ 部署时监测是否偏离成功路径
return step_rewards
打个比方:Video Expert 是能陪你把动作演一遍、还会让你输的陪练;Value Expert 是站在场边的裁判,每一步都给出精准打分。这两部分融合,一个能真正跑起来的强化学习闭环才算成型。这就是 DW0.5 使用世界模型的第三层能力——闭环训练,也就是真机 RL 的低成本替身。
3. 三个设计,服务同一个闭环
把生成、仿真、评分这三块串起来,DW0.5 的闭环就成型了,可以用一张流程图把它固定下来:
┌─────────────────────────────────────────────┐
│ 少量真机 rollout │
│ (飞轮起点,持续校准世界模型) │
└───────────────────┬─────────────────────────┘
│ 校准分布
▼
指令 + 观察 + 状态 ┌──────────────┐
─────────────► VLA (DM0.5) ──采样 N 个候选动作──► │ DW0.5 │
▲ │ 世界模型 │
│ │ │
│ ┌──────────┤ Video Expert │ 演出不同未来
│ RL 后训练 / 筛动作 / 造偏好数据 │ │ (含成功+失败)│
│ ▼ └──────┬───────┘
│ ┌───────────┐ │ rollout
└──────────────────────────────┤Value Expert│◄────────┘
每一步的 reward │ 逐步打分 │
└───────────┘
用一句话复述这张图:VLA 根据指令采样出多个候选动作 → DW0.5 给每个动作演出不同的未来(有成功也有失败)→ Value Expert 给这些未来打分 → 系统拿这些分去筛动作、造偏好数据,或直接对 VLA 做强化学习后训练 → 少量真机 rollout 持续校准,让这个仿真训练场不至于偏离真实世界。所以同一个世界模型,在这套闭环里同时扮演了三个角色:生成、仿真、闭环训练。这也是 DW0.5 最重要的启发——不把某个技术固化为单一用途,而是从目标出发,把一项技术的价值榨干。
这套设计带来的收益是可量化的。在原力灵机的发布会上,具身基座模型 DFOL 2.0 接上 DW0.5 做闭环后训练后,真机训练数据需求下降约 60%、整体训练成本下降约 40%;在公开的 LIBERO 基准上,用 PPO 做世界模型内的后训练,成功率提升了约 13.6 个百分点。据我们了解,这是行业第一次把世界模型规模化地用进具身后训练闭环。至于那几个"三榜第一"的成绩——EWMBench 4.66、WorldArena 73.54、RoboTwin 2.0 93.3(均截至 2026-07-09)——它们更应该被理解为"这套闭环能力的具象化表现",而不是目的本身。下面这张表把这些数字放在一起,方便对照:
| 维度 | 指标 / 数值 | 含义 |
|---|---|---|
| 预训练数据 | 5 万+ 小时多源真机与第一人称视频 | 覆盖成功/失败/恢复等多样轨迹 |
| EWMBench | 4.66(第一) | 场景一致性、时空轨迹对齐、语义对齐等综合评分 |
| WorldArena | 73.54(第一) | 世界模型在物理预测上的综合排名 |
| RoboTwin 2.0 | 93.3(第一) | 双臂操作基准,含域随机化与长程成功率 |
| 后训练收益 | 真机数据 −60%、总成本 −40% | DFOL 2.0 接入 DW0.5 的闭环效果 |
| LIBERO | 成功率 +13.6 点(PPO 后训练) | 世界模型内 RL 的可迁移增益 |
值得单独提一句的是:DW05 的模型权重(Dexmal/DW05-Base)和代码(opendw 仓库)都已经开源,License 为 Apache-2.0,权重、推理代码、训练代码一并放出。愿意把技术开源,比多刷一个榜要更实在。对想上手的同学,官方 README 给出的最小路径如下(命令均来自仓库真实文档,非杜撰):
# 1. 拉代码并以可编辑模式安装(Python 3.10+,需 CUDA 版 PyTorch)
git clone <https://github.com/dexmal/opendw.git>
cd opendw
pip install -e .
# 2. 从 Hugging Face 下载权重
huggingface-cli download Dexmal/DW05-Base --local-dir ./checkpoints/DW05-Base
# 3. 开环图像推理:给一张起始观察 + 一句指令,生成未来视频
python playground/example_dw_exp.py --task inference
inference_config.checkpoint_path=./checkpoints/DW05-Base/dw05.pt
inference_config.input_image_path=/path/to/condition.png
inference_config.prompt="A video recorded from a robot's point of view executing the following instruction: open the drawer"
inference_config.output_mp4=./runs/dw05/inference.mp4
inference_config.num_inference_steps=10
# 4. 动作条件 rollout(RobotWin 在线 demo):核心自测——
# 同一起点喂不同动作,看生成的未来是否真的不同
python playground/online_demos/robotwin_online_demo.py
# 若两段 rollout 明显不同 → 动作条件生效;若几乎一样 → 只是带成功偏置的视频生成器
-
- •
GitHub:https://github.com/dexmal/opendw•
Hugging Face:https://huggingface.co/Dexmal/DW05-Base
4. 把镜头拉远——WAIC 2026 现场,大家都堵在同一堵墙前
如果说 DW0.5 是"一家公司怎么解题",那 WAIC 2026 就是"整个行业在解什么题"。今年的 WAIC,AI 行业和机器人行业已经密不可分。往年以大模型、生成式 AI 为主角的会场,今年如果只用一个关键词概括,很多人的答案会是"机器人"——从人形、双臂到各类零部件与操作平台,几乎每走几步就能看到硬件。机器人及其背后的全产业链,第一次真正站到了舞台中央。而在这片热闹里,一个更深的分化正在发生:一类企业仍在回答"机器人已经进化到什么程度",展示它能跑多快、抓多准、能不能跳舞翻跟头;另一类企业回答的却是另一个问题——机器人如何稳定、安全、持续地在真实世界里完成第一万次、第一百万次操作。前者关心能力边界,后者关心产业边界。
在觅蜂主办的"迎接物理 AI 智能涌现"论坛上,智元合伙人、觅蜂董事长姚卯青一开场就把调子定住了:物理智能想规模化,前面横着三堵墙。第一堵是数据墙——真实交互数据太稀缺,采一条贵一条;第二堵是表征墙——跨任务、跨场景、跨本体的统一物理表征还没形成;第三堵是闭环墙——真实世界里试错代价高、反馈慢,根本 scale 不起来。后面每位嘉宾讲的内容看似五花八门,Physical Intelligence 的通用基座、徐丹飞的人类第一人称数据、苏航的"原生大模型"、Genesis 王尊玄的一副手套、Dyna 那条折了 850 多次的餐巾,但绕来绕去,手里凿的其实是同一堵墙——数据那堵墙。回头看 DW0.5,你会发现它恰恰是冲着第一堵和第三堵墙去的:用 learned environment 把"试错"从真机搬进世界模型,本质上就是在凿数据墙和闭环墙。
数据从哪来,是全场争议最多的话题。台上几乎没人反对"数据是命门",可一问从哪凿,分歧立刻出来了。Physical Intelligence 的任至意主张把真机本体数据尽可能 scale,且要 scale 的不只是量、更是 diversity(多样性),还特别强调要专门收集"机器人搞砸了"的失败数据——"让模型自己理解数据质量,才能拿它不擅长的 case 去优化"。佐治亚理工的徐丹飞抛出全场最激动的一句"人类数据,就是机器人数据":遥操作又累又难,还会掩盖数据里真正的物理智能信息,而人本质上可以看成机械臂的一种形态,海量的第一人称人类数据完全可以用来学物理。Dyna 的马也骋则把"闭环"讲得最实——DYNA-1 用 RL 后训练,花 24 小时把折餐巾做到 850 多次里 99.4% 的成功率,只要 2–3 次 active loop learning 就能到很好效果,再收一点"失败后怎么恢复"的数据,模型很快就学会。把 π 的咖啡、Dyna 的餐巾放一起看,"能干活"的定义正在变清晰:不是做对一次,而是上百次里稳定成功,还得知道搞砸了怎么自己爬起来。
有意思的是,论坛尾声几位大佬给"具身的 ChatGPT 时刻"各压了个时间:姚卯青说 2 年、赵子豪说不到 2 年,而离预训练和模型底层越近的人反而越谨慎——马也骋 4 年,张正友 3–5 年,任至意和徐丹飞都是 4–5 年。离产业、离落地越近的人越乐观,离模型底层越近的人越谨慎,这个现状本身就值得琢磨。但无论谁对,他们给出的理由几乎是同一个词:看数据的进展。这场论坛真正的价值,或许不在于谁给了答案,而在于整个行业第一次这么整齐地承认:我们都还堵在同一堵墙前,只是各自挑了不同的凿法。而 DW0.5 的意义,正在于它提供了一种"用世界模型规模化地凿闭环墙"的具体凿法。
WAIC 现场还释放出另一个容易被忽略的信号:行业正在从"垂直全栈"走向"专业化分工"。过去几年几乎所有公司都想全栈——自己做本体、控制器、模型、数据、应用,因为产业链不成熟,只能把关键能力攥在手里。但机器人硬件以年为迭代周期,AI 模型几乎每月都在更新,两种研发节奏被硬塞进同一家公司同步推进,协同成本极高。于是越来越多企业开始重新定位:模型公司解决"机器人如何理解世界",应用公司解决"机器人在哪里创造价值",而力控操作本体企业(如天机的 Gento、Marvin Pro 系列)解决"机器人如何可靠地改变世界"。它们展示的关节、力控、运动控制、7×24 小时连续运行与热漂移抑制,看似不如大模型吸睛,却决定了一台机器人能否成为持续产出高质量真实数据的基础设施。这和 DW0.5 是一体两面:世界模型负责让"试错"变便宜,力控本体负责让"真实数据"变可靠——飞轮的两端,缺一不可。
5. 目标比方法更重要
写到这里,一个更大的分野已经清楚了。这一波世界模型热潮,多数公司的选择是不停发新模型、不停打榜、反复强调自己在某个榜单上的地位。这条路没有错,生成质量本身是硬指标。但它容易让人忘了为什么出发:这些"榜单第一",最后帮哪个具身模型变强了、变强了多少?原力灵机的选择带着一点第一性原理的味道——先判断具身当下的卡点(后训练太贵、飞轮转不起来),再把世界模型拿来当解法。这个区别看着不大,却决定了你最后会做出什么东西。在我们与原力同学的交流中,最强的感受是务实:他们坦承短期具身落地困难重重,内部打算长期备战,不急于过分强调场景落地,而是持续打磨实力、构建护城河。
也正因为如此,"给世界模型钦定一个正确用途"这件事本身就没什么必要了。它能生成、能评测、能当训练场,具体用来干嘛,取决于你要解的问题,跟贴什么标签无关。把某个技术本身当成终局去追随,多少有点本末倒置。回到开头那个问题——世界模型到底怎么让一个具身模型变强?DW0.5 给出的答案是:它不直接让 VLA 变强,而是为 VLA 造出一个可以廉价、高频、带失败信号地反复试错的环境,让那个在 code agent 身上转得飞快的自验证飞轮,第一次有可能在具身智能上也转起来。当然,DW0.5 也只是第一步,能做的事情还有很多。真正拉开差距的,从来不是谁的技术短期领先,而是你到底想解决什么问题。
489