这项由英伟达(NVIDIA)、密歇根大学(UMich)、伊利诺伊大学厄巴纳-香槟分校(UIUC)、加州大学伯克利分校(UC Berkeley)以及卡内基梅隆大学(CMU)联合开展的研究,以预印本形式发布于2026年6月30日,论文编号为arXiv:2607.00272。感兴趣的读者可以通过该编号在arXiv平台查阅完整论文。

假设你刚刚来到一家新公司,第一天上班什么都不懂,做什么都要从零摸索,每次失败只知道"没做好",却不知道具体哪个环节出了问题。等到第一百天,你还是一无所知——因为公司规定每天下班时必须把所有经验清空,第二天重新开始。这听起来像是噩梦,但这恰恰是过去机器人控制程序面临的真实处境。

现在这支由多所顶尖机构研究人员组成的团队,提出了一套名为**ASPIRE**(Agentic Skill Programming through Iterative Robot Exploration,即通过迭代机器人探索实现智能体技能编程)的系统,试图从根本上改变这一局面。简单来说,ASPIRE让机器人程序能像一位经验丰富的老工程师一样,不仅能自己发现问题、修复问题,还能把每次修复的经验"记在本子上",下次遇到类似情况直接翻出来用,而不是每次都从零开始想。

---

一、机器人编程为什么那么难?老问题在哪里

要理解ASPIRE为什么重要,得先弄清楚机器人编程究竟难在哪里。

教一台机器人完成一项任务,本质上是在写一份极其精密的"操作手册"。这份手册需要告诉机器人:怎么用摄像头识别面前的物体,怎么规划手臂的运动路径,怎么在不捏碎也不滑落的情况下抓住一个杯子,怎么在遇到障碍时换个方向,怎么把一系列动作按顺序串联起来完成复杂任务。任何一个环节出了问题,任务就会失败。

然而过去的机器人程序员面临一个根本性的困境:当机器人失败的时候,系统只会告诉你"任务没完成",却不告诉你是因为眼睛没看清楚物体、还是手臂路径规划出了错、还是抓取姿势不对、还是多步骤协调断裂。就像一个厨师做了一道菜,顾客只说"不好吃",但不说是咸了、淡了、火候不够还是食材不新鲜——厨师该从哪里改起?

更糟糕的是,哪怕这次好不容易摸清楚了问题并修好了,下一个任务来了,这些宝贵的修复经验统统不会被保存下来。下一个任务还是要重新摸索,哪怕问题的根源和上次几乎一样。研究团队把这个现象形容得相当生动:解决第一百个任务的机器人代理,实际上和解决第一个任务时一样没有经验。

人类工程师解决问题的方式完全不同。当他们遇到一个失败的机器人程序,会重放执行过程,检查每个步骤的输出,找出是哪个子系统出了问题,修复它,然后把这次学到的经验内化成可以跨任务使用的通用知识——比如"遇到这类障碍时,要换个方向靠近",比如"抓圆柱体的时候,夹爪方向要和物体长轴对齐"。随着经验积累,工程师解决新问题的速度会越来越快。

ASPIRE的设计核心,正是把这种"人类老工程师"的工作方式复刻到机器人系统中。

---

二、ASPIRE的三件法宝:诊断、积累、进化

ASPIRE系统由三个紧密配合的部分构成,就像一支精干的修理队伍:有人负责拆开机器找毛病,有人负责把修理经验记进手册,有人负责提出各种不同的修理方案。

**第一件法宝:让机器人的"失败报告"变得细致入微**

传统系统反馈失败时,就像医生只告诉你"你病了",却不告诉你是哪里出了问题。ASPIRE引入了一个"机器人执行引擎"(Robot Execution Engine),让每一个基础操作步骤都留下详细的记录,包括这一步用了哪个功能、输入了什么、输出了什么、返回了什么状态,还有对应时刻的视觉图像、物体位置、夹爪候选姿势、运动规划结果等等。

这就好比把整个修车过程用高清摄像机记录下来,而且每拧一颗螺丝都有文字记录:几点几分、用了几号扳手、扭矩是多少、螺丝有没有拧到位。出了问题,工程师能精确找到是第几步、哪个操作出了什么错,而不是只知道车最后没修好。

