Token导航 LogoToken导航

AI 资讯 · 科技行者

机器人抓咖啡杯失败十次的原因分析

更新 2026-11-02科技行者正文 6455字阅读约 21分钟

你有没有想过一个问题:为什么机器人学会拧开一个瓶盖,比学会下围棋还难?

围棋虽然复杂,但规则是固定的,棋盘是离散的,一个落子点要么对要么错。可拧瓶盖呢?瓶子摆放的角度每次都不一样,你的手指要先感受到阻力再调整力度,拧到一半发现盖子有点歪还得重新对齐。这些动作背后的决策,密密麻麻地嵌在你根本不会意识到的肌肉记忆里。

这正是机器人智能体现在面临的核心难题。2026年,一群来自KAIST和首尔大学的研究者发布了一篇论文,提出了一个叫做RobotUse的机器人智能体框架,试图解决一个听起来简单、做起来极其棘手的问题:当机器人用语言大模型来做决策时,到底哪些决定应该交给大模型去"想",哪些应该交给执行系统去"做"?

这个问题的答案,决定了机器人到底是真的在学习,还是只是在装模作样地学习。

### 当代码把选择权偷走了

先说说现在主流的机器人智能体是怎么工作的。

一种做法叫"代码即策略"

代码即策略(Code as Policies):让大语言模型直接生成可执行的程序代码,去调用感知、抓取、控制等接口完成机器人任务

。听起来挺酷,大模型写代码,代码控制机械臂抓东西。但问题来了:如果代码里有一行"sample_grasp_pose(红色方块)",这个函数内部会自动算出一个抓取点和姿态,那么大模型其实根本不知道机器人会怎么抓这个方块。它只是喊了一嗓子"去抓那个红方块",具体怎么抓、抓哪个面、什么角度切入,全都被这行函数调用悄悄吞掉了。

这就好比你让一个新来的实习生去"处理一下这批文件",但你从没告诉他哪些文件该归档、哪些该销毁,他全凭自己瞎猜。出了问题你想复盘,却发现连实习生自己都说不清当初是怎么做的决定的,因为这个决定压根没经过他的大脑,是某个黑箱系统自动完成的。

那把这个函数展开,把感知、分割、抓取打分这些步骤全部变成显式代码,是不是就解决问题了?

研究者们发现这招也不好使。论文里给出了一个很扎心的例子:即便你把抓取计算过程完全展开成一行行可见的代码,代码里往往还是写着"选分数最高的那个抓取候选"(best_idx = np.argmax(scores))。表面上看起来透明了,可以一行行读,但真正的选择权,还是埋在打分规则里,大模型依然没有置喙的余地。这就像把黑箱打开给你看,结果里面是另一个黑箱。

论文管这个叫做"delegating execution while retaining decisions"的悖论:你想把繁琐的几何计算甩出去,但又不想把真正重要的决定权一起甩出去。这两件事绑得太紧了,很难拆开。

另一种做法是直接用高层技能模块,比如SayCan那种,让大模型挑选"开门"、"拿杯子"这种预设动作。但这又走向另一个极端:技能内部到底是怎么抓的、抓偏了怎么调整,这些统统被封装起来,大模型完全看不到,更别说去修正了。

这两种设计方式的共同毛病是:失败之后,机器人自己都搞不清楚问题出在哪个环节。是目标选错了?角度不对?还是接触点出了问题?没有人知道,因为决策链条断裂了。

### RobotUse的解法:把选择权还给图像

RobotUse的核心思路说起来不复杂,把"选哪个抓取候选"、"抓取姿态怎么摆"这些具体的物理选择,直接暴露成可以在图像上点选和调整的动作,而不是藏在某个打分函数里。

论文里给出的对比图特别直观。同样是抓一个红色方块,传统做法是调用一个黑箱函数直接拿到坐标;RobotUse的做法是,先把场景拍下来,分割出候选抓取点,一个一个列出来给智能体看,智能体选中一个之后还能看到抓取预览图,侧面视图、顶部视图、闭合平面视图,一应俱全,然后还可以微调横滚角、俯仰角、偏航角,调整完再确认执行。

这种设计有个专门的说法叫"意图导向的智能体框架"

意图导向(Intent-based):智能体负责表达和修正"想做什么"这个层面的意图,具体的几何计算、路径规划、底层控制则完全交给执行后端处理

