
做机器人学习这几年大家应该都有一个共同的感受模型的名字是越来越像科幻设定了。世界模型World Model, WM、视觉-语言-动作模型Vision-Language-Action model, VLA还有夹在中间、看起来像缝合怪的世界动作模型World Action Model, WAM隔三差五就出现在论文标题、厂商发布会和各家的招聘 JD 里。尤其是最近VLA 的话题热度明显上来了从 RT-2 到 OpenVLA再到 π0 和 NVIDIA 的 Alpamayo连自动驾驶圈子都在往 VLA 上靠。与此同时世界模型那边也有 Cosmos、Genie 这些视频生成即仿真的大动作。两条路线看起来都很火但很多人其实没搞明白它们到底是不是一回事各自主解决什么问题真实落地的时候选哪个更靠谱这篇文章我不想照着论文 PDF 念而是从一个非常朴素的问题出发一个机器人要完成一次抓取或者一次变道中间到底发生了什么围绕这个问题我会把 WM、WAM、VLA 三条技术路线的设计动机、网络结构、训练方式和适用场景掰开揉碎最后给出一套可以拿去直接用的选型思路。已经入坑的工程师可以从里面找一些排坑经验刚接触这个方向的研究生也能靠这篇文章快速建立起对三种模型的整体认知。1. 三条路线都在解决同一个问题动作从哪来1.1 传统机器人流程的瓶颈在哪里在深度学习方法大规模进入机器人领域之前一个典型的机器人系统长这样感知模块用相机和激光雷达输出物体的位姿信息规划模块在构型空间里搜索一条无碰撞轨迹控制模块再把轨迹跟踪成关节力矩。这套感知—规划—控制的模块化流水线非常成熟工业界用了很多年但它有一个很要命的断裂带每个模块都是独立开发、独立调优的误差会在模块之间逐级放大。感知阶段把物体位姿估偏了 3 厘米规划阶段就算再精确末端执行器也会抓空规划输出了一条完美轨迹控制器一抖动整个任务照样失败。更麻烦的是模块化系统很难应对开放世界。你给机械臂写了一条抓取圆柱体的规则它就只能在训练它的那个场景里抓圆柱体。换个光照、换个背景、换一种从来没见过的杯子造型传统感知模型可能还能勉强定位但规则和轨迹完全泛化不过去。这个问题在自动驾驶上暴露得更彻底——你不可能给道路上所有 corner case 写规则。所以学术界和工业界开始思考一个更激进的问题能不能砍掉中间那些手工设计的模块让模型直接从传感器输入映射到动作输出这个思路催生了端到端策略而端到端这条路继续分化最后长出了我们今天要聊的三根枝杈WM、WAM、VLA。理解它们的分化逻辑比背模型名字更有价值。1.2 看、想、做三种模型的定位差异用一句话概括三者的分工WM 管的是「想」。它建模环境动态演变的规律输入当前状态和动作输出未来状态。未来状态可以是像素空间的一帧图也可以是压缩后的隐向量。VLA 管的是「看 做」。它把视觉观测和语言指令直接映射成动作中间不显式建模环境变化。WAM 管的是「想 做」。它同时保留对未来状态的预测能力又把预测结果用于当前动作的生成是前两条路线的融合形态。打个比方WM 像是你闭上眼睛在脑子里推演我伸手去够那个杯子会不会把旁边的花瓶碰倒VLA 像是熟手司机看到前车刹车灯亮了脚已经踩上制动踏板根本不需要有意识地推演我如果不刹会怎样WAM 则是边模拟边行动脑子里始终有一个预演器在实时运行每做一个动作之前先飞快地自问一句如果这样做下一步世界会变成什么样。这三者的定位差异直接决定了它们在网络结构、损失函数、训练数据上的巨大差异。下面一个一个拆。2. WM世界模型让机器人在想象中试错2.1 世界模型到底在建模什么先给一个严格但不绕的定义。给定当前状态 s_t 和动作 a_t世界模型学习环境的转移函数 p(s_{t1} | s_t, a_t)也就是环境下一步会变成什么。如果任务里还有奖励信号它也可以顺带学习奖励模型。但在深度学习的语境下世界模型通常不是一个显式的概率转移矩阵而是一个深度网络用来拟合下一帧观测或者下一帧观测的隐空间表征。这里有一个特别关键的分叉世界模型预测的是像素空间还是隐空间。这两者的工程含义完全不同。像素空间预测的代表是视频生成模型比如 NVIDIA 的 Cosmos、Google 的 Genie 以及各种基于扩散模型的 world simulator。它们输入一段历史视频帧和动作指令输出未来视频帧。这种做法的好处是预测结果人类可以直接看非常直观拿来做数据生成和策略预训练特别方便坏处是计算量惊人而且像素级误差对决策来说其实是冗余的——我们只关心杯子有没有被碰倒并不关心杯子上第 137 个像素是什么颜色。隐空间预测的代表是 Dreamer 系列模型。它先用 VAE 把高维图像观测压缩成低维隐状态然后专门学习隐空间的动态转移也就是 latent dynamics。决策和规划都在隐空间里做 rollout效率和稳定性都比像素空间好得多。代价是失去了人类可读性你很难直观判断模型想象出来的画面是否合理。如果你做的是强化学习闭环我建议优先考虑隐空间 WM如果你做的是仿真数据生成或者可交互环境构建那像素级 WM 更合适。这两者不是竞争关系但工程上的取舍完全不同。2.2 代表工作与关键技术点世界模型领域这几年最有影响力的进展按我自己的标准排序是这样的Dreamer 系列V1/V2/V3model-based RL 的标杆。它在 latent 空间里学习环境动态用 imagination rollout 来训练 actor-critic样本效率远超 model-free 方法。你想想真实机器人交互一次要花多少时间、冒多少风险能在模型脑子里想象出一万次试错这个优势在真实机器人任务里几乎是决定性的。MuZero它不算严格意义上的视频级世界模型但它的核心思想是隐式学习一个与奖励和值函数对齐的转移模型。MuZero 在围棋、国际象棋和 Atari 上的表现证明了不显式建模像素只在抽象空间里做规划照样能取得顶级决策能力。Genie / UniSim / Cosmos 这类视频生成型世界模型它们的卖点不是直接控制而是给机器人和自动驾驶生成可交互的仿真场景。Cosmos 官方定位就是 physical AI 的 world foundation model主打给物理智能体提供世界模拟能力。我特别想强调一点视频生成型世界模型在 pipeline 里的角色更接近一个数据引擎而不是决策器。你用它生成海量分布外场景用来预训练策略模型、做闭环评测、或者给人类标注员提供仿真素材这比让它直接输出动作靠谱得多。2.3 WM 的强项与软肋先说强项。第一样本效率高这是世界模型最大的本钱。在 model-based RL 里凭空想象出来的经验imagined experience可以反复复用极大减少真实交互需求。第二具备前瞻能力能回答如果我执行这个动作会发生什么这是高级智能的基本组件。第三支持反事实推理和策略评估比如要是刚才没抓稳会怎么样这种能力 VLA 天然不具备。但软肋同样致命。第一是误差累积也就是 compounding error。预测一步没问题预测十步还行预测一百步误差会像滚雪球一样指数级放大。像素空间模型更明显两步之后的画面基本就开始糊了。第二是学到了假规律。世界模型是从纯数据里学环境动态的训练数据一旦缺少关键物理规则比如质量、摩擦系数、物体间的遮挡关系它就会学出一个看起来合理但物理错误的动态。拿这种 WM 去做数据生成生成的仿真数据和真实物理压根对不上sim-to-real 直接翻车。第三是训练不稳定隐空间 WM 的损失函数通常由 reconstruction loss、dynamics loss、reward loss 好几项组成权重怎么调非常玄学。我见过不止一个团队模型结构没有问题硬是按在 loss 权重上一调就是两个月。3. VLA视觉-语言-动作模型把「看」和「做」焊在一起3.1 VLA 的模型结构VLA 的基本思想非常直接把机器人的策略建模成一个条件分布输入是图像、语言指令、历史动作输出是当前动作。它的底座是一个多模态 Transformer视觉 token 由 ViT 编码器切patch得到语言是文本 token动作也转化成 token 或者是连续向量全部统一扔进自注意力层里处理。这里最关键的设计决策是动作怎么表示它直接决定了训练难度和输出精度。早期 RT-2 的做法是把动作离散化成一个个动作 token跟文本 token 一起做分类任务好处是能复用语言模型的整个预训练结构坏处是离散化会损失动作精度毕竟机器人控制需要的是连续力矩和连续位置。后来的 π0 改用了 flow matching 的动作头直接在连续空间里生成动作精度上去了训练也更稳。这也是我很推荐大家关注 π0 的原因——它在动作表示上的选择体现了 VLA 从能跑通demo到能部署到真实机械臂的必然技术演进。另一个关键点是一切皆 token、一切皆序列的设计让 VLA 可以直接继承互联网上大规模预训练的视觉-语言模型先验。你用几个月的网图文数据把底座训好再拿几十万条机器人轨迹去微调动作头模型天生就知道杯子是什么、鸡蛋是什么、轻轻拿起是什么意思。这是 VLA 相对于传统端到端策略模型最核心的竞争力。3.2 代表性模型盘点RT-2Google 的里程碑工作。把 PaLI-X / PaLM-E 这样的视觉语言模型改造成机器人策略在动作输出层加上 action token。它证明了用互联网知识提升机器人控制这条路可行也让整个领域意识到语言模型不是只会聊天它内部的常识对机器人决策有大用。OpenVLA开源社区的代表。基于 Prismatic VLM底座是 Llama 2 7B 加视觉编码器微调得到。7B 参数一张 A6000 就能推理是目前学术实验室最常用的 baseline。它是很多论文对比的锚点。π0pi-zeroPhysical Intelligence 在 2024 年底开源的工作。用 flow matching 动作头处理连续控制信号支持双臂和灵巧手真实机器人上的泛化性表现不错。现在不少机器人创业公司都在它基础上做领域微调属于拿得出手的开源底座。NVIDIA Alpamayo面向辅助驾驶的开源 VLA 推理模型。它把 VLA 的思路搬到了车上输入前视摄像头画面和导航指令直接输出驾驶行为决策。这是 VLA 从实验室机械臂走向自动驾驶载具落地的一个标志性探索。看到没VLA 这套范式已经不局限于桌子上抓杯子了它在往自动驾驶、移动操作这些大尺度场景渗透。这也是为什么我说现在是了解 VLA 的最好时机。3.3 VLA 的落地问题网络结构好看但真正落地你会踩一堆坑。我按杀伤力排序数据策略失衡。VLA 的语言能力是从互联网上继承来的但动作预测头是随机初始化的。微调阶段如果动作数据不够会出现一种很诡异的割裂状态模型能完美回答这个场景里有几个物体但让它输出正确动作就彻底抓瞎。动作头的收敛对数据质量极其敏感数据不够的情况下模型只会变成一个话痨。实时性压力。7B 参数的模型在边缘设备上单次推理动辄几百毫秒到几秒。机器人控制闭环通常要求 10Hz 以上的频率你必须做量化、剪枝、动作降频每一步都是一轮拉锯战。很多团队模型效果很好一上真机就废卡在推理速度上。评测难度大。VLA 领域有个公开 benchmark 叫 Libero里面包含一系列桌面操作任务专门用来测语言条件泛化能力。但 Libero 任务相对简单在 Libero 上取得高分离真正产线稳定运行还差着十万八千里。评测迁移问题现在已经是 VLA 社区争论最激烈的话题之一。4. WAM世界动作模型在预判与执行之间建一条双向通路4.1 WAM 想解决的问题WAMWorld Action Model世界动作模型并不是某一个特定模型的名字而是一类架构取向。它出现的原因非常朴素VLA 直接把看映射到做一步到位但它缺少对如果做了什么会怎样这种因果关系的显式预判WM 有强大的预判能力但它本身不是一个策略模型不会输出动作没法闭环控制。那能不能把两者的优势放到同一个模型里联合训练WAM 的答案是可以。它的网络里同时存在一个未来状态预测分支和一个动作解码分支训练时既优化 next-state prediction loss又优化动作回归或者模仿学习 loss。这样一来模型既能像世界模型一样想象未来又能像 VLA 一样输出可执行的动作。用一句大白话总结WAM 在输出动作之前被强制要求先想清楚世界在下一步会变成什么样。4.2 典型设计预测网络加动作头WAM 的常见设计方案可以归纳成三层架构。第一层是感知编码层视觉编码器提取当前观测特征语言编码器编码任务指令也可以把历史动作序列一起编码进去。第二层是世界模型层用一个 dynamics head 预测未来若干步的隐状态或者关键帧特征。这个 head 既可以是 Dreamer 那种隐空间 rollout 网络也可以是视频预测模型看你对计算资源的忍耐程度。第三层是动作解码层基于当前特征和预测出来的未来特征解码出当前动作。动作解码可以是简单的 MLP 回归也可以上 diffusion policy 或者 flow matching后者更适合高精度连续控制。训练损失一般是多项加权求和概念上长这样for batch in dataloader: obs, lang, actions, next_obs batch # 1. 感知编码 feat_obs vision_encoder(obs) feat_lang lang_encoder(lang) # 2. 世界模型分支预测未来状态 pred_next dynamics_head(feat_obs, feat_lang, actions) loss_dyn mse_loss(pred_next, target_next) # 3. 动作分支基于当前和未来状态预测动作 pred_act action_head(feat_obs, feat_lang, pred_next) loss_act flow_matching_loss(pred_act, actions) # 4. 联合优化 loss lambda_dyn * loss_dyn lambda_act * loss_act loss.backward() optimizer.step()这段伪代码里lambda_dyn 和 lambda_act 的权重配比非常敏感是 WAM 训练里最容易翻车的点。lambda_dyn 太大模型会花全部精力去当算命先生动作输出敷衍了事lambda_act 太大未来状态预测分支形同虚设WAM 退化成普通的 VLA。通常的做法是先固定 lambda_act然后从小到大地扫 lambda_dyn以动作任务的成功率为主要指标选点。最能体现 WAM 思想的代表工作是 UniPiUniversal Planning Interface。它用视频生成的方式做planning as inference——先让模型根据文本指令生成机器人完成任务的未来视频再从生成的视频里逆推动作。生成视频是想从视频里提取动作是做两者通过同一个文本条件串联起来非常优雅。虽然 UniPi 的具体实现更偏视频生成一些但它把预判与执行放到一个模型里联合建模的思路正是 WAM 的核心精神。4.3 与 WM 和 VLA 的本质区别再帮大家把界限划清楚。WAM 和 WM 的区别在于WM 只学环境动态不负责动作生成它是一个环境模型WAM 的输入里有观测和指令输出里必须包含动作它是一个策略模型。WAM 和 VLA 的区别在于VLA 直接输出动作中间不强制做过未来状态的显式表征WAM 在输出动作之前强制模型先预测未来状态并且把预测结果作为动作解码的输入条件。这个强制先想再做的设计既是 WAM 的灵感来源也是它的代价。好处是模型被迫去理解环境里的物理因果关系泛化性和长期规划能力更强坏处是训练更复杂、推理开销更大而且未来状态预测的误差会直接污染动作输出。如果 dynamics head 预测得不准WAM 的错误模式会是一步错、步步错甚至比 VLA 的直出更不稳定。5. 把三种模型放到同一张桌上九个维度横向对比5.1 关键维度对比表为了方便大家在方案评审时快速对照我整理了一张常用来做技术选型的表覆盖算法设计到工程落地的九个核心维度对比维度WM世界模型WAM世界动作模型VLA视觉-语言-动作模型核心能力预测未来状态预判未来 生成动作观测 指令映射动作主要输出状态 / 视频 / 隐向量动作附带未来状态动作是否依赖语言指令通常不依赖可选取决于设计强依赖训练范式model-based RL 或自监督多任务联合训练预训练 机器人数据微调样本效率高可想象试错中低数据饥饿前瞻规划能力强强弱除非显式引入规划头泛化能力受训练数据物理规律限制中高高可借助互联网先验实时推理开销中高中高工程成熟度低到中低中先声明两点。第一这张表说的是典型情况不排除某些具体模型在单项上表现反常第二不同维度之间往往存在权衡关系比如 VLA 泛化性好很大程度上是拿样本效率换来的WAM 规划能力强是拿推理开销换来的。选型的时候不要单看一两个维度要看你的场景最缺哪个能力。5.2 用三个真实场景检验选型逻辑泛泛而谈没有意义我们拿三个具体场景来试一下。场景一仓储机械臂拣选。SKU 动辄上千种任务指令由 WMS 系统实时下发物体形态千奇百怪。这个场景的核心矛盾是泛化到从来没有见过的物体动作精度要求高但原本就有人类的拣选数据可以模仿。这种场景的首选就是 VLA尤其是 π0 或者 OpenVLA 这类能基于开源底座做领域微调的模型。互联网预训练带来的物体概念理解在这里是降维打击。场景二自动驾驶或者室内移动导航。核心矛盾不是抓得准不准而是安全和长时程决策。你需要的不是快速执行动作而是如果我不刹车三秒后会怎样这样的后果推演。这种场景显然更适合 WM 或 WAM。业界在做安全决策和闭环评测时也更倾向于用显式的世界模型做仿真推演和规划验证。NVIDIA Alpamayo 是 VLA 在驾驶场景的一次重要尝试但真正负责安全兜底的那一层目前还得靠规则和显式模型。场景三高校和科研实验室。探索机器人如何从经验中学习的机制不做商业交付没有实时性 KPI。这种场景特别适合做 WAM因为 WAM 把理解因果和学会动作放在同一个框架里端到端训练学术贡献点和故事性都很饱满发论文的价值密度高。记住一句话没有银弹。拿 VLA 硬做长时程规划你会被误差累积折磨拿纯 WM 去做灵巧抓取你会发现动作生成还得自己再造一套 policy。6. 真实项目里的选型顺序与排坑手册6.1 我自己用的四步选型决策流程这几年陆续给几个机器人团队做过技术咨询我一般用四步走的方法帮他们做技术选型。第一步明确瓶颈。先问自己当前系统最缺的是什么如果是新物体泛化能力不足往 VLA 方向走如果是安全规划做不好、corner case 处理不了往 WM 方向走如果两者都要且你有充足的算力和数据预算再考虑 WAM。第二步盘数据家底。VLA 需要海量多模态数据——图片、指令、动作三元组。如果你的数据仓库里只有几万条单任务轨迹训练 VLA 基本是送人头。这种条件下更务实的方案是用现成的视觉语言模型做感知再配合传统运动规划先上线跑起来。第三步盯部署约束。把推理时延、算力上限、是否边缘设备这三个数写死在需求文档里。7B 的 OpenVLA 和 300M 的轻量策略在真实产线上的体验差着一个数量级。如果边缘设备只有 20W 功耗那就算 VLA 效果再好你也得先做量化蒸馏再说。第四步评估要前置。不要等项目快结束了才上 benchmark。从第一周开始就把评测环境搭起来每次改动都完整跑一遍把训练两星期才发现方向错了这种惨案扼杀在摇篮里。6.2 数据、评测和训练中的实践清单讲几个我看到无数人反复在踩的坑每一项都有真金白银的教训。动作数据与相机帧率对齐。VLA 微调时动作数据和图像帧率必须硬件同步。公开数据集通常已经对齐了但你自己的真机采集如果忽略了同步问题模型会学到观测和动作错位的坏习惯表现就是一到高速动作就颤抖。数据增强要克制。VLA 对光照、平移这类视觉变换确实敏感但过度做颜色增强反而会破坏 ViT 在预训练阶段学习到的统计分布。我的经验是先不加任何增强把 baseline 跑通然后逐个加每加一个都回测一次不要一步到位上最强 augment。Libero 只是及格线。在 Libero 上刷到 90 分以上的成功率只说明模型的基本框架是对的。真实环境的开放性、干扰项、物理引擎差异都会让分数大幅缩水。把 benchmark 当排错工具别当成军功章。具体的做法是先把 checkpoint 转换成推理格式用 benchmark 提供的接口接入任务环境按成功率和平均步数两个维度跟踪失败案例必须输出成视频逐帧看。世界模型训练一定要做可视化验收。定期把模型预测的未来三帧、未来十帧可视化出来看。loss 正常下降但画面模糊、画面崩坏的情况非常常见这通常意味着模型在做平均化未来而不是理解未来。剪掉不真实的 building rollouts再决定要不要继续加大训练预算。WAM 的权重配比要单独做实验。别指望一套 lambda_dyn 和 lambda_act 在所有任务上通用。抓取任务和导航任务最优配比可能差出好几个量级我建议把配比搜索当成一个独立超参任务来做别看它不起眼它对最终效果的影响经常比模型结构还大。6.3 关于技术路线收敛的个人判断最后说点私货。我目前接触到的项目里真正跑出商业效果的方案绝大多数不是纯 VLA或者纯 WM而是混合架构用 VLA 做高层任务理解和动作粗规划用轻量 WM 做局部安全校验和异常检测底层再用传统控制器做执行跟踪。这个三层结构让我想起人自己——大脑皮层想任务小脑和前庭做平衡脊髓做反射。把不同尺度的智能放在不同层级的模型里而不是一个模型包打天下是当下工程性价比最高的路线。另一个观察是最近越来越多的 VLA 论文开始加入未来帧预测这个辅助任务或者在训练时引入视频生成做数据增强。这其实就是 WAM 的思想在悄悄渗透。我认为未来的机器人基础模型不太会继续分成 WM 和 VLA 两个阵营而是会收敛到带世界模型约束的多模态动作模型也就是 WAM 方向的进化版。现在开始投入 WAM 方向的研究者和工程师大概率能吃到一波先发红利。当然这只是我个人基于项目实践的一点判断技术演进从来不会完全按预想来但提前把这条技术脉络理解透无论风向怎么变你都不会站错边。