你有没有试过让智能音箱做一件稍微复杂点的事?比如"把客厅的杯子拿到厨房,顺便把冰箱里的牛奶热一下"。它十有八九会卡壳,或者干脆执行一半就不知道自己在干嘛了。
这不是个例,是整个大语言模型做机器人规划领域正在面对的一个尴尬现实。
2023年有研究团队专门测试过,发现大语言模型独立生成的长任务规划,失败率会随着步骤数增加而急剧上升,尤其是那些为了省电省资源、专门给边缘设备用的小模型,翻车翻得更狠。这篇论文里的实验数据更直观:一个80亿参数的Qwen3-8B模型,单独生成一个长任务的执行计划,成功率只有41.2%。换句话说,每做10件事,它有6件是要出岔子的。
这就是杜克大学团队这篇GAVEL论文要解决的问题。他们没有选择继续加大模型、堆更多参数这条路,而是给AI配了一个"世界模型"当军师,专门在AI说完话之后、动手之前,先在脑子里预演一遍。
**为什么"说了就做"这条路走不通**
先说清楚问题出在哪。大语言模型生成机器人动作序列的时候,本质上是在做语言接龙,它并不真正理解"拿杯子"这个动作需要先靠近杯子、先张开机械爪、冰箱门得先打开才能拿到里面的牛奶。这些物理世界的先决条件,语言模型有时候会漏掉。
论文里提了一个特别典型的例子:抓取失败,往往是因为机器人离目标物体不够近。这种错误的修复方法其实是明摆着的,靠近了再抓就行了,根本不需要再去问一遍语言模型该怎么办。
这就好比你请了一个特别聪明的实习生帮你写一份采购流程,他文笔很好逻辑也通顺,但从来没进过仓库。他写的"先取货再扫码"这种步骤,看起来没毛病,实际到了仓库你会发现取货口是锁着的,得先找保安开门。这时候你没必要把整份流程打回去让他重写,你自己填上"开门"这一步就行了,这是常识性修补,不是创作性问题。如果每次这种小毛病都要打回去重写,那你要浪费大量时间等他重新构思,而且他重写的时候说不定还会引入新的错误。
论文里提到的SayPlan方法,走的就是"发现错误就打回去重写"这条路,这叫做提出-检查循环(propose-and-check loop):一个结构化的环境模型会实际执行一遍候选计划,遇到不可行的动作就打回去让语言模型重新来。这套方法确实比完全不检查强,但研究者发现一个更根本的问题:让语言模型反复重试,既费钱又费时间,而且不保证语言模型这次就能改对。
**给AI配一个"世界模型"军师**
GAVEL的核心思路,是把一个叫做图世界模型(graph world model)的东西塞进规划流程里。
这是一种用图结构表示整个环境状态的模型:节点是房间、物体和机器人本身,边表示它们之间的关系(比如"在……上面""在……里面""正被抓着"),此外还记录着物体的状态标签,比如是否被打开、是否已经做熟、是否洗过。
这个图不是死的快照,而是活的、能推演的。给它一个动作,它能算出这个动作执行前需要满足什么条件,执行后世界会变成什么样子。论文管这套逻辑叫动作的前置条件和效果(preconditions and effects),说白了就是"要做这件事之前必须先怎样,做完之后世界变成什么样",这跟经典的自动规划里的STRIPS表示法是一脉相承的。
有了这套图模型,GAVEL就能在动作真正被机器人执行之前,先在虚拟世界里把整个计划跑一遍,一步步检查每个动作的前提条件是否满足,一旦某一步违反了规则,立刻标记出来。
这里就分出了两条路。一条是这个违规能不能靠图自身的逻辑直接修好,比如前面说的"离得不够近"就自动补一个移动动作;另一条是这个错误压根不是逻辑问题,而是语言理解问题,比如任务写着"把盘子洗干净",但AI的计划里根本没有启动洗碗机这一步,这种就属于语义层面的疏漏,图模型自己是补不出来的,因为图模型不懂"洗干净"这个抽象目标对应哪一连串具体动作。这种情况才会把错误报告打包回传给大语言模型,让它重新构思。
这套分工的效果立竿见影。论文的实验数据显示,只靠图修复、完全不问语言模型的版本(叫gavel-basic),单靠一次生成加自动修补,Qwen3-4B的成功率就能从21.8%冲到67.7%,Qwen3-8B从41.2%冲到76.2%。而完整版GAVEL,把语义类错误也纳入语言模型重新规划的范围后,成功率进一步提升到Qwen3-4B的88.8%和Qwen3-8B的91.8%,并且平均只需要1.5到1.7次语言模型调用,远低于SayPlan方案的2.7到3.4次。
这里有个很值得琢磨的对比案例,是论文里提到的另一个基线方法EPoG。这种方法反过来,完全依赖图结构本身生成计划,通过比较当前状态图和目标状态图之间的差异来直接产生动作序列,几乎不需要语言模型介入。它在纯粹的空间搬运任务上表现不错,成功率能到60.2%。但它的失败案例几乎都集中在需要语义推理的任务上:比如"洗盘子"这种指令,图的差异比对完全看不出"需要启动洗碗机"这个隐藏步骤,因为洗碗机运行前后,盘子和洗碗机之间的空间关系其实没有变化,变化的只是一个叫"washed"的状态标签,而这个标签背后对应的操作序列,需要常识性的理解才能推出来。
这说明一件事:图模型擅长处理"这样做行不行得通"的问题,语言模型擅长处理"该做什么"的问题,两者各管一段,谁都不越界,才是最省事的分工方式。
**机器人也会"选错误的顺序找东西"**
第二个核心贡献,跟一个更隐蔽的问题有关:机器人不知道东西在哪儿的时候怎么办。
论文设定的场景是这样的:机器人知道房间的布局,知道厨房在哪、卧室在哪,但它不一定知道某个具体物体现在放在哪个房间里。这时候它得先靠一套语义先验知识猜一猜,比如"土豆大概率在厨房,不太可能在浴室",这个猜测用概率分布来表示,论文管这个叫信念(belief),本质上就是"物体在每个房间出现的概率有多大"这样一张概率表。
初始化这个概率表用的是一个叫RSN(Relational Semantic Network,关系语义网络)的小模型,跟随此前SEEK论文的做法:把物体名称编码成向量,再用一个小型神经网络预测它出现在各类房间里的分数。这个RSN在论文的实验里达到了0.904的AUC,这个指标越接近1说明模型区分"该物体大概率在这个房间"和"大概率不在这个房间"的能力越强,效果还算扎实。
但这里出现了一个特别有意思的发现,颠覆了一个我原本以为理所当然的做法:直接取概率最大的那个房间当答案,这个操作看起来很合理,实际上很不靠谱。
论文的测试数据是,在832个留出的验证样本里,概率排名第一的房间只有47%的概率是真正正确的房间。这意味着如果你简单粗暴地"只信最大概率",你有超过一半的时候会猜错。
这就好比你去朋友家找充电器,你心里觉得客厅茶几上最可能,但事实上"最可能"和"一定对"完全是两回事。如果你只按第一直觉去客厅翻一遍找不到就放弃,那你大概率要多跑好几趟。而如果你脑子里同时装着"客厅概率最高,卧室次之,厨房也有点可能"这样一整张概率表,你就可以按顺序高效搜索,甚至可以先去顺路的房间,哪怕它概率没那么高。这就是GAVEL坚持保留完整概率分布而不是简化成单点估计的原因,如果只看最大概率那个答案,你扔掉的是一半以上正确答案藏身的地方。
基于这个完整的概率分布,GAVEL进一步设计了一套任务排序机制。当一条指令里包含好几个独立的子任务时(比如"把书放书架上,再去把土豆从冰箱拿出来煮了"),GAVEL会计算每种任务执行顺序对应的预期移动距离,选出代价最小的那种排法先执行。
更巧妙的是,这个排序不是一次定死的。机器人每完成一个子任务,就会获得新的观察信息,比如搜索某个房间时发现某个物体确实不在这里,这个信息就会被用来更新剩下所有未定位物体的概率分布,然后重新计算一次最优顺序。论文管这个叫在线重排序(online reordering)。
这套机制在真实实验里带来了5.4%的移动距离节省,虽然听起来不算夸张的数字,但考虑到这只是靠"更聪明地安排顺序"省下来的,没有改变任何执行动作本身,这已经相当划算了。而且这套排序优化本身运行速度极快,每条指令只需要17毫秒。
这里还藏着一个工程上的取舍。理论上如果任务数量是N个,要精确算出所有排列组合的代价,复杂度是阶乘级别的,任务一多就算不动了。论文用了一个折中方案:先构建"第一个任务单独执行的代价"和"任意两个任务之间转换的代价"这两张表,再用这两张表去近似估算任意排列组合的总代价,这样只需要N的平方级别的计算量。论文验证了这个近似方法的准确性,在四任务场景下拟合优度R平方达到0.93,五任务场景下是0.89,说明这个简化确实没有丢失太多精度。
**规模化的模型能不能替代这套系统**
论文里还做了一个挺有意思的对照实验,直接回应了一个很自然的质疑:既然小模型这么不靠谱,那我直接换个更强的大模型不就行了?
答案是:换了也不够。
论文测试了两个当时最前沿的托管模型,GPT-5.6 Sol和Claude Sonnet 5,在完全不接入GAVEL的情况下,独立完成多任务指令的成功率分别只有24.6%和38.6%。相比之下,接入了GAVEL之后,体积小得多的Qwen3-4B本地模型,成功率反而达到了75.2%,直接碾压两个顶级闭源模型单独作战的表现。
这个对比结果挺打脸的,说明单纯堆算力、换更贵的模型,并不能替代一个懂得验证和修复的外部机制。而当GAVEL和这些强模型结合起来之后,效果又是另一番景象:Qwen3-8B加GAVEL冲到89.2%,两个托管模型加上GAVEL都逼近满分,达到99.2%和99.4%。
这说明两件事叠在一起的收益是互补的,不是相互替代的关系。强模型确实能减少那些需要复杂语义推理才能避免的错误,但那些纯粹因为"没考虑到物理约束"导致的执行层错误,哪怕是最聪明的模型也照样会犯,这类错误只有靠图模型这种结构化验证才能系统性地清除掉。
而且这套验证机制给顶级模型带来的额外开销小到可以忽略,GPT-5.6 Sol加了GAVEL之后规划时间还是16.5秒,Claude Sonnet 5只从18.0秒涨到18.2秒。真正拖慢速度的,是本地小模型需要更多轮次的重新规划尝试,而不是图模型本身的验证和修复过程,这部分计算成本几乎可以忽略不计。
**实验设计里的一些老实话**
论文在评测规模上做得挺扎实的,用的是BEHAVIOR-1K这个模拟基准,覆盖了100个单一长任务和500条多任务指令。为了能在这个规模上跑起来,研究者们把原本需要在完整物理仿真器OmniGibson里跑大约17分钟的每个计划,压缩成一个轻量级二维执行器里大约1秒钟就能跑完的验证过程,同时保留了原始的地图布局、物体属性和导航几何结构。他们专门验证过,全部100个单任务在OmniGibson里重新跑一遍,结果跟简化执行器完全一致,这算是给这个简化方案上了个保险。
论文也坦诚地分析了GAVEL剩下没解决的38个失败案例,主要来源不是规划本身出了问题,而是往前一步的物体识别环节:21个是因为没能正确提取出任务相关的物体,只有5个是计划本身真的执行不了,9个是最终没能满足目标条件。这个发现挺关键的,说明当图模型和语言模型的分工都理顺之后,瓶颈已经不在"怎么规划"这一层,而是转移到了更前端的"怎么理解指令、抽取出正确的物体和关系"这一层。
写在后面
读完这篇论文,我最有感触的一点是那个47%的数字。
我们平时做决策的时候,太习惯于用"最可能的答案"去简化世界了。天气预报说70%概率下雨,你就带伞;导航说这条路最快,你就走。但GAVEL这篇论文用一个很朴素的实验告诉我们,当"最可能"的胜率只有不到一半的时候,坚持只信这一个答案,代价可能比你想象的大得多。这不只是机器人技术的问题,是一个挺普适的决策论教训。
另一个让我反复琢磨的地方,是论文里那个EPoG基线方法的失败模式。一个完全依赖图结构、不依赖语言理解的系统,能精确处理"把东西挪到哪里",但完全理解不了"洗干净"这种带着隐含步骤的抽象指令。这其实映照了语言和逻辑这两种能力的本质差异:逻辑擅长处理确定的因果链条,语言擅长处理那些需要常识背景才能补全的省略和隐喻。GAVEL没有试图用一种能力吃掉另一种,而是老老实实地承认两者各有边界,这个设计哲学本身比具体的技术细节更值得记住。
论文最后也承认了一个局限,这套系统目前只在符号层面验证动作的逻辑一致性,没有考虑真实世界里机械臂会不会撞到桌子、够不够得着这种几何和物理约束。这意味着GAVEL现在证明的,还只是"计划在逻辑上说得通",离"机器人真的能顺利做到"还差着一层物理世界的复杂性。这层复杂性什么时候能被同样优雅地纳入这套验证修复框架,会是一个值得继续追的问题。
Q&A
Q1:GAVEL是什么?
A:GAVEL是杜克大学团队提出的一个机器人长任务规划框架,核心是给大语言模型配一个图世界模型当军师,在动作执行前先在虚拟环境里预演验证,自动修复能靠逻辑推出的错误,只把真正需要语义理解的错误交还给语言模型重新规划。
Q2:GAVEL相比单纯用更强的大模型效果怎么样?
A:论文实验显示,单独使用GPT-5.6 Sol和Claude Sonnet 5这类顶级闭源模型完成多任务指令的成功率只有24.6%和38.6%,而体积小得多的Qwen3-4B配合GAVEL后成功率能到75.2%,说明单纯换更强模型无法替代这套验证修复机制,两者结合效果最好,能逼近99%成功率。
Q3:GAVEL为什么不直接用概率最大的房间去找东西?
A:论文发现在832个测试样本里,概率排名第一的房间只有47%概率是真正正确的答案,简化成单点估计会丢失大量信息,所以GAVEL保留完整的概率分布,并根据这个分布动态计算最优搜索路径,每完成一个任务后还会用新观察到的信息重新排序,从而降低约5.4%的移动距离。
热门跟贴