。用论文里的公式表达就是,智能体选择一个规格说明(specification),后端根据这个规格生成实际的运动轨迹。智能体不用管逆运动学怎么解,不用管路径插值怎么算,它只需要负责指出"我要这样抓"、"抓歪了往这边挪一点"。

这里可以做一个类比,想象你在网购时挑选快递柜的取件码。你不需要知道快递公司内部的分拣算法是怎么把包裹从仓库运到柜子里的,那是物流系统该操心的事。但取件码这个"选择"必须留给你,因为只有你知道自己要取的是哪一个。如果快递公司擅自帮你"优化"了取件码,你很可能永远取不到自己的快递。RobotUse做的事情本质上一样:几何计算这种纯粹的"怎么实现"问题交给后端,但"要实现什么"这个关键选择必须留在智能体手里,留在它能看见、能调整的地方。

如果不这样设计会怎样?论文用CaP-X做了对比实验,在一个"拿起黄油盒放到葡萄干盒子上"的任务里,CaP-X连续写了11段代码,前9段和第11段代码执行阶段就直接报错,第10段运行起来了,机械臂倒是动了,但压根没把盒子提起来。更尴尬的是,它用来定位物体的指向工具,是靠物体名字去查找坐标的,结果"黄油盒"和"葡萄干盒"这两个名字对应的坐标点,全都落在了葡萄干盒子上。而RobotUse面对同样场景,三次尝试全部成功,因为它是让智能体亲眼在图片上确认"这是哪个盒子",而不是依赖一个可能出错的名字匹配。

### 任务交接:详细的争吵留在小房间里,重要的结论带出来

光有可视化操作接口还不够。机器人干活经常要试好几次才能成功,一次抓取失败了,调整,再试,再调整,这个过程会产生大量琐碎的中间信息。如果这些信息全部堆进主智能体的对话记录里,用不了几个回合,上下文就被挤爆了。

RobotUse的解决办法是引入"子智能体"

子智能体(Subagent):由主智能体临时委派、专门负责执行某个具体子目标的辅助智能体,拥有独立的对话上下文,任务完成后只返回一份简要报告,而不是把全部交互细节都带回去

这个设计的逻辑是:详细的观察、候选选择、失败重试这些细碎过程,全部留在子智能体自己的"小房间"里,主智能体只需要知道结果,成功了还是失败了,为什么,现在场景变成什么样了。

这让我想起一个很常见的职场场景:你让团队里的某个同事去跟进一个具体问题,比如和供应商谈判价格。你不需要知道他们来回发了多少封邮件、打了几通电话、中间经历了哪些拉扯,你只需要一份简洁的结果汇报:谈成了,降价多少,还是没谈成,卡在哪个条款上。如果这位同事把每一封往来邮件都转发给你,你很快就会被淹没在细节里,反而抓不住真正该关心的重点。更麻烦的是,如果没有这个"只汇报结果"的机制,下次你再交代新任务时,整个对话记录里混杂着无关的谈判细节,你自己的判断力也会被这些噪音拖累。

论文的实验数据印证了这个设计的价值。研究者对比了"有子智能体委派"和"单一智能体包揽一切"两种情况,在120个任务场景下测试。结果显示,不做任务委派的单一智能体,平均每次调用的输入长度暴涨到RobotUse的4.2倍,单次调用的峰值输入涨到3.5倍,整个任务下来消耗的token总量涨到4.9倍,API调用成本涨到2.4倍。更要命的是,任务成功率不升反降,从45%掉到了40.8%。

这个结果有点反直觉。按理说信息越全面,决策应该越准确才对,为什么把所有细节都塞进上下文反而让智能体表现更差?原因可能在于,过多无关的中间过程会稀释真正重要的信息,智能体要在一堆噪音里大海捞针地找出哪些信息和当前决策相关,这件事本身就会消耗推理资源、增加犯错概率。简洁的报告反而是一种信息提纯,把噪音先过滤掉,留给主智能体的是已经消化好的结论。

### 持续学习:一本会自己写笔记的操作手册

机器人干活难免出错。关键问题是,错误能不能变成下次做对的养分?

RobotUse给出的答案是建立一个"持续演进的操作手册"

