
AW-0:把技能程序、未来视频与动作放进同一个去噪过程
AW-0 用 Mixture-of-Transformers 联合去噪技能程序、未来视频与动作;默认模式只让代码指导动作,混合模式才执行程序。RoboTwin 平均 50.7%,8 个真机任务平均 71.1%。
机器人策略最近沿着一条路线快速收敛:先预测未来画面,再用未来预测引导动作。代码即策略则坚持另一条路线:把任务写成显式、可复用的程序。二者各自缺一块。世界动作模型有物理动态作为落脚点,却缺少一个能明确表达技能组合的载体;编码智能体会调用技能、进行符号推理,但它的调用是否成立取决于感知,而且本身并不受一个学习得到的世界模型约束。
AW-0,即 Agentic World Action Model,把这两条路线接得非常直接。它在每个重规划点同时去噪三个流:一段短技能程序、一个未来视频潜变量、一块连续动作。代码专家读取当前图像和指令,视频专家读取代码,动作专家同时读取代码与正在成形的未来视觉表示。三者不是训练完成后才拼接的模块。它们处在不同的 token 空间,却在 Mixture-of-Transformers 的每一层通过联合注意力交换信息。
这项工作来自 UC Berkeley、NVIDIA 与宾夕法尼亚大学。作者在 RoboTwin 2.0 和 8 个真实双臂操作任务上评测,覆盖平行夹爪与 22 自由度灵巧手。论文最强的结论并不是“代码永远优于直接动作策略”。更准确的表述是:当代码使用时间对齐的程序片段训练,并在同一个去噪过程里与视频、动作耦合时,它可以成为一种改善预测和控制的中间语义表示。
为什么规划与世界建模分开会形成瓶颈
传统世界动作模型回答一个紧凑问题:给定当前观测、语言指令和机器人状态,下一段未来画面与动作是什么?这种方法的优势在于未来视频目标可以吸收大量难以用奖励函数或符号规划写出的视觉动态。限制也同样明显。如果任务需要组合若干已知技能,模型没有显式位置来记录“先找物体、再抓取、最后放置”的结构,技能复用被藏在连续策略内部,而不是表示成程序。
代码即策略走的是另一条路。把感知和控制 API 变成词汇表,让视觉语言模型写出定位、接近、闭合夹爪、移动和放置等调用。程序可检查、可组合,但它本身没有学习细粒度的未来像素演化。错误的对象绑定或过时的接触假设可能一直保留到执行阶段,因为从语法上看,这个调用仍然合理。
AW-0 把两种表示放进同一个生成过程。对于当前上下文 $ \mathcal{C}_t=\{\mathcal{O}_t,L,S_t,M_t\} $,其中包含多视角观测、语言指令、机器人状态和紧凑的程序记忆,模型学习联合条件分布
$$ p_\theta(C_0,Z_0,A_0\mid\mathcal{C}_t), $$这里 $C_0=(c_1,\ldots,c_{N_c})$ 是离散程序 token 序列,$Z_0$ 是连续视频潜变量,$A_0=(a_t,\ldots,a_{t+H-1})$ 是长度为 $H$ 的动作块。这个式子的意义在于:代码不是事后解释,也不是传给冻住控制器的额外提示,而是模型内部的随机变量与生成目标。
三个专家,共享同一片注意力空间
主干采用 Mixture-of-Transformers,分别设置代码、视频和动作三个专家。每个专家保留自己的层归一化、前馈网络和注意力投影,但在全部 28 层中通过带掩码的联合注意力通信。专家内部是双向注意力,跨专家按 $C\rightarrow V\rightarrow A$ 的块级因果顺序进行。因此,代码可以组织未来视频预测,视频特征可以影响动作,而未来动作 token 不能反向泄漏到规划中。
| 生成流 | 主要初始化 | 训练信号 | 推理中的作用 |
|---|---|---|---|
| 代码 | SDAR-1.7B 主体,tokenizer 侧部分组件冻结 | 对时间对齐程序片段做掩码 token 交叉熵 | 写出短技能规划,为其他两个流提供条件 |
| 视频 | Cosmos-Predict2.5-2B 视频 DiT,冻结 Wan2.2 VAE | 对未来视频潜变量做流匹配 | 生成近期物理动态的预测视觉表示 |
| 动作 | 独立的 28 层动作 DiT,残差宽度 1,024 | 对当前动作块做流匹配 | 默认模式下直接生成驱动机器人的动作块 |
代码专家并非只看文本。冻结的 Qwen3-VL-2B 视觉塔配合可训练 merger,把三个 224×320 相机视角编码成 210 个视觉 token,并将它们放在指令与程序 token 之前。视频与动作专家通过交叉注意力读取语言嵌入,动作专家还额外接收机器人状态。2,048 维共享注意力空间是桥梁:每个模态保留自己的专家计算,同时在生成过程中保持代码、视频和动作相互可见。
flowchart LR
O["3 路相机视角
224 x 320"] --> VIT["冻结 Qwen3-VL-2B 视觉塔
+ 可训练 merger"]
L["语言指令"] --> C["代码专家
SDAR-1.7B 主体"]
VIT --> C
M["程序记忆
此前生成的片段"] --> C
C -->|"C 到 V"| V["视频专家
Cosmos-Predict2.5-2B DiT"]
O --> V
C -->|"C 到 A"| A["动作专家
28 层动作 DiT"]
V -->|"V 到 A"| A
S["机器人状态"] --> A
C --> P["生成的技能程序"]
V --> F["想象的未来视频"]
A --> ACT["动作块"]
联合去噪:连续扩散与离散掩码扩散并存
视频和动作是连续变量,代码是离散 token,因此 AW-0 对前两者使用流匹配,对代码使用吸收掩码式扩散。在一个去噪步骤中,给定掩码代码 $\widetilde C_r$、含噪视频潜变量 $Z_{\sigma_v}$ 和含噪动作块 $A_{\sigma_a}$,网络预测
$$ (\ell_\theta^c,v_\theta^v,v_\theta^a) =F_\theta(\widetilde C_r,Z_{\sigma_v},A_{\sigma_a}, \sigma_v,\sigma_a;\mathcal{C}_t). $$其中 $r$ 是代码掩码比例,$\sigma_v$ 和 $\sigma_a$ 是噪声水平,$\ell_\theta^c$ 是代码 token 的 logits,两个速度场则预测如何从含噪样本走向干净视频潜变量和动作块。一次前向同时产生三类预测,但每个模态都使用适合自身数据类型的方法。
对于连续模态 $m\in\{v,a\}$,令干净样本为 $X_0^m$。AW-0 构造含噪样本,并回归速度目标:
$$ X_{\sigma_m}^m=(1-\sigma_m)X_0^m+\sigma_m\epsilon_m, \qquad \epsilon_m\sim\mathcal{N}(0,I), \qquad \epsilon_m-X_0^m. $$视频噪声来自平移后的分布,$u_v=sb$,其中 $b\sim\mathrm{Beta}(7,1)$、$s=0.999$;动作噪声使用 $u_a\sim U(0,1)$。两者都设置平移量 $\gamma_m=5$,把训练样本集中到预训练视频模型和动作头更敏感的区域。
代码使用另一种破坏方式。先采样掩码比例 $r\sim U(0,1)$,再对每个 token 独立采样伯努利变量:
$$ \widetilde c_i= \begin{cases} [\mathrm{MASK}], & b_i=1,\\ c_i, & b_i=0, \end{cases} \qquad b_i\sim\mathrm{Bernoulli}(r). $$只有当前程序片段会被破坏并接受监督。观测前缀、指令与记忆保持可见。推理时,策略在代码画布中放入 $G$ 个掩码 token,在 $T$ 个去噪步骤中每步提交最自信的 $G/T$ 个位置。这样既能生成短程序,又不要求严格从左到右逐 token 解码。
让视频预测真正对动作有用
仅仅联合训练,并不能保证视频流在动作专家需要的时候提供正确信息。视频专家继承了预训练模型的高噪声分布,而该分布更偏向大尺度视觉结构。AW-0 把预训练分布与均匀参考分布混合:
$$ u_v\sim q(u)=\alpha p_{\mathrm{pre}}(u)+(1-\alpha)p_{\mathrm{ref}}(u), \qquad p_{\mathrm{ref}}=U(0,1), $$并取 $\alpha=0.5$。然后使用重要性比例重新加权各模态损失,组合目标为
$$ \mathcal{L}=\mathbb{E}_{u_v\sim q}\left[ \lambda_v\bar w_v\ell_v+ \bar w_g(\lambda_a\ell_a+\lambda_c\ell_c) \right], $$其中 $w_v=p_{\mathrm{pre}}/q$,$w_g=p_{\mathrm{ref}}/q$,带横线的权重会截断并归一化为批均值 1,$\ell_v$ 与 $\ell_a$ 是流匹配损失,$\ell_c$ 是掩码代码的交叉熵。这套重加权的目的不是单纯提升画面质量,而是在不远离预训练视频分布的前提下,采样出更适合给动作预测提供指导的视频特征。
209 万个对齐程序从哪里来
如果“代码”只是看完成功视频后随手写的一段说明,这种监督不会有用。AW-0 的标注流水线把程序限制在只有声明、不会直接执行的 API 上,并把每个程序片段与它解释的轨迹段对齐。机器人预训练数据包含 73,101 个 YAM episode、279 个任务、1,919.30 小时;第一人称人类操作数据包含 175,541 个 episode、327 个任务、993.91 小时。合计 248,642 个 episode、2,913.22 小时、2,075,373 个 subtask 程序片段。实际预训练抽取约 2,000 小时 YAM 数据和 1,000 小时人类数据。
| 属性 | YAM 机器人数据 | 第一人称人类数据 |
|---|---|---|
| episode 数 | 73,101 | 175,541 |
| 任务数 | 279 | 327 |
| 总时长 | 1,919.30 小时 | 993.91 小时 |
| 冻结技能库 | 23 个技能 | 27 个技能 |
| 复用校验信号 | 夹爪接触事件序列 | 每只手运动轨迹证据 |
标注流程分为三步。第一步,用 Gemini 3.1 Pro 为每个任务抽取的 episode 编写 subtask 级程序,API 只声明调用会产生什么效果;Claude Code 中的 Claude Opus 4.8 作为协调者,把重复出现的模式提炼成可复用技能。第二步,冻结技能库,再使用最终词汇表重新标注样本,形成程序变体缓存。第三步,对其余语料先检查缓存,只有接触和运动证据匹配时才复用已有变体,不匹配才发起新的视觉语言模型标注。
平行夹爪机器人使用程序声明的接触事件,与传感器记录的开合事件序列比较。第一人称人类视频没有可靠夹爪信号,因此使用每只手的运动路径轮廓寻找最近的已验证变体。这不只是语法检查。它要求程序在“什么时候发生接触”和“手如何运动”上与轨迹一致,同时避免要求对历史遥操作数据真正执行每个声明 API。
这里必须讲清一个边界。接触事件和手部轨迹匹配能够验证时间对齐,却不能证明对象参数、数量或空间关系一定正确。一个程序可以拥有正确的 primitive 顺序,却绑定到错误实例。代码损失训练的是复现标注分布的能力,因此标注误差以及 50 个冻结技能覆盖不到的情况,仍然属于系统误差预算。
默认模式:代码指导动作,但不会被执行
这是理解 AW-0 最重要的操作细节。在默认策略中,生成的程序不会送入代码解释器或机器人 API。它是一份符号规划,为未来视频和动作生成提供条件,真正驱动机器人的是动作专家输出的动作块。因此,把 AW-0 称为“agentic”并不意味着每次推理都运行生成的 Python。它指的是:规划代码成为世界动作模型内部的一等学习表示。
默认设计把安全与连续控制的负担放在学习得到的动作通道上,同时利用代码表达语义结构。代码可以写出寻找、抓取、移动与放置的顺序;视频流预测场景在该计划下应如何变化;动作专家再把联合表示转换成连续命令。由于每次代码只表示一个短片段,模型用紧凑记忆保存此前生成的片段,以补足任务进度上下文。
AW-0 还提供混合执行模式。只有当程序通过当前阶段、依赖、语法、白名单 primitive 与 helper、非空洞性等检查后,才可能进入执行。一旦尝试执行代码,同一次前向产生的动作块就被丢弃,由环境通过绑定感知与控制 API 执行程序。如果调用抛出异常,系统立即重规划。用简洁形式表示,重规划时的通道选择是
$$ a_t= \mathbf{1}[g_t=1]\,a_t^{\mathrm{code}} +\mathbf{1}[g_t=0]\,a_t^{\mathrm{WAM}}, $$其中 $g_t$ 是有效性与进度检查的合取结果。WAM 分支表示同一次前向的动作预测,代码分支表示执行通过检查的程序后产生的动作。这个仲裁不是对两个通道的期望收益做比较。即使程序语法正确、调用已知且包含新进度,它也可能比直接动作预测差,因为门控只判断是否可执行,不判断是否会带来更好的轨迹。
RoboTwin:干净环境的精度与随机化环境的鲁棒性此消彼长
仿真评测使用 RoboTwin 2.0 的 50 个任务,在干净与随机化两种条件下各每题运行 50 次。随机化覆盖背景、桌面纹理、光照、桌面高度与干扰物。AW-0 默认模式取得 80.8% 干净成功率和 20.6% 随机化成功率,平均 50.7%;混合模式变成 63.1% 与 29.2%,平均 46.2%。
| 方法 | 干净环境 | 随机化环境 | 平均 |
|---|---|---|---|
| AW-0 默认模式 | 80.8 | 20.6 | 50.7 |
| AW-0 混合模式 | 63.1 | 29.2 | 46.2 |
| π0.5 | 54.9 | 27.7 | 41.3 |
| WLA | 64.8 | 3.6 | 34.2 |
| DreamZero | 33.6 | 17.6 | 25.6 |
| EgoScale | 26.2 | 2.9 | 14.5 |
混合模式的两组数字很有信息量。它在随机化环境中是表现最好的 AW-0 配置,但在干净环境中比默认模式低 17.7 个百分点。在成功的混合 episode 中,代码在干净环境驱动 14.5% 的步骤,在随机化环境驱动 35.0% 的步骤。这与“视觉条件不熟悉时,代码贡献更多”的解释一致,却不能当作运行时仲裁价值的受控估计。混合模型使用执行代码即策略程序时采集的演示训练,默认模型使用标准任务演示训练。两套流程同时改变了训练分布和执行方式,因此这张表不能单独隔离仲裁门控的作用。
随机化环境中的下降也提醒我们:学习得到的世界模型仍然直接看像素。AW-0 默认模式在该条件下低于 π0.5,尽管代码专家已经通过 ViT 接入视觉。代码提供语义结构,但不会让动作或视频专家自动对未见过的视觉域保持不变。
8 个真实任务:最强信号来自语义技能执行
真机评测使用两种平台。YAM 有两条机械臂和平行夹爪;Tianji 加 Sharpa 双手各有 22 自由度触觉灵巧手。二者都使用三路 RGB 视角和统一的 64 维状态动作空间。每一侧包含 9 维末端位姿、22 个手部关节和 1 个夹爪维度。YAM 不使用手部块,灵巧手平台不使用夹爪槽位。RoboTwin 则使用其原生 14 维关节动作。
每个真实任务使用 100 条演示做后训练,并以 3 个训练随机种子、每个种子 16 次 rollout 评测,共 48 次,初始物体位姿均随机化。AW-0 在 8 个任务上的平均评分是 71.1,DreamZero 为 46.0,π0.5 为 43.6,WLA 为 39.9,EgoScale 为 35.9。
| 方法 | 平均评分 |
|---|---|
| AW-0 | 71.1 |
| DreamZero | 46.0 |
| π0.5 | 43.6 |
| WLA | 39.9 |
| EgoScale | 35.9 |
| 任务 | 平台 | AW-0 评分 |
|---|---|---|
| 整理水果 | YAM,平行夹爪 | 91.7 |
| 装背包 | YAM,平行夹爪 | 64.6 |
| 更换灯泡 | YAM,平行夹爪 | 75.0 |
| 折叠毛巾 | YAM,平行夹爪 | 84.4 |
| 用夹子取水果 | Tianji 加 Sharpa,灵巧手 | 54.2 |
| 发扑克牌 | Tianji 加 Sharpa,灵巧手 | 58.3 |
| 翻记分牌 | Tianji 加 Sharpa,灵巧手 | 68.8 |
| 解魔方 | Tianji 加 Sharpa,灵巧手 | 72.1 |
整理水果与翻记分牌尤其能检验核心假设。它们不是只复现一种通用操作动作,而要求选择或计数正确对象。AW-0 分别达到 91.7 和 68.8。论文还报告了一个独立的真机混合测试:YAM 上的折叠并堆叠毛巾任务取得 90.6,直接动作块为 84.4。该比较使用同一后训练模型与同一评分标准,但只覆盖一个任务、一种本体,不能据此断言混合执行普遍更好。
消融:代码、连接顺序与去噪方式都重要
架构消融主要回答代码应该从哪里接入。作者比较无代码、$V\rightarrow C\rightarrow A$ 与 $C\rightarrow V\rightarrow A$ 三种顺序。通过视频再接代码能够比无代码模型好,但代码只负责推理已经预测出的动态。最终选择的 $C\rightarrow V\rightarrow A$ 让代码在每次去噪迭代中同时塑造未来视频与动作表示。这正是“规划不是世界模型的附属文本”这一说法背后的机制。
视觉条件同样关键。把 Wan2.2 VAE 特征复用给代码专家,平均分是 55.6;改用专门的 Qwen3-VL ViT 后达到 71.1。最大差距出现在装背包,64.6 对 39.6。VAE 特征保留了有利于像素重建的信息,但代码专家需要对象身份、任务状态这类语义区分。这里提升的不只是编码器容量,而是视觉表示与技能、对象选择之间的对齐。
| 变体 | 平均评分 | RTX 5090 推理延迟 | 解读 |
|---|---|---|---|
| 联合掩码扩散代码 | 71.1 | 0.23 秒 | 代码与视频、动作一起演化 |
| 自回归代码 | 54.5 | 0.55 秒 | 串行前缀误差,解码更慢 |
| 去掉代码专家 | 32.9 | 0.19 秒 | 只有视频与动作,失去显式技能结构 |
| 代码使用 VAE 特征 | 55.6 | 非主要比较项 | 重建特征对语义接地较弱 |
去掉代码后,延迟从 0.23 秒降到 0.19 秒,但平均分从 71.1 降到 32.9。自回归代码得分 54.5,耗时 0.55 秒。联合去噪比自回归更快,并在 8 个任务中的 7 个更好。例外是更换灯泡,自回归代码得到 79.2,而联合去噪是 75.0。这个例外很重要:联合去噪是强设计选择,不是每个任务都会改善的保证。
论文还比较了标注内容。完整程序在 8 个共享任务上全部优于删除注释的程序。删除可复用技能调用后,平均表现下降,其中发扑克牌从 58.3 降到 42.0。自然语言子目标在部分任务上有竞争力,例如用夹子取水果达到 58.3,但完整程序在 8 个任务中的 7 个更好。结果支持把结构化调用、可复用技能和解释性注释组合起来,而不是只使用某一种标签格式。
论文尚未解决的问题
第一个限制来自数据流水线。模型只能学习标注库和语料中出现的技能词汇与接触模式。预训练研究共冻结 50 个技能,YAM 与人类手分别有 23 个和 27 个。若任务需要新的抽象、特殊工具可供性或不常见的精确对象关系,标注可能质量不足,或者被迫塞进错误的现有技能。提升标注吞吐量并不会自动消除标注偏差。
第二个限制是参数正确性。接触事件匹配检查程序的时间结构,人类数据流水线检查手部运动,但二者都没有验证每个声明参数。错误的对象属性、数量或坐标仍可能通过。默认模式中,错误代码会误导视频和动作;混合模式中,看似有效的程序还可能直接对真实环境执行错误技能调用。
第三个限制是视觉分布偏移仍然严重。仿真混合模式改善了随机化成功率,但默认模式在同一随机化条件下低于 π0.5。部署文档还明确把相机取景与安装位置列为主要真实故障源。如果代码专家看到的是接地训练之外的观测分布,语义规划本身无法恢复错误感知。
第四个限制是混合仲裁器只判断“是否允许”,不预测“是否更好”。它会检查阶段新颖性、依赖、语法、允许调用与空洞性,却不会估计代码执行相对动作块的期望评分。干净环境里的性能损失说明了这个区别为什么重要。即使代码能够驱动相当比例的成功步骤,凡有效必执行的系统也可能不如始终信任动作通道可靠。
最后,真机混合评测比论文整体真机套件窄得多,只覆盖 YAM 上的折叠并堆叠毛巾。8 个真实任务评价的是默认 AW-0 策略。部署在重规划调用之间仍然偏开环,也没有根据执行反馈在线学习。模型能在下一次观测后重规划,但不会因为一次失败而更新权重或技能库。
它为什么不只是“VLA 加代码”
AW-0 的增量价值在训练契约。传统流程可能让视觉语言模型写代码,把代码转成文本,再交给一个独立策略。AW-0 则用帧对齐的标注目标训练代码,并让它与未来视频、动作参加同一个去噪过程。代码既是输出,也是潜在控制信号。视频专家可以利用它组织预测,动作专家可以利用它消除歧义:当前 subtask 究竟要产生什么物理结果。
这也改变了评测可观察的内容。单纯成功率只能说明动作是否完成,AW-0 还暴露模型生成了什么计划、想象了什么未来,以及动作如何依赖这两者。这些输出不等于可解释性证明,但提供了更具体的调试对象:错误技能调用、正确技能绑定错误对象、以及计划看似合理但生成视频偏离分布,是不同的问题。
论文最强证据不是代码应该永远控制机器人。默认执行在干净 RoboTwin 上更好,也在 8 个真机任务的平均值上领先。更稳的结论是:当显式生成的程序作为生成过程的一部分接受训练时,它可以增强世界动作模型的语义推理。混合执行则是另一个部署策略,有自己的鲁棒性收益,也有自己的失败风险。
下一步值得关注什么
后续实验可以从三个具体问题入手。第一,保持同一批演示与相同后训练预算,只改变运行时仲裁,才能把“执行代码的价值”与“代码采集演示的训练价值”分开。第二,增加参数级验证器或留出执行检查,可以缩小语法正确与语义正确之间的差距。第三,利用成功和失败轨迹持续更新技能库,才可能从只选择初始技能,走向真正学习新抽象。
评测也应更尖锐地区分代码指导与视觉预见:熟悉技能加新对象实例、熟悉对象加新数量、需要组合的歧义指令,以及相机或光照偏移下的富接触任务。只有这些场景才能说明 AW-0 的三流耦合是通用机制,还是集中在恰好匹配标注词汇的任务上。
更合适的理解是:AW-0 提出了符号规划与预测控制之间的新接口。程序不是装饰性解释,未来视频也不是辅助可视化。二者都是可学习、会塑造动作块的中间表示。真正开放的问题是,当环境、技能库或任务移出标注数据分布时,这个接口还能否保持价值。
来源与资源
原文来源:https://agentic-wam.github.io/。RobotWorld 于 2026-10-26 发布。
原文来源:Agentic WAM Researchhttps://agentic-wam.github.io/