代理(这里可以理解为一个能读懂这些记录并写修复代码的AI)拿到这些详细记录后,可以像侦探一样逐步缩小问题范围:是视觉识别步骤没找到物体?是找到了但规划路径时遇到了障碍?是路径没问题但抓取姿势不对?每一步都有据可查,诊断变得有的放矢。

论文中给出了一个非常具体的例子:机器人需要在一个复杂家庭环境中找到并捡起一台红色收音机。执行过程中,视觉识别成功找到了收音机,但机器人反复尝试靠近时都报错——规划系统提示路径规划失败(PLANNING_ERROR)。如果没有细粒度的执行记录,你可能以为是识别出了问题,或者抓取姿势不对。但执行引擎的记录清楚地显示:识别完全没问题,路径规划失败的原因是机器人要站的目标位置距离桌子边缘太近,正好在碰撞避免的缓冲区内,导致规划系统认为那个位置不可达。

找到了真正的病根,修复方案就变得简单直接:与其死磕同一个方向靠近,不如绕着物体尝试不同角度——正面靠近不行,就试试绕到侧面,或者绕到背面,找到一个不在障碍物缓冲区内的位置。修复后的程序试了正面(失败)、再试左侧(失败)、再试背面(成功),机器人顺利完成了任务。

**第二件法宝:把每次修复经验变成可重用的"技能卡片"**

修复了一个问题之后,ASPIRE不会让这次经验白白浪费。系统会把验证有效的修复方案提炼成一张"技能卡片",储存进一个持续增长的"技能库"。

每张技能卡片上记录的内容很具体:什么情况下会触发这个问题(失败的特征)、这个技能适用于什么场景(使用条件)、具体的修复策略是什么,以及一段可以直接参考的示例代码。拿上面那个收音机的例子来说,提炼出来的技能卡片大意是:当路径规划器对靠近物体的目标位置频繁返回失败(因为目标点在障碍物的碰撞缓冲区内)时,应当尝试绕着物体旋转靠近方向,45度、90度、180度依次尝试,每个角度都对应物体的一个不同侧面,其中至少有一侧通常是畅通的。

技能库储存的内容涵盖各种类型:有关于如何识别场景中特定物体的提示策略,有关于多个相似物体时如何区分前后左右的空间推理方法,有关于不同形状物体(圆柱体、扁平物体、细长物体)的抓取姿势建议,有关于运动规划失败时的恢复策略,有关于复杂任务调试流程的工作流。这些技能并非事先由工程师手工写好的,而是完全从机器人实际失败和修复的经历中自动归纳出来的。

这张技能库就像一本不断扩充的经验手册。当系统遇到新任务时,会先翻翻手册,看有没有类似的情况处理过;如果有,直接用现成的经验,大大减少重新摸索的时间。随着处理的任务越来越多,手册越来越厚,新任务的解决速度也会越来越快。

**第三件法宝:不只修一条路,同时探索多种可能**

光靠沿着单一方向一步步修复,很容易陷入"死胡同"——把同一种失败的策略反复修来修去,却始终没有跳出这个框框,尝试完全不同的解决思路。

ASPIRE引入了一个"进化搜索"(Evolutionary Search)机制来解决这个问题。每一轮迭代中,系统不是只写一个修复方案,而是同时生成多个(记为K个)候选方案,每个方案测试不同的假设。所有候选方案都在执行引擎中实际运行,得到各自的执行结果和诊断记录。然后,系统选出表现最好的几个方案,以它们为基础,结合剩余的失败信息,生成下一轮新的候选方案,如此循环,直到某个方案成功,或者达到预设的搜索预算上限。

这就像是组织了一场"修理马拉松":不是派一个工程师反复尝试,而是同时派出多个工程师,每个人有自己的假设和思路,跑完一轮之后大家汇报结果,再从幸存者中发展出下一代方案。这样大大增加了找到真正有效解决方案的概率,尤其是对于那些单一路径修复始终卡住的疑难任务。