Playbook(持久化操作手册):一份随着执行经验不断更新的指导文档,记录"什么情况下用什么策略有效"、"遇到什么失败该如何排查",但不涉及修改模型参数或底层执行代码

。每一轮任务结束后,有一个叫"精炼器(Refiner)"的角色会去翻看主智能体这一轮的所有决策记录,委派了什么子目标,收到了什么报告,然后从中总结经验,更新到操作手册里。

这个机制最打动我的地方是,它完全不碰模型参数,也不改动机器人的底层控制代码。它改的只是一份文字指南,有点像老员工留给新人的交接笔记,不涉及公司系统架构的任何调整,但却能实实在在地提升新人的工作表现。

论文里给了几个非常具体的例子。第一轮测试里,智能体会在执行过程中搞丢任务目标,比如本来要抓三个物体,抓着抓着就忘了还剩几个没抓。这个问题被记录进手册后,第二版操作手册里加上了"建立目标清单"的要求,把物体数量、顺序、相互关系都列成清单,全程核对。另一个例子更有意思,智能体一开始把"前面"理解成屏幕上朝向摄像头的方向,结果把方块放到了摄像头那一侧,而任务真正想要的"前面",是指机器人基座坐标系里的前方。这个失败案例被记录后,手册里明确加上了"方向词必须按机器人坐标系理解,而不是按屏幕画面理解"的规则。

还有一个更微妙的案例,一个"把三个方块拆成分散状态"的任务,智能体执行了几步之后就自己宣布任务完成,但实际上原来的堆叠位置还残留着两个没拆开的方块。这个失误教会了手册一个新规则:宣布任务完成之前,必须回头重新检查一遍原始位置,确认没有残留结构。

这套机制运转起来之后,效果是看得见的。在40个任务的测试集上,连续四轮手册迭代,成功率从47.5%一路爬升到55%,这还是在完全没有改动模型本身、没有重新训练任何参数的前提下。

这里可以用一个类比来理解这种学习方式的特别之处。想象一个连锁餐厅的操作手册,它不会因为某个服务员上错了一道菜,就重新培训所有员工的厨艺,而是在手册里加一条"上菜前务必核对订单编号"。这条新规则对所有店员都生效,而且不需要动一兵一卒去改变后厨的烹饪设备和流程。如果没有这种机制,每次出错都只能靠员工个人长记性,经验没办法沉淀成团队共享的制度,下一个新来的员工还是会在同一个坑里摔一跤。RobotUse的操作手册扮演的正是这个角色,让经验变成可传承、可复用的文字资产,而不是随着某次执行结束就烟消云散的个人记忆。

更惊艳的是真实机械臂上的测试。研究者用一台Franka Panda机械臂,先让RobotUse学会"抓起方块放进托盘"这个任务,反复试错直到第一次成功,然后把这份操作手册原封不动地带到下一个任务,"把一个方块叠在另一个方块上"。结果,凭借之前积累的经验,这个新任务第一次尝试就成功了。再往下一个任务,按按钮,第一次失败,手册再做一次微调,第二次就成功了。手册冻结之后,在每个任务上分别又做了25次独立测试,全部成功。

对比组是经过专门微调训练的π0.5和Cosmos 3模型。在"抓取放置"任务上,π0.5成功率68%,Cosmos 3是92%,RobotUse做到了100%。在"方块堆叠"任务上,π0.5只有20%,Cosmos 3是80%,RobotUse依然是100%。按按钮任务上,π0.5是40%,Cosmos 3是88%,RobotUse是100%。这几组数字放在一起看,说明单纯依靠操作手册的经验积累,在某些场景下甚至能超过专门针对硬件做了微调训练的模型,而且代价要小得多,不需要重新训练任何神经网络参数。

### 抓取工具被拿走之后

还有一组实验特别能说明RobotUse设计的韧性。研究者故意把"抓取建议工具"这个辅助功能拿掉,也就是说,智能体不再能获得系统自动生成的候选抓取方案,必须完全依靠自己在图像上点选、调整来完成抓取。

结果显示,RobotUse在失去这个工具后,成功率从50%降到37.5%,保住了原来75%的表现。而CaP-X在同样条件下,成功率从45%直接腰斩到17.5%,只剩下不到四成的原有水平。

