EmbodiedSkills:编排、训练与部署VLA智能体的统一框架 EmbodiedSkills: A Unified Framework for Orchestrating, Training, and Deploying VLA Agents
以可执行技能契约和守卫运行时把VLA策略变成闭环具身智能体
前置知识
VLA模型(Vision-Language-Action)
视觉-语言-动作模型是把摄像头图像、语言指令和机器人本体状态直接映射为机械臂动作序列的多模态神经网络。代表工作包括RT-2、OpenVLA、π0和π0.5,它们在大规模视觉-语言预训练和多样化机器人演示数据上训练,以统一的策略网络完成从感知到控制的端到端推理,通常按固定频率输出动作序列。
本文的全部出发点正是VLA策略只会"预测动作"而不会"完成任务",理解VLA的能力边界才能明白为什么需要给它外加一个智能体编排层。
分层智能体架构(高层规划+低层控制)
把机器人系统拆成两层:高层模型(通常是大视觉语言模型)负责把任务指令分解为语义子目标序列,决定何时推进、重试或恢复;低层策略负责把当前子目标转化为具体动作。两层通过共享接口(如子目标文本)通信,可以独立训练和替换。
EmbodiedSkills本质上是一个分层架构,其贡献在于精确定义了两层之间"谁提议、谁裁决"的运行时契约,不了解分层范式就看不出这篇论文的创新位置。
动作分块(Action Chunking)与有界执行
动作分块指策略一次预测未来 $H$ 步动作(如一个32步的块)而非单步输出,可以降低决策频率并提高时间一致性。有界执行进一步强调每个块有明确的地平线上限 $H_{\max}$,执行完后必须重新采集观察再决定下一步,而不是开环跑完所有块。
论文Execute阶段和消融实验中的"One chunk/subtask"配置直接建立在动作块概念上,事后验证的价值正体现为块与块之间的闭环检查。
守卫状态机与运行时校验
一种系统设计模式:状态转移不由模型输出直接驱动,而是由运行时先校验转移是否满足前置条件——所需输入存在、数据未过期、阶段合法——不满足则阻断并记录证据。守卫保证非法决策永远无法影响物理世界。
这是论文方法论的形式化骨架,六阶段循环和三个守卫函数 $G_{\text{skill}}$、$G_{\text{advance}}$、$G_{\text{finish}}$ 都是这一模式在机器人领域的具体化。
GRPO(组相对策略优化)
一种在线强化学习算法:对同一任务条件采样 $M>1$ 个rollout,用组内奖励的均值 $\mu_G$ 和标准差 $\sigma_G$ 归一化得到优势 $A_i = \frac{R_i - \mu_G}{\sigma_G + \epsilon_{\text{norm}}}$,再用带裁剪的策略梯度目标更新,无需训练价值网络。
论文4.3节把GRPO作为可选的在线适应机制引入,理解它才能体会作者为何把它定位为"精修手段"而非主要训练范式。
研究动机
现有机器人学习方法在"会预测单个动作"与"能完成长程任务"之间存在明显断层。端到端VLA策略(如RT-2、OpenVLA、π0.5)直接把视觉观察和语言指令映射为动作,虽然统一了视运动控制接口,却把中间任务决策隐式化:任务失败时很难判断问题出在物体定位、子目标选择、低层动作执行、进度验证还是恢复环节。另一条路线的LLM机器人智能体(SayCan、Inner Monologue、Code as Policies)虽能显式输出工具调用和推理步骤,但模型生成的决策只是文本提议——可能与当前阶段不兼容、依赖过期的观察、缺失必要参数,执行后也无法保证达到预期结果。以机械臂执行"把容器放到盘子上"这类长程任务为例,系统需要感知场景、选择子目标、评估当前状态是否可执行、调用低层策略生成动作、验证结果、失败后恢复,任何一环缺失都会导致静默失败;部分可观测性、延迟的进度反馈和接触密集型失败进一步放大了这些困难。
本文的目标是本文的目标是构建一个统一框架,把现有VLA策略升级为可靠的闭环具身智能体,核心是弥合"模型级决策"与"物理执行"之间的鸿沟。具体要做到三点:其一,把每个技能决策当作执行提案,运行时在执行前检查前置条件(阶段兼容性、必需输入、工件新鲜度),执行后验证结果是否真正推进了任务;其二,通过一个固定的可执行技能接口连接高层技能选择、有界低层VLA执行和事后验证,使低层策略可以被独立替换或适配而不改动智能体循环;其三,把规划、执行、验证、恢复事件记录为结构化轨迹,既为各组件提供监督信号,也在有交互反馈时支持可选的在线策略优化。作者用Qwen3-VL和OpenPI/π0.5在RoboTwin 2.0与LIBERO上实例化并验证这一设计。
与已有工作不同的是,本文的独特切入是"策略-运行时分离"(policy–runtime separation)。与SayCan把技能当作语言模型的规划词汇表、Inner Monologue把环境反馈直接注入模型内部不同,EmbodiedSkills让策略只负责提出结构化的技能调用,而由一个独立的守卫运行时强制执行前置条件、工件新鲜度、动作有效性和合法状态转移。无效决策不会被静默翻译成物理动作,而是连同证据被显式记录,失败因此变得可追溯、可诊断。由此,提示词本身不再承担执行安全职责,学习到的推理与可执行的运行时语义之间划出了明确边界,技能契约同时充当组合接口、运行时有效性边界和结构化训练轨迹的来源——这是与已有机器人技能分层工作的本质区别。
核心方法
EmbodiedSkills把具身VLM-VLA系统建模为可执行技能之上的"守卫有限阶段控制器"。直觉上,它像给VLA策略装了一个带检查清单的操作系统:高层视觉语言模型(Qwen3-VL)在每一步读取任务、当前视觉证据、循环状态和当前阶段允许的技能集合,提出一个结构化决策 $d_t \in \{\text{RunSkill}(k,q), \text{AdvanceStage}, \text{FinishRun}\}$;运行时用守卫函数验证提案后才执行;低层VLA策略(OpenPI/π0.5)把活跃子目标、当前观察和机器人状态映射为有界动作块 $a_t = (\tau_t, U_t, H_t, \eta_t)$,其中 $U_t = [u_t^1, \ldots, u_t^{H_t}]$ 是动作序列,$H_t$ 是地平线。整个循环组织为六个语义阶段:Observe采集证据、Plan分解子目标、Preflight做就绪检查、Execute执行动作块、Verify对照子目标评估进度、Recover在不可继续的失败后修订执行上下文。阶段之间不是固定单向流水线,策略可根据新证据回访早期阶段。
核心创新是可执行技能契约与守卫运行时状态机的组合。每个技能定义为六元组 $k = (X_k, Y_k, \text{pre}_k, \text{exec}_k, \text{post}_k, \text{fail}_k)$:类型化输入输出schema、前置条件、可执行操作、结果状态更新和失败映射。任何模型生成的结果在通过schema和前置条件验证之前都只是"提案"——这一原则从根本上防止文本提议被误当作物理状态转移。与已有方法的本质区别在于边界的画法:SayCan等把技能当作模型内部分解的词汇,而本文中策略提议与运行时语义被显式切开。技能调用守卫 $G_{\text{skill}}(s_t, d_t)$ 检查阶段兼容性、技能合法性 $k \in K_{z_t}$ 以及全部前置条件 $\prod_{r \in R(k,q)} \mathbb{1}[r(s_t) = 1]$;工件携带来源与新鲜度信息,当观察或子目标变化时只有依赖它的工件需要刷新,过期的预测无法授权新的物理动作。被阻断的决策连同证据成为显式轨迹的一部分,供后续决策和诊断使用。
方法步骤详情
方法流程分六步。第一步,初始化状态 $s_t = (z_t, M_t, H_t)$:$z_t$ 是当前阶段,$M_t$ 是任务工件集合(观察、计划、活跃子目标、执行报告等),$H_t$ 是有序循环轨迹。第二步,构建部署一致的紧凑上下文 $C_t = \Psi(x, z_t, M_t, H_t)$,保留完整计划、活跃子目标和近期错误,历史按固定预算压缩,原始模拟器内部状态不进入策略上下文。第三步,策略从状态相关动作集 $A_t = G_{\text{state}}(K_{z_t}, s_t)$ 中采样决策 $d_t \sim \pi_\theta(\cdot \mid C_t, z_t, A_t)$。第四步,运行时守卫校验:技能提案通过 $G_{\text{skill}}$,阶段推进通过 $G_{\text{advance}}$ 确认当前阶段已产出后继所需证据,终止由 $G_{\text{finish}}$ 控制,被阻断的决策连同证据记录为显式工件。第五步,Execute阶段构造VLA请求,动作块须满足 $R_{\text{act}}(a_t, s_t)$:地平线 $0 < H_t \le H_{\max}$、符合动作schema $\Sigma_p$、数值有效、与当前子目标和观察保持新鲜一致;执行后立即采集新证据。第六步,Verify仅评估活跃子目标,从路由集 $V = \{\text{Advance}, \text{Continue}, \text{Reobserve}, \text{Replan}, \text{Recover}, \text{Finish}\}$ 中选择下一步。训练侧用组件级监督:规划器学指令到子目标序列的映射,低层π0.5用子任务级演示单独适配,Qwen3-VL调度器在低层冻结下用部署一致的决策轨迹做SFT;轨迹还支持可选GRPO在线优化,组内归一化优势 $A_i = \frac{R_i - \mu_G}{\sigma_G + \epsilon_{\text{norm}}}$ 配合掩码裁剪目标。
技术新颖性
技术新颖性体现在四个层面。第一,"提案-守卫"范式:同时消除LLM智能体"显式但不保证可执行"与端到端VLA"可执行但不透明"两种失败模式,被阻断的决策成为可诊断证据而非静默失败,这比单纯靠提示词约束可靠得多。第二,统一契约贯穿三个环节:同一技能接口同时服务于编排(运行时校验)、训练(轨迹schema)和部署(适配器替换),各组件可以用共享基座加阶段适配器实例化而不改动循环代码。第三,部署一致性训练样本:训练输入 $x_t = \langle g, z_t, I_t, e_t^s, K_t, h_t \rangle$ 与部署时完全同构,历史压缩规则在数据构建和推理时一致,组件不会学到测试时不存在的信息;损失只施加在组件自己生成的token上,提示、图像和工具结果只是上下文。第四,对在线优化的克制定位:论文明确承认episode级归因是粗糙的——相同回报被分给因果贡献不同的多个决策——因此GRPO只作为可选精修,头版结果全部来自组件级监督,这种诚实的设计定位在同类工作中少见。
实验结果
论文在三个基准上验证执行接口。其一,RoboTwin 2.0全部50个任务:为每任务微调专用π0.5策略,平均成功率86.20%,超过LingBot-VA报告的π0.5参考82.74%(+3.46pp),50任务中39胜1平10负,最大增益来自Hanging Mug(18→38)、Blocks Ranking Size(49→64)、Open Microwave(34→49)等接触敏感任务;对比策略基线ACT(29.7%)、DP(28.0%)、RDT(34.5%)、DP3(55.2%)和通才基线π0(65.9%)、X-VLA(72.8%)优势明显。其二,LIBERO四套件平均97.40%,超官方OpenPI参考96.85%(+0.55pp),其中长程套件LIBERO-Long从92.4%升至93.6%(+1.2pp),Spatial/Object/Goal为99.0/98.6/98.4、已近饱和。其三,RMBench四个记忆依赖任务平均12.5%,超最佳基线X-VLA的7.3%。最有说服力的是消融(50任务×100回合):完整循环86.20%,去掉中间验证降至48.2%(-38.0pp),子目标换成原始任务指令降至34.4%,每子任务仅一个32步动作块只有19.5%——语义子目标、事后验证、自适应续块缺一不可。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| RoboTwin 2.0(50个双臂操作任务,每任务100回合) | 平均成功率 | 86.20% | π0.5参考(LingBot-VA)82.74%;X-VLA 72.8%;π0 65.9% | +3.46个百分点(对最强参考) |
| LIBERO(Spatial/Object/Goal/Long四套件) | 宏平均成功率 | 97.40%(Long套件93.6%) | OpenPI官方参考96.85%(Long 92.4%) | +0.55pp,其中Long +1.2pp |
| RMBench记忆依赖任务(4个M(n)任务) | 宏平均成功率 | 12.5% | X-VLA 7.3%;π0.5 5.5%;DP 5.0%;ACT 4.8% | +5.2个百分点(对最佳基线X-VLA) |
| AgentLoop消融(RoboTwin 2.0,5000回合) | 宏平均成功率 | 完整循环86.20% | 去掉验证48.2%;去掉子目标条件34.4%;每子任务单块19.5% | 验证机制贡献38.0pp,子目标条件贡献51.8pp |
局限与改进
作者坦承的局限包括:RoboTwin 2.0实例化依赖每任务单独微调的专家π0.5策略,50个任务意味着50套训练、存储和部署成本,与单一通才策略相比不可扩展;守卫循环引入额外VLM调用和事后观察,延迟高于单次前向的动作策略;契约只阻止非法状态转移,并不保证语义正确——错误的物体定位或子目标仍可能通过schema校验而把执行引向错误的物理状态;验证在任务进度被遮挡或视觉模糊时会失效;模块化带来组件边界兼容性的协调成本,长回合会累积小的规划与执行误差,增加观察、重试和模型调用次数。我自己的补充观察是:高层调度器的SFT数据来自脚本化轨迹,其分布外泛化能力未测试;RMBench上12.5%的绝对成功率仍然很低,记忆依赖任务远未解决;消融只在RoboTwin上进行,LIBERO上循环机制的边际贡献未单独量化;所有结果来自仿真,真机上的守卫开销和鲁棒性完全未验证。
独立分析的弱点
独立分析发现四个弱点。第一,专家策略爆炸:为每个任务微调一个π0.5在真实部署中不可行,改进方向是训练子目标条件化的通才VLA策略,让单一策略直接接收执行接口内的活跃子目标文本——框架接口已经预留了这个位置,缺的只是训练方法。第二,验证器的可靠性瓶颈:Verify依赖VLM从有限视角判断子目标是否完成,遮挡或接触密集场景下容易误判,而误判会级联影响路由决策,改进方向是引入触觉/力反馈信号、主动多视角重观察技能,并让验证器输出校准的不确定性供调度器参考。第三,延迟问题:每个动作块前后都有VLM调用,高频控制场景不可用,改进方向是缓存验证结果、只在状态显著变化时触发完整Verify,或蒸馏出小型调度器。第四,episode级归因粗糙:GRPO把相同回报分给因果贡献不同的多个决策,且论文自己也承认这点,改进方向是利用守卫日志中的阻断/验证事件构建过程奖励模型,做更细粒度的信用分配,这恰恰是结构化轨迹数据的独特优势。此外,RMBench 12.5%的结果表明记忆依赖任务需要显式的记忆机制而非当前的条件化上下文。
未来方向
作者明确提出的方向包括:训练更具子目标条件的通才VLA策略以替代专家集合,降低维护成本;利用交互反馈做高效、有针对性的在线适应;改进规划、验证与动作生成的校准质量。基于本文成果可延伸的方向有五条:其一,把结构化轨迹用作过程奖励模型的数据源,训练比episode级GRPO更精细的agent RL算法——轨迹中现成的阻断事件、验证判断和错误类型是天然的密集监督信号;其二,真机验证:本文全部结果来自仿真(RoboTwin 2.0、LIBERO、RMBench),接触密集任务在真机上的守卫开销、延迟预算和鲁棒性是关键未知数;其三,跨本体部署:技能接口声明不绑定具体机器人,可在多臂、移动操作平台上测试模型与环境适配器的可移植性;其四,把Recover阶段与失败解释结合,用累积的轨迹库训练失败归因模型,辅助线下诊断;其五,探索验证器与调度器的联合训练,让"何时信任验证结果"本身成为可学习的决策。长期看,这套契约式架构值得推广到家庭服务机器人等长时程、多任务的真实场景。
复现评估
复现条件总体友好,但论文未声明代码开源,这是最大障碍。有利因素:框架构建在完全开源的组件之上——OpenPI/π0.5(GitHub开源)、Qwen3-VL(开源权重)、RoboTwin 2.0和LIBERO仿真基准(均公开),LIBERO参考值直接取自OpenPI官方发布,RoboTwin基线来自公开benchmark,实验设置描述详细(每任务100回合、宏平均、消融共享规划器和初始状态)。主要工作量在于:AgentLoop运行时、技能契约、守卫状态机和轨迹schema需要自行实现,这是框架的主体;子任务级演示数据的生成管线(如何把任务级演示切分为子任务片段并标注活跃子目标)论文未详述;算力方面,50个专家π0.5的微调加Qwen3-VL调度器的SFT成本可观,个人实验室难以完整复现RoboTwin全表,但LIBERO部分(4套件、公开参考值)门槛低得多。若作者发布代码与数据,复现86.20%主结果难度中等;从零重建整个框架预计需要熟悉机器人仿真和VLA训练的团队投入数周。
论文图表