不改模型、不重训,只挪走一个水瓶:StageCraft 把 VLA 的成功率抬了 40 个百分点
IROS 2026 上有篇论文的思路反着来:模型不动、策略参数不改,只在任务开始前把环境里那几个「可能是失败原因」的物体挪开,真机平均成功率就抬了约 40 个百分点。真正值钱的是作者对「为什么只做最小干预」的解释——改得越多,越可能引入新的失败。
本篇目录
- 方法反着走:StageCraft 不重新训练模型、不改动策略参数,只调整环境的初始状态,用视觉语言模型(VLM)推理出可能导致失败的物体,移除最小规模的干扰物集合。
- 真机提升约 40 个百分点:在存在干扰物的复杂场景下,任务平均成功率提升约 40 个百分点;测试任务为叠杯子、餐盘摆放、积木入碗三项。
- 两个 VLA 对照:论文使用了 Pi0.5(较强)与 SmolVLA(较弱)。干扰物增加到 5、6、7 个时,Pi0.5 才开始失败——干预只在必要时发生。
- 推理机制是蒙特卡洛思路:让 VLA 在不同环境里多次执行,结果标签由人提供,VLM 在上下文中推理哪些物体与失败相关,再把环境拆成物体集合,定位最小相关集。
- 作者自己划了边界:如果失败是模型能力问题(比如要抓一个很难抓的物体),调整环境帮不上忙;StageCraft 只处理由环境引起的失败。
- 判断:这套思路对交付方的价值高于对研究者的价值——它把「泛化不够」这个抽象问题,拆成了一个可以放在任务开始前执行的环境预检步骤。
主流做法在改模型,这篇论文在改桌子
VLA 模型在真实工作台上遇到训练分布之外的干扰物、或遭遇物理遮挡时,任务成功率会大幅下降。行业里的标准应对是重采数据、微调模型。StageCraft 给的答案是第三条路:不重新训练模型,不改动策略参数,只调整环境的初始状态。
按作者 Prabin Rath 在访谈里的说法,策略失败有两种。第一种是模型本身没有能力控制机器人完成任务——比如需要灵巧操作、要拿起一个很难抓的物体,这属于技能问题,「这种情况下调整环境也帮不上忙」。第二种失败由环境引起:策略本来已经具备完成任务的能力,只需要对环境稍作调整,任务对它就会容易一些。
不是「看着碍眼就挪」,是蒙特卡洛估计出的最小集合
系统遵循蒙特卡洛估计的思路:让 VLA 在策略可能遇到的不同环境里运行多次,有些成功有些失败,结果标签由研究者提供;VLM 作为推理主干查看这些执行记录,在上下文中推理环境中的哪些物体可能与失败相关。
积累足够样本之后,提示词中的算法会把环境拆分成不同的物体集合,再在这些集合里寻找与失败相关的最小物体集合。作者举的例子很直观:如果水瓶出现在摄像头前时策略总是容易失败,VLM 就可能推断水瓶与更高的失败概率相关,并建议移走水瓶,或把它挪到干扰较小的位置。
关键在于「最小」这两个字。系统在干预时可能影响任务本身涉及的物体——叠杯子任务里,杯子就是任务物体。对环境改动越多,引入新失败的可能性就越大。
40 个百分点是平均值,这个「平均」要拆开看
真机实验给出的数字是:在存在干扰物的复杂场景下,该方法将机器人任务平均成功率提升约 40 个百分点。测试场景涵盖叠杯子、餐盘摆放、积木入碗三项典型操作任务。
这里有一条必须写明的边界:40 个百分点是三项任务的平均值,论文与访谈都未给出每项任务各自的提升幅度。三项任务里,叠杯子与积木入碗对遮挡的敏感度显然不同,餐盘摆放又是另一种几何结构。平均值好看,但无法判断提升是均匀分布的,还是由某一项撑起来的。
Pi0.5 能扛五个干扰物,那就不动环境
论文里一个很实用的设计是强度自适应。SmolVLA 相对较弱,Pi0.5 更强、能够在有更多干扰物的情况下工作。当干扰物增加到五个、六个或七个时,工作空间变得非常杂乱,只有到那时才看到 Pi0.5 开始失败。
作者的表述很克制:「如果它本来就能应对一两个干扰物,我们又何必动环境呢。」并且明确说了未来方向——如果 VLA 变得更强、不再受干扰物影响,StageCraft 就应该相应调整、不做任何环境改动,它应该能判断出底层 VLA 已经足够有能力。
把「泛化不够」翻译成一个可执行的前置动作
这套方法对研究者的意义是一篇 IROS 论文;对做交付的团队,它的意义是一道工序。
还有一个容易被忽略的前提:这套方法成立的场景是「策略本来有能力,只是环境添了乱」。如果现场失败属于技能问题,整理环境是白费力气。所以第一步其实是分类——先看失败是环境型还是能力型,再决定用不用这套工具。