---

三、整体架构:协调者与执行者的分工

ASPIRE在系统层面采用了"协调者-执行者"的架构设计。协调者(Coordinator)就像一个项目经理,负责管理共享的技能库,把具体的任务分配给各个执行者(Actor)代理,并在每个任务完成后从执行者的报告中提炼有价值的模式,更新到技能库中。每个执行者则是一个编码代理,专注于解决自己手头的单一任务,利用执行引擎提供的细粒度记录来诊断、修复、验证程序,最终向协调者汇报发现和有潜力跨任务复用的修复模式。

执行者之间不直接交换对话历史或完整的执行轨迹,只通过技能库传递有用的知识。这样做的好处是:每个执行者的工作窗口始终聚焦在当前任务的具体信息上,不会被其他任务的噪音干扰;而有价值的知识则以浓缩、精炼的形式沉淀到技能库中,供所有人使用。

整个系统使用Claude Code(Anthropic公司的编程代理)搭配Claude Opus 4.6模型,拥有100万词元(token)的超长上下文窗口,负责读取执行记录、编写修复代码、提炼技能模式。机器人控制程序的编写框架使用的是基于MuJoCo Playground物理仿真引擎的CaP-X框架。

---

四、实验验证:在三类基准任务上全面测试

研究团队在三大类机器人操作基准任务上对ASPIRE进行了系统评估,测试范围从简单的单步抓取到需要在家庭环境中导航并完成多步操作的长序列任务。

第一类是LIBERO-Pro任务集,专门测试机器人程序对干扰的鲁棒性。任务被设计成在不同扰动条件下执行:一种是物体位置扰动(每次运行时物体摆放位置都有所不同),另一种是任务描述扰动(用不同的语言表达同一个任务目标)。测试涵盖三个子套件(LIBERO-Object、LIBERO-Goal、LIBERO-Spatial),每个套件包含10个任务,每个任务用50个随机种子评估。

与此前最强的对比基线CaP-Agent0相比,ASPIRE在"物体位置+任务描述"两个扰动轴上的综合成功率从约18%提升到了72%。在物体位置扰动下,成功率从22%跃升至98%;在任务描述扰动下,成功率从18%提升至95%。LIBERO-Object套件的提升最为显著,平均提升了77个百分点。与端到端视觉语言行动(VLA)策略相比,无论是OpenVLA、π0还是π0.5,在所有扰动条件下的成功率均接近于零,ASPIRE的表现远超这类方法,甚至在多个任务上超过了由人类专家手写的程序。

第二类是Robosuite任务集,测试接触丰富的单臂和双臂操作任务,包括积木抬起、积木堆叠、钉子装配、桌面擦拭,以及双臂协作的物品传递和协同抬升。每个任务用100次随机试验评估。在单臂任务上,ASPIRE与对比基线旗鼓相当,在已经接近满分的任务上保持了同等水平。真正令人印象深刻的提升发生在双臂物品传递任务上——这个需要两只机械臂精确协调的任务,基线方法只能完成20%,而ASPIRE将其提升到了92%。

第三类是BEHAVIOR-1K任务集,测试长序列家庭移动操作任务。机器人需要在复杂的家庭环境中自主导航,找到目标物体并完成拾取。研究团队选取了两个代表性任务:导航并捡起苏打水罐(Nav & Pick up Soda Can)和导航并捡起收音机(Nav & Pick up Radio)。测试种子为前25个,ASPIRE使用种子26-35进行学习,评估时采用分块执行方式(每次生成下一步代码块)。ASPIRE在导航成功率和任务完成率上均超过了人类专家程序和CaP-Agent0基线。收音机任务的任务完成率从基线的56%提升至88%,导航成功率从80%提升至100%。

---

五、技能可以"跨任务旅行":零样本迁移实验

ASPIRE最令人振奋的能力之一,是它积累的技能库可以直接迁移到从未见过的新任务上,无需额外的调试或训练。

研究团队设计了一个专门的迁移实验:让ASPIRE在LIBERO-90(包含90个短序列任务)上积累技能,然后把技能库直接应用到更难的LIBERO-Pro Long长序列任务上,期间不做任何额外调试或任务特定的技能更新。