论文里有个具体案例很说明问题。在一个"堆叠魔方塔"的任务里,没有抓取工具辅助的情况下,RobotUse的做法是,先点击一个目标点,在物体上方8厘米处打开夹爪靠近,然后通过腕部摄像头观察姿态,发现夹爪和魔方的面没对齐,于是向下调整85毫米、偏航角旋转38度,让夹爪贴合魔方的表面。第二个魔方同样调整了一遍,最终堆成三层塔,任务成功。而CaP-X这边,前两段代码尝试用点云数据去估算魔方的朝向角度,一段直接因为列表为空报错崩溃,另一段算出来的路径被运动规划器拒绝。后面几段代码干脆放弃了动态估算,直接给所有魔方套用同一个固定的俯视角度抓取方向,结果自然是对不上每个魔方实际摆放的姿态,要么把魔方推得乱七八糟,要么夹爪完全错位,最后超时判定任务失败。

这个对比揭示了一件事:当外部工具不完美甚至完全缺失的时候,依赖可视化反馈不断调整的系统,具备更强的容错能力,而依赖固定逻辑规则的系统,一旦工具失灵就直接僵住了。这就像一个经验丰富的老司机在导航信号丢失时,还能凭着路标和记忆开到目的地,而一个完全依赖导航语音指令的新手司机,一旦没了语音提示就可能直接迷路在原地打转。

### 这套系统放在整个机器人任务库里表现如何

研究者在RoboLab

RoboLab:一个面向通用机器人操作任务的高保真仿真测试平台,涵盖从单物体拾取到多物体按空间和顺序约束摆放的各类任务

上挑选了40个任务进行全面测试,按难度分成简单、中等、复杂三档。结果汇总如下。

RobotUse的总体成功率是45%,在所有参与对比的语言智能体和代码类方法里排名第一,比同类最强的CaP-X高出6.7个百分点,比另一个基于技能库的Open Robot Skill高出整整25个百分点。在直接动作策略模型里,π0.5只有30.75%,Cosmos 3达到了42.25%,RobotUse依然领先。

分档来看,RobotUse在简单任务上拿到53.97%,在复杂任务上拿到33.33%,都是所有方法里最高的。唯独在中等难度任务上,Cosmos 3以45.38%领先RobotUse的35.90%。这说明直接端到端训练的大模型在某些特定难度区间确实有优势,但RobotUse的架构设计让它在最难和最简单的两端都展现出更好的稳定性。

资源消耗方面也值得一提。RobotUse每个任务平均花费0.511美元的API成本,比CaP-X的0.1672美元要贵不少,但比Open Robot Skill的1.38美元便宜很多。这说明RobotUse选择了一个中间路线,它比纯代码生成方法消耗更多推理资源,因为它需要更细致的视觉检查和多轮调整,但相比完全依赖智能体自主探索的技能库方法,效率要高得多。

### 写在后面

读完这篇论文,最让我意外的不是那些成功率数字,而是那个"展开代码却依然藏着选择"的发现。

我们通常以为,只要把黑箱打开,把内部逻辑变成可读的代码,问题就解决了。但RobotUse这篇论文用一个很朴素的例子戳破了这个幻觉:哪怕每一行代码都摆在那里,只要关键的选择逻辑写死成了一个打分规则,智能体依然没有真正的决策权。这提醒我一件更大的事,透明和可控是两回事。你能看见不代表你能改变,这个区别在很多系统设计里都容易被忽略。

另一个让我反复琢磨的细节是关于上下文的实验。按常理,信息越多决策应该越好,但实验结果是反过来的。这让我想到,也许"记忆"这件事本身不是越完整越好,而是需要一个专门的提炼和压缩环节,把噪音筛掉,把结论留下。人类的记忆系统某种程度上也是这样工作的,我们不会记得昨天每一秒钟发生了什么,我们记得的是经过提炼后的"这件事的教训是什么"。机器人智能体的架构设计,似乎也在无意中重新发现了这个道理。

论文里没有细说的一点是,这个操作手册的更新机制,长期运行下去会不会出现规则之间互相矛盾、越堆越臃肿的问题。毕竟只做了四轮迭代,手册还比较精简。如果让它跑上几百轮,这份手册会变成什么样子,是越来越精炼,还是越来越像一本谁都读不完的说明书?这是一个留给未来研究去回答的问题。

文章标签机器人

资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。