GaP:一种用于变异自动化(VA)任务的“图即策略”多智体自学习框架
26年7月来自UC Berkeley、Nvidia公司、CMU和Bosch公司的论文“GaP: A Graph-as-Policy Multi-Agent Self-Learning Harness For Variational Automation (VA) Tasks”。
为了让机器人在商业和工业应用中可靠运行,基于智体(agentic)编程系统的最新进展能否将“可解释的机器人编程”与“无模型策略(model-free policies)在开放世界中的适应性”结合起来?关注的是“变异自动化”(Variational Automation,简称 VA)任务,这类任务涉及的物体几何形状和位姿变化远大于固定自动化任务。无模型策略往往难以满足 VA 任务对可靠性的高要求,而这些任务在商业和工业应用中必须持续、可靠地执行。受以往关于任务与运动规划(TAMP)及机器人操作系统(ROS)研究的启发,其提出 Graph-as-Policy (GaP)——一种多智体编程框架。该框架利用模块化开放机器人技能库(MORSL),生成包含感知、规划和控制节点的有向计算图。随后,GaP 构建内部仿真环境,并行测试不同计算图对应的任务实例,并迭代优化图结构与参数,从而提升任务成功率和吞吐量。针对 8 个新的开放式 VA 任务基准(包括 4 个仿真任务和 4 个现实世界任务)进行的评估表明,GaP 能够实现显著优于基准方法的成功率。
机器人学习领域的大部分研究都聚焦于通才机器人(generalist robotics),即要求机器人执行多种多样的任务。这些研究大多集中在无模型(model-free)的端到端“视觉-语言-动作”(VLA)模型上 [4, 5, 6, 7, 8, 9]。
然而,完全通用的机器人难以达到商业或工业级的可靠性 [10],因此人们越来越关注机器人学习如何应用于更专业的任务类别 [11]。在本文中,定义一类“变异自动化(Variational Automation,简称 VA)”任务,它们不同于“固定自动化FA”(即盲目重复相同动作的任务,如点焊或喷漆)。在 VA 任务中,机器人需要持续执行同一任务的不同实例,而这些实例在物体几何形状和位姿方面存在显著差异(例如分拣包裹、在咖啡馆冲泡咖啡或在商业厨房制作三明治)。
目前,在物流、服务、农业和制造业领域,固定自动化系统的设置与调试均由人类采用严谨的经典工程方法完成 [12, 13, 14, 15]。这种方式提供了高可靠性和高吞吐量,且投入的人力成本可以通过长期的重复性作业得到合理分摊。相比之下,若要确保 VA 任务实现可靠运行,则需要投入更多的人力来进行设置与调试。
大语言模型(LLM)[16, 17, 18] 和视觉-语言模型(VLM)[19, 20, 21, 22, 23] 的最新进展,正在迅速提升智体编程(agentic coding)[24]、语义推理 [25] 和零样本泛化 [26] 的能力。
面向机器人的智体编程有望整合基于模型(model-based)和无模型(model-free)的范式,从而快速生成既可解释又可靠的机器人控制系统。尽管智体编程是一个新兴且发展迅速的领域,但它仍容易出现“幻觉”和违反约束的情况。因此,开发有效的方法来“引导”编程智体生成预期输出,便成一项主要挑战。编程智体的控制通常依赖于一种“驾驭(harness)”——即作为提示词(prompt)提供给智体的一段文本,其中描述可用的软件资源、约束条件及性能指标 [27]。该驾驭还提供相应的接口,支持大语言模型(LLM)编译、执行并管理“生成-执行-观测-评估”的循环流程。
早在2022年,关于“代码即策略”(Code-as-Policy,简称CaP)的一系列论文 [28, 29] 就已探索将LLM编码智体应用于机器人领域的可行性。自那时起,得益于在日益庞大的代码数据集上的训练,通用编码智体的能力已大幅提升。近期的CaP-X论文 [30] 提供一套开放的CaP基准测试、智体及相关成果,展示了基于截至2026年1月时最先进(SOTA)编码智体所取得的令人振奋的成效。
上述单智体CaP方法往往缺乏结构化约束,导致编码智体生成自由格式的Python代码。面对复杂任务时,上下文窗口可能会变得过大,使得智体难以遵循约束条件并生成可靠的代码。此外,单个智体容易产生“幻觉”或出现“作弊”行为,例如捏造不存在的技能,或设定无关紧要的成功指标,从而人为地“解决”机器人编码任务。当采用多个智体并行工作的多智体编码系统时,这些挑战会进一步加剧。
为解决这些问题,本文提出“图即策略”(Graph-as-Policy,简称GaP)这一框架结构。该结构将模块化的机器人功能封装为有向图中的独立“节点”,并由分层多智体系统进行管理,从而可以将各个节点的优化任务分配给特定的智体。这种结构有助于限制每个智体的上下文窗口大小,并将图元素的生成与测试过程分离开来,从而降低单个编码智体为达成目标而采取“作弊”手段的动机。
GaP 的设计部分灵感源自机器人任务与运动规划(TAMP)系统 [31, 32, 33](利用图分层结构确保安全性)以及基于计算图结构的机器人操作系统(ROS)[1]。图形模型支持非机器人及机器人应用中功能的模块化、复用与组合。在 GaP 中,机器人策略表现为由原子级“技能”节点构成的计算图,这些节点涵盖了获取相机帧、运行感知模型推理或规划并执行运动轨迹等操作。
针对给定的 VA任务描述,GaP 首先启动一个编排智体(Orchestration Agent),将 VA 任务划分为若干功能片段,并指示相应的技能智体(Skill Agents)为各自负责的片段合成由原子节点构成的局部功能子图。随后,编排器将这些子图聚合并连接,形成一个可执行的计算图。接着,GaP 启动一个多智体自学习框架,协调大语言模型(LLM)和视觉-语言模型(VLM)智体,针对采样的任务实例,在循环中自主生成、仿真并评估机器人计算图,旨在提升成功率与吞吐量的加权组合指标,直至该指标达到平台期。最终生成的计算图被发送至基于边缘计算的图解释器,以便在机器人上进行重复执行。
为了评估 GaP,提出 8 个新的开源 VA 基准测试。前 6 个任务主要参考常见的商业应用场景,包括 (I-a,b) 杂货订单履行、(II-a,b) 杂货打包以及 (III-a,b) 制作爆米花(其中 a 为仿真环境,b 为真实环境)。这 6 个任务使用了常见的厨房物品以及 LIBERO [34] 基准测试中的一款 Franka 机械臂。另外两个 VA 基准测试则参考了数据中心和工业应用场景,分别 (IV) 插入 USB-C 线缆和 (V) 清洗周转箱。实验结果表明,GaP 能够实现高成功率,显著优于包括 π0.5 [8] 和 MolmoAct2 [7] 在内的基线方法。
在固定自动化(FA)中,机器人针对几何形状相同的物体,持续执行完全相同的任务操作。以堆叠箱子为例,FA 涉及将形状相同的箱子从传送带上的统一初始位姿移动到托盘上的固定排列位置;在此过程中,环境、物体形状及位姿的变化极小。
相比之下,通才机器人(GR)需要在不同的家庭环境中执行多种多样的任务(例如将杂货放入冰箱、进行家居清洁、衣物折叠或厨房内的抓取与放置操作);这些环境各不相同,且涉及的物体在几何形状和初始位姿上都存在显著差异。近期的机器人学习研究主要聚焦于高度非结构化的通才机器人(GR)场景,例如利用单一通用的无模型 VLA 策略,让家用机器人在全新的环境中执行各种家务任务 [35, 36, 4, 5, 8]。
早期的机器人系统利用经典的模块化组件来编写控制策略。20世纪60年代末的Shakey机器人[37]将其架构分解为感知、规划和执行这三个功能组件[38]。诸如机器人操作系统(ROS)[1]之类的系统架构利用显式有向图来路由数据、管理依赖关系并确保可靠执行。与此同时,TAMP [31, 32] 方法联合求解离散任务规划和连续运动规划问题,从而能够满足涉及高层动作序列和底层几何可行性的约束条件。
“代码即策略”(CaP)利用智体编写机器人控制代码,为基于模型的方法的手动编码以及无模型策略的纯端到端学习提供了一种替代方案[28]。CaP-X [30]、GRAPPA [39] 和 Maestro [40] 等扩展方案利用较新的大语言模型(LLM)来生成机器人代码。类似地,TiPToP [33] 等系统将大语言模型与经典的机器人TAMP [41, 42, 43, 44] 结合起来。
CaP是基于模型方法的手动编码及无模型策略纯端到端学习的一种替代方案[28];ALGARA [45] 和 CodeDiffuser [46] 则利用大语言模型进行开放词汇脚本生成,以产生机器人代码。GaP 通过引入图结构来调节 CaP 方法的灵活性,使其既能利用预训练大语言模型编码智体在开放世界中的适应能力,又能保持结构化且可解释的图结构,从而支持持久变异自动化(Persistent Variational Automation)。
在机器人领域之外,大语言模型(LLM)已在动态编程、复杂软件集成及 API 编排等方面展现出卓越能力 [47, 16, 48, 49, 50, 51]。通过将这些能力融入结构化的智体(agentic)工作流中,LLM 能够针对开放式任务自主构建解决方案 [52]。一个典型的例子是 Voyager [53],它利用 LLM 迭代式地编写、优化并执行Minecraft游戏技能,从而不断扩充一个包含可复用技能的精选库。在此类框架中,“技能”通常被定义为具有严格语义契约的独立函数。近期研究开始探索通过基于语言的故障推理 [54] 以及多智体提示词优化框架 [55, 56] 来实现智体系统的迭代优化。
为了提升代码生成的质量与性能,CaP-X [30] 引入视觉-语言模型(VLM)在代码执行前后提供反馈(即“视觉差异分析”);然而,VLM 存在产生“幻觉”的风险,且难以处理诸如运动可行性等几何与数值信息。GaP 借鉴 Blox-Net [57] 的架构——后者利用物理实验来改进由 LLM 生成的任务规划——并采用多个 LLM 智体来构建机器人计算图,进而通过仿真实验对其进行迭代优化。
变异自动化(Variational Automation, VA)假设:对于将在较长时间内重复执行的自动化任务,假设工作单元环境、机器人及传感器均已知且固定。此外,假设潜物体及其初始位姿的范围也是已知的。这些假设构成 VA 设定的一部分,而非预先给定的“神谕”信息(oracle information):与通才机器人技术不同,VA 任务由已知的工作单元和有限的操作范围定义,这使得系统能够在可用时利用物体模型、已标定的传感器以及可复用的自动化技能。
变异自动化任务类别:用元组 T = (L, E, R, O, X, B, J) 来形式化定义变异自动化(VA)任务:
• L(语言空间):描述期望任务行为的自然语言指令和语义描述符,为将任务分解为若干片段提供高层上下文信息。
• E(已知静止工作空间环境):例如工作单元,它确立世界坐标系 W 和占用图 M_E,并提供支撑表面,将所有实体的可行位姿空间约束在 SE(3) 的无碰撞子集中。
• R(机器人与传感器配置):指定机器人的 URDF 模型、关节限位、末端执行器(夹爪)配置、相机规格及相机安装位置。
• O(物体集合):任务中所有可能物体的集合,包含具有 3D 模型 M_i 的刚体 {o_i},以及具有预定义运动学关节限位 [theta_min, theta_max] 的关节型实体 {kappa_j}(例如抽屉、旋钮)。
• X(状态空间):由机器人关节配置、所有刚体的 SE(3) 位姿以及关节型实体运动学状态构成的积空间:X = C_robot X SE(3)n X Rm。
• B(信念空间):描述任务实例中物体及其位姿的分布情况。具体实例通过采样 x_i ~ p(x | X) 获得,其中引入了多种变体,例如:(i) 结构化先验(Structured Priors):位置在体积 V 内均匀采样(x_i ~ Uniform(V))及方向范围设定;(ii) 经验分布(Empirical Distributions):基于真实世界演示或感知结果(如点云配准)估计出的多模态分布。
• J,奖励函数:一种用于评估成功与效率的多目标奖励函数,定义为:J = w_s · I(success) + w_t · Φ,其中 I(·) 为成功指示函数,Φ 为吞吐量(成功率/周期时间),w_s 和 w_t 为权重因子。
给定任务 T,从 O 和 B 中分别抽取任务实例 τ_i = ⟨o_i , x_i ⟩。
通过有向执行图表示策略:GaP将机器人策略 π(a | x, T ) 表示为有向计算图 G = (V, E),以完成所有任务实例 ∀τ_i = ⟨o_i ⊆ O, x_i ∼ B⟩ ∈ T。图 G 由称为“节点”的模块化原子功能单元构成,这些节点通过边连接,边规定数据流向和执行逻辑。各组件定义如下:
节点 (V):每个节点 n ∈ V 代表一个用于操作、感知的功能原语或一段可执行代码。每个节点封装一个定义明确的单一机器人操作,并具有带类型的输入/输出签名。节点可组合成“技能”(skills),这是一种自然语言规范,用于指导大语言模型 (LLM) 智体如何针对特定子任务,在执行图上配置并组合一组原子节点。
边 (E):有向边 e = (n_i, n_j) ∈ E 表示数据或逻辑依赖关系。数据边将生产者节点的输出传输至消费者节点的输入(例如,将物体居中节点的输出输入到平面定向节点),并通过依赖关系隐式确定执行顺序;相互独立的分支可并行执行。控制边属于条件分支,并携带针对节点输出的谓词条件。
问题定义:给定任务类 T = ⟨L, E, R, O, X, B, J ⟩,GaP 旨在合成一个稳健的执行图 G∗,使其能够泛化适用于整个信念空间 B。形式化地,对于任意任务实例 τ_i ∈ T,在给定实时场景观测 I(包含来自静态相机和腕部相机的多视图图像集)的情况下,图执行器通过调用技能节点并遵循数据边与控制边来解析计算图 G∗。这种执行过程产生了一种闭环机器人策略 π_G(a | I),该策略将观测信息与图状态映射为机器人动作,以实现 L 所指定的目标状态。将优化后的图 G∗ 定义为在变分任务类中的所有实例上实现性能最大化的图:G∗ = arg maxG E_x_i∼B [J (π(a | I, G))]。
随后,该优化后的图被发送至基于边的解释器,以便在机器人上进行重复执行。
如图1 所示GaP 系统架构。针对“变异自动化(VA)”任务规范,GaP 利用多智体框架驱动 Claude 和 Gemini 等编程工具,自动生成包含“技能”节点的计算图;这些技能节点源自模块化开放机器人技能库(MORSL),涵盖基于模型的程序(如 ROS [1])和无模型策略(如 GraspGen [2])。随后,GaP 利用仿真环境(如 NVIDIA Isaac [3])协调自学习过程,对计算图进行迭代优化;优化后的计算图可在边缘设备上脱离智体独立运行,从而实现长期的持续执行。下方展示 8 个变异自动化基准测试任务(4 个仿真任务与 4 个真实场景任务)。
1 模块化开放机器人技能库 (MORSL)
MORSL 库采用智体工具使用规范(例如 Anthropic 的 Skill.md [58]),并针对图(graph)声明进行扩展。每项技能都声明其输入、输出、语义参数和前置条件,从而使智体能够决定何时调用该技能以及如何将其集成到图结构中。MORSL 初始包含的 51 项技能涵盖以下类别:感知(SAM2 [59]/3 [60]、Grounding DINO [61]、OWL-ViT [62]、Molmo [63]、通用 VLM [21, 64];共 15 项技能)、抓取规划(Contact GraspNet [65]、GraspGen [2]、M2T2 [66];共 5 项技能)、运动规划(cuRobo [67] 和 cuRobov2 [68];共 8 项技能)、基于 NumPy 和 OpenCV 的二维及三维视觉工具(例如用于点云处理的 DBSCAN;共 15 项技能),以及 8 项额外的验证与控制原语,包括:() 基于 CuRobo 的笛卡尔空间线性运动规划;() 机器人操作系统 (ROS) 转换器;(*) 视觉运动交互感知策略。
2 通过内部模拟演练进行自学习
为了利用任务实例迭代优化图结构,系统执行计算图、提供反馈、更新图结构并重复上述过程。如自学习算法 1 所述,GaP 利用 Isaac 仿真器 [3] 作为内部模拟环境,用于渲染感知节点的可视化效果、进行物理仿真以及计算接触情况。为了生成反馈,GaP 会记录每个演练节点前后的机器人与物体状态,计算其差异并推断运动结果。优化过程始于任务实例采样,系统生成 N 个并行任务实例 {τ_i};这些实例通过从置信空间 B 中采样生成,该空间表示工作空间 E 内潜物体位姿、初始状态及运动学配置的概率分布。GaP 通过多智体协作机制生成初始图 G_0。随后,系统在 N 个场景中并行开展演练,以评估图结构的性能。若演练未能达到成功标准,GaP 会分析物理执行数据,从而定位占用空间或关节实体中的几何层面根本原因。智体通过“图更新”操作修改图结构(例如:交换功能等效的节点、调整边、更新代码参数等),并不断迭代,直至系统性能达到瓶颈或因特定原因终止运行。