结果显示,当技能库为空时(即N=0,完全没有任何先验技能),在位置扰动条件下成功率为0%,在任务描述扰动下约为9.4%。随着技能库容量增加(N=25对应25个任务的技能,N=50对应50个,N=90对应全部90个),成功率呈单调上升趋势。在使用全量90个任务的技能库(N=90)时,位置扰动下成功率达到22.6%,任务描述扰动下达到38.3%,综合成功率约30.5%。对比基线CaP-Agent0在同样测试集上的综合成功率约为3.8%,π0.5约为5%。

这意味着ASPIRE从较简单任务中学到的修复经验,真的能够帮助它更好地应对从未遇到过的、更复杂的长序列任务——技能库就像积累了足够多人生阅历的老工程师,即使面对全新问题,也能从已有经验中找到有用的切入点,而不是完全两眼一抹黑。

不过研究团队也观察到,成功率并非在所有任务上都单调提升,某些任务随着技能库增大反而出现了波动。这说明技能库并不是越大就越好,随着条目增多,部分技能可能变得过时、过于任务特定、相互矛盾,或者对当前新任务具有误导性,如何管理和优化技能库仍然是一个值得深入研究的问题。

---

六、技能可以"跨越身体界限":从仿真迁移到真实机器人

仿真中学到的东西,在真实世界里还好用吗?研究团队做了一组初步实验来回答这个问题。

他们在Franka机械臂仿真中积累的技能库中,选出了三个有代表性的技能:把碗放到盘子上(精确放置)、抬起苏打水罐(细长圆柱物体的抓取)、推拉抽屉(接触式操控)。然后把这三个技能作为"上下文指导"提供给另一套真实机器人系统——一台使用YAM平台的双臂真实机器人,配备了完全不同的硬件和不同的编程接口。

实验分两组对比:一组让真实机器人编程代理在有技能指导的情况下工作,另一组没有技能指导纯靠自主调试。衡量指标包括:在调试成功之前消耗的token数量(可以理解为"思考和工作的成本"),以及最终在20次测试中的成功率。

碗放盘子任务:有无技能指导成功率均为20/20,但有指导时总token消耗从865万降至511万,省了约41%。苏打水罐抬取任务:无技能指导成功率13/20,有技能指导成功率19/20,同时总token消耗从6194万骤降至658万,下降了近90%。推拉抽屉任务:无技能指导在消耗了33491万token的预算后依然没能成功(成功率0/20),有技能指导时成功率达到11/20,token消耗降至8167万。

这个结果说明:仿真中发现的技能,提炼的是解决问题的通用策略,而非特定于仿真环境或特定硬件的代码片段,因此能够跨越不同机械臂、不同软件接口,在真实物理世界中仍然提供有效的指导。

当然,研究团队也承认,这次真实机器人实验的规模还很有限,只测试了三个任务,而且仍然需要真实机器人的执行引擎和程序自动调试,并非直接把仿真程序搬到真实机器人上一键运行。

---

七、系统中各组件各自贡献了多少?

为了弄清楚ASPIRE的哪个部分最关键,研究团队做了一组消融实验——通俗地说,就是把某个零件拆掉,看整体性能下降了多少。

基准线(既没有执行引擎细粒度记录,也没有进化搜索,只有零样本LLM生成程序)在LIBERO-Pro所有任务上的平均成功率约为14%。仅加入细粒度执行引擎(包含技能库支持)后,成功率跃升至约62%,提升了48个百分点——这是两个组件中贡献最大的一个。在此基础上再加入进化搜索,成功率进一步提升至约72%。换句话说,细粒度的失败诊断是最核心的能力,进化搜索则在此之上锦上添花,帮助攻克剩余的难题。

关于进化搜索的轮次效果,研究团队还追踪了低成功率任务在每轮迭代中的平均成功率变化。前几轮迭代的提升最为明显,说明多样化假设快速覆盖了单路径调试容易错过的方案空间;之后随着轮次增加,提升逐渐趋于平稳,呈现出典型的收益递减曲线——继续搜索仍然有帮助,但边际收益在缩小。

