论文 :Co-Evolving Robot Orchestrators and Policies through Deployment(Stanford & NVIDIA,arXiv 2610.09228)
一、动机
- VLA 泛化不足:在大数据上训练的 VLA 策略(如 π0.5)一旦离开训练分布,在真实部署中就容易失败。
- Agentic 编排框架有天花板 :近期工作用 VLM 编排器写代码,在 VLA 调用和脚本化运动原语之间切换,并靠反思记忆不断改进。但这类框架都假设策略是冻结的。VLA 对语言指令的可引导性有限,编排器只能绕开策略的失败,没法真正修好它。于是策略成了整个系统的瓶颈。
- 部署期微调策略有三个难点 :
- 数据稀缺:部署期没有单独的探索阶段,训练数据只能来自完成任务的尝试。很多尝试会失败,如果只保留成功的 episode,就会丢掉失败 episode 里本来正确的步骤(比如先抓对了、后来掉了)。
- 微调不保证变好:新 checkpoint 可能更差,而验证它本身也要消耗部署机会。
- 编排器记忆过时:记忆是围绕旧策略形成的,比如"VLA 抓取总失败,改用脚本抓"。策略更新后,这条建议会阻止系统发现新策略已经能抓了。
核心问题是:部署期间,编排器和策略如何协同进化?
二、主要创新
| 创新点 | 说明 |
|---|---|
| 编排器与策略协同进化 | 把部署期学习定义为同时改进 agentic harness(记忆)和它调用的 VLA 权重,形成内外两个闭环(图 1) |
| Agentic 数据策展 | 把部署执行自动切分成技能级示范,不需要人工标注。失败 episode 里成功的技能片段也会保留,脚本原语产生的动作也转成 VLA 的训练数据 |
| 按需训练 | 由 LLM 控制器决定何时训练(TRAIN / WAIT),不按固定周期训练 |
| 策略验证 + 记忆修订 | 新策略先做技能级验证,通过后才采用;之后修订那些依赖旧策略的记忆条目 |
三、方法要点
如图 2所示Robo-COP的部署-到-学习环:

1. 自适应编排(§3.1)
- 基于 CaP-X 代码智能体,新增
execute_vla工具。编排器(Gemini 3.8 Flash)写程序,混合调用脚本原语(SAM3 分割、GraspNet、cuRobo 规划)和 VLA。 - VLM 监控执行过程,可以中断调用。VLA 和脚本动作分别记功,所以后续步骤失败不会抹掉前面成功技能的功劳。
- 每个 episode 结束后做反思,写入任务记忆 M("what works" / "known failure modes" 等,上限 8000 字符)。
- 动作统一 :不管动作来自 IK、运动规划器还是 VLA,都按 VLA 的训练格式记录成一条连续的动作流。这样一段"脚本接近 + VLA 闭合夹爪"的执行,可以整体标注为 grasp the red block。
2. 经验策展与策略改进(§3.2)
- 两阶段评判 :
- 文本评判根据代码、控制台输出和结果,切分技能并给出标签。连续的脚本原语会被合并成有物理意义的技能。
- 视频评判抽 6 帧检查,给出 SUCCESS / USEFUL_PARTIAL / NO_PROGRESS / FAILED / UNCLEAR。
- 只有两者都通过的片段才进入数据集 D。片段末尾补 15 帧静止帧,让策略学会停下来。
- 训练控制器:有代码层面的守卫条件,比如至少 30 个 episode 含有保留片段、距上次训练新增至少 10 个、每个任务最多训练 3 次。条件满足后,LLM 根据记忆、失败案例和数据统计输出 TRAIN/WAIT,并指定最多 4 个目标技能 E。
- 微调 :每次都从预训练 checkpoint 出发,在全部策展数据上训练。语言骨干用 LoRA(rank 16),action expert 用 LoRA(rank 32),vision encoder 等部分全量微调,目标函数是 flow-matching。
3. 策略验证与集成(§3.3)
- 候选策略 π′ 在 W(≤25)个 trial 内接受评估,当前策略 π 作为后备。由于有后备兜底,任务成功率不能单独反映候选的能力,所以验证做到技能级。
- 采用条件(式 1):
- 任务成功率 succ(W) ≥ b − 0.1;
- 已采纳的旧技能完成率 r_c(s) ≥ r_inc(s) − 0.1,用来防止遗忘;
- 目标技能由 LLM 评审逐次调用检查确认(CONFIRM / VETO)。
- 结果分三种:ADOPT、REVERT,以及调用次数不足时的 STARVED。另有提前终止机制。
- 记忆修订:采用或回退之后,把"不要用 VLA"之类的建议标记为 UNVERIFIED(只标记不删除),并把对候选的引用改写成当前在役策略。
4. 主要结果
- 仿真(10 个 RoboLab 任务):held-out 均值方面,Robo-COP 73.8%,冻结策略基线 64.8%,固定周期训练 65.8%,ASPIRE 54.0%,纯 π0.5 28.0%。部署期成功率 73.2%,高于两个基线的 68.7% 和 70.3%,说明边部署边学习没有牺牲部署表现。
- 控制器在三个已经很成功的任务上选择不训练。其余 7 个任务都请求了训练,12 个候选中拒绝了 5 个。
- 微调带来的提升主要来自抓取技能。
- 真实 DROID(3 个任务):held-out 均值从 38.3% 提升到 50.0%。但提升全部来自 Lidded pot 一个任务(35% → 70%)。另一个任务的候选被回退,第三个任务没有训练。
四、存在的问题
作者自述的局限
- 只能学已经部分会的技能:训练数据全部来自自身执行,策略和脚本工具都做不出来的技能学不到。
- 真实部署成本高:需要人工复位,每次更新还要额外承担策展、训练和评估的开销。
- 纯原语型任务不如 ASPIRE:例如 Fill the empty bin、Sort blocks。原因是 Robo-COP 的编排器只通过记忆适应,不做程序结构搜索。
- 规模尚未验证。
- 只更新了系统的一部分:脚本技能、评判器和编排器自身的推理能力都是固定的。
看到的问题
- 统计可靠性偏弱
- 仿真中每个方法每个任务只跑一次部署(附录图 8)。置信区间只覆盖 held-out trial 的随机性,没有覆盖 agent 决策和训练的随机性(多 seed)。
- 真实实验每个任务只有 20 次测试。提升集中在一个任务上,相当于 7 次成功之差,证据有限。
2. 验证机制本身不够严
-
- 阈值 δ=0.1 加上很小的评估窗口(最少 5 次调用),统计功效低。真实回退可能漏检,好的候选也可能被误拒。
- 有反例:Bananas out of bin 的候选被采纳,但 held-out 只有 72%,低于冻结基线的 90%(表 6)。说明验证可能放过了退化的候选。
- 在"VLA 单独即可"这一类任务上,Robo-COP 只有 80.0%,低于冻结和固定基线的 89.3%。
3. 高度依赖 LLM/VLM 评判:切分、标注、训练决策和采纳评审都依赖 Gemini。正文没有给出评判准确率的定量分析,标注噪声和误判对结果的影响不明确。
4. 脚本动作当示范可能有分布不一致:IK 和运动规划器生成的轨迹风格与 VLA 自身的动作分布不同,直接混入训练可能引入偏差。论文没有讨论这一点。
5. 手调的超参数和规则很多(附录表 3 列了十余项常数),泛化到新场景时调参成本未知。
6. 训练成本随数据量增长:每次都从基座开始、在全部数据上重训,训练期间部署还要暂停。从论文表述看,每个任务各自维护一个 checkpoint,跨任务共享是未来工作。
7. 基线对比公平性:ASPIRE 原本没有在 RoboLab 上评测,是作者自己移植的,而且它不能调用 VLA。这在"两者都不够"一类任务上天然处于劣势。
Robo-COP 把"部署即数据采集"做成了一个有守门机制的闭环。技能级策展(保留失败 episode 中的成功片段)和"先验证再采纳、采纳后修订记忆"是最有价值的设计。但目前实验规模小、重复次数少,验证机制也有漏判的迹象,结论的稳健性还需要更大规模、多 seed 的实验来确认。