你有没有想过,教一个机器人叠杯子这件事,难在哪里?
你可能觉得,不就是抓起来、放下去吗?但如果任务是把五个纸杯叠成一摞,机器人得先知道现在该抓第几个杯子、往哪儿放、什么时候算完成。换个场景,让机器人把一堆不同颜色的碗分开叠放,它得先判断每个碗是什么颜色,再决定往哪一摞放。这种需要好几步、每一步目标都不一样的活儿,在机器人研究里叫长时序组合操作任务。
这正是这篇论文要解决的问题。它来自北京大学、智元机器人(AgiBot)和CocoMatrix的联合团队,题目叫《Rethinking World-Action Model for Compositional and In-Context Robotic Manipulation》,发在2026年10月的arXiv上。团队提出了一个叫ViGAR的框架,中文可以理解成"视觉目标引导的动作推理"。
在往下讲之前,先说说这个领域此前卡在哪儿。
**世界-动作模型,差的是"任务级大脑"**
过去几年,机器人操作领域有一类很火的模型叫世界-动作模型。
世界-动作模型(WAM):同时预测未来几帧画面和对应动作的模型,简称WAM。它靠海量视频数据学习"做这个动作之后世界会变成什么样",所以泛化能力很强,换个场景、换个物体它也大概知道该怎么动。
这类模型的问题在哪?它们很擅长回答"接下来0.5秒会发生什么",但完全不擅长回答"这个任务一共要分几步,现在该干哪一步"。打个比方,WAM就像一个只会看着眼前路况开车的司机,视线范围内的坑洼、红灯它都能精准应对,但你要是问它"从这儿到机场该走哪条路",它两眼一抹黑,因为它从来没被训练过去思考这种跨路段的规划问题。如果不给它装上这层规划能力,它面对多步骤任务时就只能硬套训练时见过的那条固定轨迹,场景稍微变一下就懵了。论文里有个数据很扎心:一个叫Cosmos3-Nano-RoboTwin的对照模型,用和ViGAR完全一样的训练方法,但没有显式的子目标指导,结果在随机场景测试里成功率只有22.46%,而ViGAR同样条件下做到了67.02%。差了整整44.56个百分点,相当于十个任务里,对照模型连两个都做不好,而ViGAR能做对将近七个。
那之前的人是怎么补这个洞的?
一条路是让语言模型来当"规划师",把整个任务拆成一句句文字指令,比如"先拿杯子,再叠起来,再放稳",然后扔给动作模型去执行。这个思路听起来合理,但有个致命弱点。
语言模糊性问题:用文字描述空间目标时天然存在歧义,比如"把积木叠整齐"这句话,没法精确说明积木最终该摆成什么角度、留多大间距。
你想啊,如果我让你"把房间收拾干净",这句话能对应无数种收拾结果,乱扔的衣服放衣柜还是放床上、书堆成一摞还是分类摆书架,文字永远说不清楚终点到底长什么样。但如果我直接给你看一张"收拾完"的照片,你一眼就知道该把什么放哪儿。这就是论文作者的核心洞察:视觉目标比语言指令提供的空间约束强得多。
**ViGAR的设计:先想清楚"长什么样",再想"怎么做到"**
基于这个洞察,论文把整个长时序任务拆成两件事:长期目标选择,和短期目标实现。
翻译过来就是:先搞清楚下一步该把世界变成什么样子(生成一张"子目标图片"),再想清楚怎么通过一连串动作把现在的世界变成那样子。
这两件事分别交给两个模块来做。
子目标规划器(Subgoal Planner):负责根据当前观察画面和整体任务指令,预测出下一步要达成的目标图像,记作Gθ。
子目标执行器(Subgoal Executor):接收规划器给出的目标图像,结合当前画面和整体指令,联合生成接下来几帧的画面预测和具体的机械臂动作指令,记作π_φ^WAM。
这个结构最妙的地方在于,两个模块共享同一个预训练的世界模型底座,这个底座叫Cosmos3-Nano,一个160亿参数、激活80亿的模型,采用双分支架构。
双分支架构:模型内部有两条并行的处理路径,一条叫"推理器"(reasoner),专门处理语言和语义视觉信息;另一条叫"生成器"(generator),通过流匹配(flow matching)的方式生成图像或视频,两条路径通过共享的注意力层互相交流。
流匹配(flow matching):一种生成模型训练方式,通过学习如何把随机噪声逐步"引导"成目标数据分布,类似扩散模型的思路,但数学形式更简洁。
共享同一套底座意味着什么?意味着规划"接下来要变成什么样"和执行"怎么变成那样"用的是同一套物理常识。这就好比一个厨师脑子里关于"炒菜到什么火候算好"的判断,和他手上翻勺、调温的肌肉记忆,其实都建立在同一套对食材和热量的直觉上,如果这两件事分别交给两个完全不懂彼此的人来做,规划的人画出一张"菜应该长这样"的图,执行的人却压根不懂这张图背后隐含的物理逻辑(比如这道菜现在到底该大火收汁还是小火慢炖),那执行起来必然会走偏。
**子目标是怎么被预测出来的:图像编辑的思路**
具体来说,子目标规划器被设计成一个图像编辑问题。
给定当前画面和任务指令,规划器要"编辑"出一张新图片,这张图片就是下一个子任务完成时的样子。训练时用的是流匹配目标函数,让模型学会从带噪声的图像逐渐还原出干净的目标图像。
这里有个很容易被忽略但很关键的技术细节,叫子目标前瞻规则(subgoal look-ahead rule)。
子目标前瞻规则:由于一个子任务刚结束时的画面,和下一个子任务刚开始时的画面往往长得很像,如果不做处理,模型在推理时容易把两者搞混,反复生成已经完成的那个子目标,导致机器人动作"倒退"回去重做已经做完的事。解决方法是把每个子任务最后一部分时间的训练样本,强行标注成指向下一个子目标,让监督信号在边界处保持一致。
论文里给了一个很直观的例子:机器人在叠纸杯的任务里,如果没有这条规则,模型会在刚把一个杯子叠好后,又生成"把杯子叠起来"这个已经完成的子目标图,结果机器人把刚放稳的杯子又拿起来松开,等于白做了一轮。加上这条规则之后,这种"倒退"现象明显减少。
这让我想起开车时的导航语音有时候会卡顿重复播报同一句"前方请右转",如果导航系统没有及时感知到你已经右转完成,它就会一直卡在上一个指令里,哪怕你已经开过去了。子目标前瞻规则本质上就是给机器人装了一个"别回头看已经做完的事"的提醒机制,如果没有它,机器人的任务进度会在子任务交接的瞬间原地打转,一个本该三步完成的任务可能要绕出四五步才能走出死循环。
除了时间维度的前瞻规则,论文还设计了一个空间维度的技巧,叫末端执行器区域加权(end-effector ROI weighting)。
末端执行器区域加权:机械臂真正发生操作变化的区域,通常集中在夹爪周围,而画面里大部分背景是静止不变的。如果训练时平等对待每个像素,模型的注意力会被大量无意义的背景信息稀释。于是作者把专家演示里机械臂末端的位置投影到画面上,划出一个重点关注区域,在计算损失函数时给这个区域更高的权重(前景和背景权重比例设为4:1),逼模型把"注意力"更多放在真正发生操作的地方。
这个设计解决的根本矛盾是什么?监督信号的稀释问题。想象你在教一个新手厨师颠勺,如果你只是笼统地说"看着整个厨房",他可能一半精力都耗在看墙上的挂钟、窗外的车流,真正该盯的锅和食材反而被忽略了。如果你明确告诉他"眼睛盯紧锅里",他才能把有限的注意力集中在真正重要的信息上。消融实验显示,去掉这个区域加权设计后,模型在随机场景下的成功率从67.02%掉到65.64%,看似差距不大,但如果把"前瞻规则"和"区域加权"两个设计同时去掉,成功率会从67.02%暴跌到52.40%,整整掉了14.62个百分点。
**子目标怎么"喂"给执行模块:像素级还是语义级**
另一个值得细讲的设计选择,是预测出来的子目标图像该怎么传递给负责生成动作的执行模块。
论文提出两条路线。
语义路线:把子目标图像通过视觉编码器(ViT)转换成语义token,交给推理器分支处理,这种方式传递的是经过压缩、抽象后的语义信息。
几何路线:把子目标图像直接用VAE编码器压缩成干净的图像潜变量,原封不动地喂给生成器分支,和当前画面的潜变量放在一起处理,这种方式保留了更精确的像素级空间信息。
VAE(变分自编码器):一种把高维图像压缩成低维潜变量、同时还能从潜变量重建回图像的神经网络结构,常用在图像生成模型的前处理环节。
作者最终选择了几何路线,并给出了一个消融实验来证明这个选择是对的:只用几何路线(生成器单独注入)时,平均成功率是62.17%;如果再叠加语义路线(生成器+推理器同时注入),Clean场景下的成功率提升到82.16%,但随机场景下的成功率反而从45.42%掉到41.28%。
这说明了一件挺反直觉的事:多加一条信息通道,不一定总是好事。语义路线传递的信息经过了压缩和抽象,在训练分布内的场景(也就是Clean设置)确实能帮上忙,但一旦场景发生变化(随机设置),这种抽象后的语义信息反而可能带偏模型,因为它丢失了很多精确的空间细节,而几何路线因为保留了像素级的精度,反而在陌生场景里更稳。这就像给人指路,如果你只说"往那个方向走,路口右转",在熟悉的街区这句话够用,但换到一个完全陌生的城市,这种模糊指引很容易让人走错,而如果直接给一张标注清楚门牌号和地标的照片,哪怕是陌生地方也能照着走对。
**成绩单:仿真和真机实验都说明了什么**
说了这么多设计细节,实际效果到底怎么样?
论文在RoboTwin Clean2Random这个仿真基准上做了测试。这个基准分两种场景:Clean场景布局和训练时见过的差不多,Random场景则是物体位置被随机打乱。
结果显示,ViGAR在Clean场景下成功率82.00%,在Random场景下成功率67.02%,平均成功率74.51%。对比之前最强的基线4D-WAM(Clean 81.50%,Random 41.80%,平均61.65%),ViGAR把平均成功率往上拉了12.86个百分点。
这里有个很值得玩味的现象:Clean场景下大家的成绩都差不多(都在77%到82%之间),真正拉开差距的是Random场景。这说明什么?说明当机器人只需要"复述"训练时见过的套路时,各家模型表现都还行,但一旦场景变了,需要模型真正理解"现在该干什么"而不是死记硬背,差距就暴露出来了。ViGAR领先的秘密,恰恰就是那套显式的子目标规划机制,在场景变化时能重新判断目标,而不是机械地照搬记忆。
除了最终成功率,论文还单独评估了子目标图像本身预测得好不好,用了四个指标。
LPIPS:衡量两张图片感知上的差异程度,数值越低说明预测图和真实目标图越像。
DINO余弦相似度:用DINOv2这个视觉模型提取图片的语义特征,再计算两张图特征向量的夹角余弦值,数值越高说明语义上越接近。
变化区域IoU(?IoU):对比预测图和真实图相对于输入画面"发生了哪些变化"的区域重合度,衡量模型是不是抓住了正确的变化位置。
检索准确率(RetAcc):用预测出的子目标图去检索所有候选子任务的终点图,看检索到的是不是真正对应的那个子任务,衡量模型有没有搞错"现在该完成哪个子任务"这件大方向上的事。
ViGAR在这四项指标上都拿了最好成绩,无论是仿真还是真实机器人数据。举个具体数字,仿真环境下ViGAR的LPIPS是0.13,对比基线VISTA的0.38,几乎是三倍的差距;真机环境下RetAcc达到0.76,而对比的RxBrain只有0.22。
真机实验部分,团队用了一台AgiBot A2机器人,配了两条七轴机械臂、两个手腕相机和一个正面相机。先用约900小时的遥操作数据做预训练,再在具体任务上微调。测试了五个长时序组合任务:叠纸杯、按颜色分碗、盖章交付信件、清理桌面垃圾、从竹编蒸笼里取出两层包子放到盘子上。
结果显示,ViGAR在五个任务的平均进度得分上达到0.69,对比基线π0.5的0.60和Cosmos3-Nano-Policy的0.54,都有明显优势。尤其在"取包子"这个最难的五步任务上,ViGAR的进度得分是0.42,而π0.5只有0.27,Cosmos3-Nano-Policy更低,只有0.19。步骤越多的任务,差距反而越明显,这也印证了前面说的那个道理:长链条的任务最考验的是"每一步该干什么"的判断力,而不只是单个动作执行得准不准。
**最让人意外的能力:不用重新训练,换张图就能换任务**
讲到这儿,还有一个我觉得全文最有意思的发现,叫上下文学习(in-context learning)。
上下文学习(ICL):不改变模型参数,仅通过在推理时提供额外的上下文信息,就能让模型执行一个新任务,这个概念最早在大语言模型里被广泛讨论,比如给GPT一个例子,它就能照着套路回答新问题。
论文把这个思路搬到了机器人身上,具体做法是在子目标规划器的输入里多加一张全局目标图像(global goal image),这张图展示的是整个任务最终应该变成什么样子。有意思的是,场景和语言指令完全不变,只换掉这张全局目标图,机器人的行为就会自动调整,去匹配这张新图所隐含的任务拆解方式,而且整个过程不需要重新训练模型参数。
论文设计了两个测试任务来验证这一点。水果摆放任务里,让机器人把水果放进两个托盘,具体哪种水果放几个、放哪个托盘由全局目标图决定;桌面物品收纳任务里,让机器人把桌上物品放进收纳盒,放哪些类型的物品也由全局目标图决定。
训练数据里只覆盖了有限几种摆放方式,但测试时给的全局目标图可能展示一种训练时从没见过的摆放组合,这就是分布外(Out-of-Distribution,简称OOD)设置。结果显示,ViGAR在分布内设置下平均任务进度达到77.5%,分布外设置下仍然能达到47.5%。
这个结果说明了什么?说明视觉上下文确实能引导机器人重新组合它已经学会的技能,而不是机械地重复训练时的固定套路。这就像一个会做家常菜的厨师,你给他看一张从没做过的新菜品照片,他能靠已有的刀工和调味经验,大致拼凑出一个接近的做法,虽然不一定完美,但确实不是照着菜谱死记硬背出来的。如果没有这种基于视觉目标的灵活组合能力,机器人碰到训练数据里没出现过的任务组合,大概率只会死板地执行它最熟悉的那套固定动作,完全不会理会眼前这张新图片到底要求什么。
论文里也提到,之前的机器人上下文学习研究,比如Zero-WAM和HOST,通常是给模型一段人类演示视频,让机器人学"怎么做"这个过程本身。而ViGAR走的是另一条路,只给终点状态的图片,不展示过程,让模型自己去推断该怎么拆解步骤、怎么执行。这个区别听起来细微,但意味着ViGAR提供的上下文信息密度更低,对模型的推理能力要求反而更高,这也是为什么分布外设置下效果会打折扣的原因。
Q&A
Q1:ViGAR是什么?
A:ViGAR是北京大学、智元机器人和CocoMatrix团队提出的机器人操作框架,全称是视觉目标引导的动作推理,它把复杂的多步骤机器人任务拆成两步:先预测下一步该完成的视觉目标图像,再根据这张目标图生成具体的机械臂动作。
Q2:ViGAR和普通的世界-动作模型有什么区别?
A:普通世界-动作模型只能预测接下来短时间内会发生什么,缺少对整个任务该怎么拆分步骤的规划能力。ViGAR额外加了一个子目标规划器,专门负责想清楚"下一步该把场景变成什么样",再交给执行模块去实现,这样在场景变化较大时表现明显更稳定。
Q3:ViGAR的上下文学习能力具体是怎么实现的?
A:只需要给子目标规划器提供一张全局目标图像,不改变模型任何参数,机器人就会根据这张图自动调整任务拆解方式和动作顺序,哪怕这种任务组合在训练时从未出现过,也能有将近五成的完成度。