---

八、ASPIRE的局限与未来路在何方

研究团队对系统的局限坦诚相告,这也让整个研究显得更加可信。

首先,尽管仿真技能初步显示出对真实机器人的迁移潜力,ASPIRE目前还不是一个能在真实世界中完全自主持续学习的系统。在仿真里,任务成功的判断和场景重置是自动化的、廉价的;但在真实世界里,还需要鲁棒的成功检测机制、安全的场景重置流程、持续的安全监控和传感器标定维护,这些都还需要进一步工程化。

其次,整个系统依赖Claude Opus 4.6这样的顶级大语言模型来解读多模态记录、编写修复代码、提出进化搜索候选方案。研究团队尚未验证更小、更弱的模型能否维持同等质量的调试循环。这意味着目前的计算成本相当高昂。

第三,ASPIRE是在一套预定义的感知、规划和控制基础功能接口上工作的。这套接口使调试变得可控且安全,但同时也限制了系统能够表达的行为范围——如果某个任务需要接口之外的感知或控制能力,系统就只能勉强近似,或者依赖人工扩展接口。

第四,技能库的长期管理问题还没有根本解决。随着条目增多,部分技能可能变得陈旧、过于特化、冗余甚至相互矛盾。目前系统没有完善的技能检索排序、冗余剪枝和周期性重新验证机制,这在一定程度上解释了零样本迁移实验中技能库增大后部分任务出现的非单调现象。

最后,进化搜索循环本身消耗大量LLM调用和仿真运行次数,在任务规模扩展时成本会显著增加。未来需要更便宜的LLM推理方案、更高效的搜索策略,或者更强的先验经验复用机制,才能经济地扩展到数千个任务规模。

---

归根结底,ASPIRE做的事情,是把人类工程师积累经验的方式系统化、自动化地赋予了机器人控制程序。它不靠天赋,靠的是"把每次失败都看得清清楚楚、把每次成功都记得明明白白、把每次探索都走得多条路并行"这三件事的组合。

对普通人来说,这意味着未来的家庭服务机器人、工厂操作机器人,不再需要为每一种场景都从头编写专用程序,而是能够从已有经验中不断汲取养分,越用越顺手。当然,从实验室的阶段性成果到能真正在每个家庭稳定运行,还有很长的路要走。但这个研究至少告诉我们,"让机器人自己攒经验"这件事,在技术上是可行的,而且已经有了相当可观的早期成果。

有兴趣深入了解技术细节的读者,可以通过arXiv编号2607.00272查阅完整论文,英文原文包含了详细的实验数据、技能库示例和系统提示词完整版本。

---

Q&A

Q1:ASPIRE技能库里的技能是人工写的还是自动生成的?

A:ASPIRE技能库中的技能完全是系统在解决任务过程中自动归纳出来的,而非人工预先写好。每当机器人代理诊断出一个失败原因并成功修复后,协调者会审核这次修复的通用性,只把那些有可能在其他任务中复用的修复模式提炼成技能条目,存入共享技能库,供后续任务直接参考。

Q2:ASPIRE和传统机器人学习方法有什么本质区别?

A:传统端到端视觉语言行动模型(如π0、OpenVLA)是通过大量示范数据训练出固定策略权重,一旦训练完成就不能自主修改;传统代码即策略方法可以写程序但不积累经验。ASPIRE的核心区别在于:它把每次执行的细粒度过程记录下来用于精准诊断,并且把修复经验以可复用技能的形式持久化保存,让系统随任务增多而持续改进。

Q3:ASPIRE在真实机器人上表现怎么样?

A:研究团队在一台双臂YAM真实机器人上测试了三个技能:碗放盘子、苏打水罐抬取和推拉抽屉。使用仿真中积累的技能作为指导后,苏打水罐抬取成功率从13/20提升至19/20,推拉抽屉从完全失败(0/20)提升至11/20,且调试过程消耗的计算资源大幅减少,最多降低了约90%。但这仍是初步实验,规模较小,真实世界的全面自主学习还需要进一步研究。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