1 仿真与现实环境中的变异自动化(VA)基准测试
提出8项VA基准测试任务,包括4项仿真任务和4项现实世界任务。其中6项任务的设计灵感源自LIBERO [34]——这是目前评估仿真环境下VLA(视觉-语言-动作)策略的事实标准。
基准测试 (I-a,b):完成杂货订单(仿真与现实)。该任务的每个实例都要求定位指定的物品并将其放入篮子中。原始的LIBERO [34]基准测试并未改变物品的位置,这可能导致模型对演示样本产生过拟合。
为了解决这一问题,LIBERO-Pro [69]评估套件在测试阶段交换目标物品和篮子的位置(即“物品交换”)。为VA基准测试引入四种扩展变体:1) X-Y 20×20 cm²:每个物品的位置在以原始LIBERO物品位姿为中心的20×20 cm²区域内均匀变化;2) 篮子交换(basket swap):交换目标物品和篮子的位置;3) 排列交换(permutation):交换目标物品和干扰物品的位置;以及4)混合模式(mixed all),涵盖上述所有三种变化类型。物理环境下的基准测试直接复刻了这一设置。为避免在生成任务实例时发生物品碰撞,利用闵可夫斯基总和(Minkowski sum)[70]运算来确保物品彼此分离。该基准测试的现实版本使用了配备腕部摄像头的Franka机械臂以及来自杂货店的真实物品。
基准测试 (II-a,b):打包杂货物品(仿真与现实)。在基准测试I-a,b的基础上进行修改,创建多物品抓取与放置任务(类似于杂货店结账场景):机器人需将6件物品装入容器,而无需识别或挑选特定物品。将成功率定义为在6次抓取尝试后成功放入篮子的物品数量(总计6件)。
基准测试 (III-a,b):制作爆米花(仿真与现实)。利用LIBERO中的平底锅、炉灶和旋钮资产创建一项操作任务,要求机器人按顺序执行以下动作:打开炉灶、抓取锅柄、将锅放置在炉灶上、移走平底锅,最后关闭炉灶。对于该基准测试的真实场景版本,用配备腕部摄像头的 Franka 机械臂、购自亚马逊的便携式炉灶以及 Jiffy-Pop 爆米花。
基准测试 (IV):插入线缆(真实场景)。该任务要求使用配备 ZED Mini 腕部摄像头的 UR5 机械臂,在一排 6 个插口中执行一系列 USB-C 线缆的插入与拔出操作。当目标端口超出摄像头的视野范围时,机器人利用内部力/力矩反馈来探测插入位置。该基准测试包含两种变化条件。首先,改变线缆端口的位姿:测试三种距离(以 5 厘米为增量)和三种角度(以 15° 为增量)。其次,改变文本指令以指定五种不同的目标:针对单个端口、按升序插入、按降序插入、针对奇数索引端口以及针对偶数索引端口。
基准测试 (V):清洗周转箱(仿真场景)。该仿真基准测试模拟真实的工业周转箱清洗场景:两台 Franka 机械臂需协作抓取周转箱侧面的狭窄缝隙,将其从堆叠中提起、翻转,并放置到清洗机台面上。每个测试实例都会改变周转箱的初始位姿,包括最大 ±15° 的偏航角(yaw)旋转和最大 ±2.5 厘米的水平位移。该基准测试提供如下语言指令:“用两台 Franka 机械臂协作将堆叠中最上方的周转箱提起、翻转,并放置到清洗机台面上”(见图 5所示)。
2 基线方法
如表1中的每个单元格代表针对基准测试 I-a 和 II-a(在仿真环境中)各100个任务实例进行试验的结果,总计超过5000次仿真试验。
运行 CaP-X [30],该方法使用单个智体,且仅接收初始任务实例的图像及自然语言指令。需指出的是,这并非完全公平的比较,因为 GaP 专为环境几何结构已知(但物体位置未知)的“变异自动化”(Variational Automation)场景设计;因此,CaP-X 的表现可视为 GaP 在仅使用单个智体且不进行自学习情况下的消融实验结果。评估VLA 模型 π0.5 [8] 和 MolmoAct2 [7],使用的是在 LIBERO 训练集上微调过的官方检查点(checkpoints)。此外还评估 TipTop [33],这是一个基于 TAMP 的模块化开放词汇机器人操作规划系统。根据 GitHub 上的代码对其进行配置,采用 cuTAMP [71] 的默认设置(128个粒子),并将规划超时时间设定为60秒。在测量执行时间之前,会先预热 cuTAMP 缓存。表中的第5行和第6行展示了 GaP 与 VLA 模型的组合方案,其中 GaP 负责生成初始机器人动作,将腕部相机对准目标物体中心(从而使 VLA 的输入处于其分布范围内)。
对于 GaP 和 CaP-X,用 Gemini-3.1-Flash-Lite 作为 LLM 智体和 VLM,并将温度参数(temperature)设为0.1。针对基准测试 I 和 II,GaP 未进行自学习,因为其生成的第一个图(graph)已能实现高性能表现。
“制作爆米花”任务要求机器人抓取炉灶旋钮并旋转以点燃炉火,随后找到并拿起 JiffyPop 爆米花锅的把手,将其放置在炉灶上,等待烹饪完成,最后关闭炉灶。
GaP 利用 GraspGen [2]、旋钮旋转技能以及来自基准测试 1 和 2 的其他物体定位与抓取技能来构建图模型。初始图模型能够操作旋钮开关,但无法正确抓取和放置锅具,成功率仅为 33%。
自学习过程显著提高成功率。如图 2 所示,自学习分为三个阶段:(1) 在第 1 至 3 次迭代中,大部分失败源于抓取锅具失败;模拟器反馈显示 Franka 机械臂末端夹爪未接触到锅具,因此 GaP 将原有的 GraspGen 抓取技能替换为一种融合 GraspGen 与“有向边框(OBB)抓取规划器”的混合技能。(2) 在第 4 次迭代中,GaP 识别出应抓取锅具把手,进而调整感知算法的提示信息,以便定位锅具把手。(3) 在第 4 至 8 次迭代中,由于抓取策略发生变化,GaP 微调锅具放置的偏移量,以确保锅具与炉灶表面对齐。注:平移姿态的变化(左图)驱动包含 10 次迭代的序列图更新;(蓝色曲线,对应左侧坐标轴)迭代阶段,根据编辑类别进行底色标注。
如图 3所示七端口的插入线缆实验设置:
插入线缆实验中的GaP示例如图 4 所示。左图:使用传统 ROS 节点和话题手动构建的 ROS 计算图。中图:GaP 能够利用 ROS 中的节点,并结合“对齐端口”、“接触端口”、“插入”和“拔出”等原子技能集生成兼容的计算图。右图:GaP 还能在子图中组合使用这些节点,以执行长程任务,例如将线缆插入偶数编号的端口。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)