权重还是技能?机器人学习技术综述:从动作预测权重到能自写技能的机器人 Weights or Skills? A Survey of Robot-Learning Techniques: from Action-Predicting Weights to Robots that Write their Own Skills
以「权重 vs 技能」为轴,梳理 77 个机器人学习系统的自我改进谱系
前置知识
视觉-语言-动作模型(VLA)
VLA 模型把图像和自然语言指令直接回归成电机动作,典型结构是「骨干网络 + 动作头」的分解:一个视觉-语言骨干(如 PaLI-Gemma、DINOv2/SigLIP 栈)编码场景与指令,一个可插拔的动作头把表征映射成动作。RT-1 把连续动作离散化成 bin,RT-2 把动作当文本 token 输出,π0 用 flow-matching 头实现高频双臂控制,OpenVLA 是 7B 开源模型。
VLA 是本文「权重」一极的代表,理解它的训练范式和「冻结权重、无运行时回路」的本质,才能看懂作者为什么把它作为 code-as-policy 的对照面。
代码即策略(Code-as-Policy)
把大语言模型当成「程序合成器」:给 LLM 一个感知与控制的 API 和一句自然语言指令,让它输出可执行 Python 代码,调用 get_position、grasp 等原语组合出任务方案,可以用算术和循环参数化控制逻辑。Code-as-Policies、ProgPrompt、VoxPoser 都属于这一系,区别在于是否暴露固定技能 API、是否组合 3D 价值地图。
这是本文「技能」一极的核心,也是作者唯一按「自我改进程度」来组织的技术家族,读懂它的五级阶梯就抓住了全文主线。
自我改进三机制 F/M/S
作者用三个机制判定自改进等级:Feedback(F)指在任务内读到一个执行落地信号(如失败检测、场景摘要、验证器或奖励)并据此改代码;Memory(M)指运行时写入的内容跨任务存储、之后被检索复用(如持久技能库、可检索的情节记忆);Search(S)指维护并比较多个候选程序、按执行得分选择或变异(如进化变异、beam search)。冻结的预训练权重不算 Memory,单纯重复 prompt 不算 Search。
F、M、S 的组合给出五级阶梯的充要条件,是全文最重要的分类工具,也是定位「顶层稀疏格」的理论依据。
强化学习技能发现
在没有任务奖励的情况下,靠信息论目标学出一组多样的潜在技能。DIAYN 最大化潜在技能码 z 与访问状态之间的互信息,学到可区分的行为,策略写作 $\pi(a\mid s,z)$;DADS 让发现的技能对动力学敏感、可用于基于模型的控制;METRA、CIC、LSD 进一步用 Lipschitz 约束、对比目标提升技能的可扩展性与覆盖范围。
本文指出「技能」有五种含义,潜在策略是其中之一,且这类技能不可检视、不可组合、不能用梯度更新之外的方式自改进,是理解 §3.4 分支和「只有代码技能能免梯度自改进」这一论断的关键。
Sim-to-real 与跨本体迁移
技能必须跨过「仿真到现实」的鸿沟和不同机器人身体之间的差异。Open X-Embodiment 把 60 个数据集、21 家机构汇聚成百万级轨迹、22 种本体;CrossFormer 用一个 Transformer 跨 20 种本体训练;Mirage 用「cross-painting」把目标机器人遮挡后补绘成源机器人姿态,实现零样本跨本体迁移。
跨本体迁移是 §3.5 的主题,也是技能经济中「同一个技能能否在 G1、H1、B2、Go2 上都安全运行」这一商业问题的技术根基。
研究动机
机器人学习正在分裂成两个押注:一边是把能力烤进冻结权重的 VLA 模型,一边是能自己写、自己改可执行代码技能的智能体。问题在于,整个领域缺乏一个能把这两条路线放在一起比较的统一框架——既有的综述要么只覆盖 VLA、世界模型或导航,要么只谈基础模型,没有任何一篇按「自我改进程度」来组织 code-as-policy,更没有人指出「执行反馈 + 技能记忆 + 进化搜索三者合一」的那个格子(§3.1.5)几乎空着。与此同时,商业现实已经跑在了研究前面:Unitree 的 UniStore 已经在分发一键下载的跨本体运动技能包,但每一个都是静态回放——分类法里能力最弱的那一格。论文承诺的价值,比如「按水果调夹持力避免压伤」,恰恰需要现场自适应,而今天市面上没有任何一款技能做到这一点。
本文的目标是作者要给这个分裂的领域立一根清晰的轴——用「到底交付什么」来回答:是冻结权重,还是可执行、可改进的技能?围绕这根轴,目标有四个:第一,构建一个覆盖六大技术族的分类法;第二,对 code-as-policy 阵营做一次深潜,按自我改进程度排出五级阶梯,并为反馈、记忆、搜索三机制给出可操作的定义与每级的充要条件;第三,把「技能」一词的至少五种含义梳理清楚,明确只有「代码」这种含义能免梯度自改进;第四,把学术分类法接到正在兴起的「技能经济」上,列出从静态分发到真正现场自适应之间必须解决的一串开放问题,并把它变成一个可衡量的研究议程。
与已有工作不同的是,独特切入角度有三层。首先是「自我改进程度」这根轴——以前综述按应用或本体分,本文按「运行时自己产出多少能力」分,结果一眼就暴露出顶层格子只住着 ASPIRE、ENPIRE、RoboClaw 三个 2026 年才出现的系统。其次是把三个机制的边界用操作化定义钉死(如「失败检测算 Feedback」「冻结权重不算 Memory」「重复 prompt 只在候选被比较时才算 Search」),消除文献里长期模糊的归类争议。最后是把学术分类法和商业市场(UniStore)直接对接,提出「技能栈三层」(Build/Distribute/Adapt) 模型,指出今天的市场只在第二层卖第一层技能,第三层(设备端自改进)完全缺失——这是既有综述从未触及的视角。
核心方法
整体思路是先用一句话立轴(「交付权重还是交付技能?」),再把领域折成六大分支挂到这根轴上。Code-as-policy(§3.1)是焦点,被细分成五级自改进阶梯;VLA(§3.2)作为权重的对照面;奖励合成(§3.3)、技能库(§3.4)、迁移(§3.5)、基准(§3.6)作为外围。直觉上,作者把代码智能体的「学习闭环」拆成可累加的三件事:在任务内改代码、把验证过的代码存下来给后续任务、用一群候选程序做搜索——三件事全有的系统才有资格进入顶层。技术路线上,论文用一张总图(Figure 2)把全部 77 个系统挂进六个分支,每个子格列出代表系统与论文标题简写;再用 Table 3 给三机制下操作化定义;最后用 Table 4 把阶梯显式化,逐系统打 F/M/S 三栏。
核心创新是「按自我改进程度排序 code-as-policy」,而不是按应用场景或机器人本体。这与已有方法的本质区别在于:以往的综述把 code-as-policy 当成一堆平行的「LLM 写代码」工作,而本文把它们排成一条从「零样本合成」到「F+M+S 全闭环」的单调上升阶梯,并为每一级写出充要条件(如表 3 那种「if and only if」式定义)。结果是阶梯越往上人越稀少——13 个零样本系统里只有极少数爬到 feedback+memory+search 的合取格子——这个「稀疏性」本身就是结构性观察,比任何单个系统都重要。配套地,作者把「skill」一词的五种含义(潜在策略 $\pi(a\mid s,z)$、option/原语、代码、机器人 App、市场商品)拆开,证明只有代码这一种同时可检视、可适配、可组合,把分类法和真实可分发的技能经济接上了轨。
方法步骤详情
完整方法分四步。第一步是语料构建(PRISMA 2020 风格,Figure 4):在 2016 年 1 月到 2026 年 7 月窗口内做两轮——对六个分支各从标志性系统出发做引文滚雪球得到 77 个分类系统;再做五次结构化网络检索(覆盖通用/VLA、LLM 规划、技能发现、操作与仿真、表征/离线 RL),筛出 225 篇 landscape 工作,每条都核验标题、首作者、年份、arXiv ID/DOI。第二步是归位判定:核验通过的工作要进 77 强须过三关——轴上可定位、独特性(带来新机制而非近亲变种)、可全字段刻画,否则退到附录 landscape 表。第三步是机制定义(Table 3),给 F、M、S 写死 if-and-only-if 条件,如「执行落地信号且用于任务内改码才算 F」「跨任务存且可检索才算 M」「维护多候选且按执行得分选才算 S」。第四步是把每个系统映射到 Figure 2 的格子并打 F/M/S 分,输出 Figures 2、Tables 2–9 一整套对比表与一份技能经济开放问题清单。
技术新颖性
技术新颖性集中在三点。一是「自改进阶梯」作为组织原则——把 code-as-policy 的工作从扁平罗列变成单调上升的五级(零样本合成 → 任务内自修复 → 技能库积累 → 进化搜索 → 全闭环),每级用 F/M/S 合取严格定义,这是既有综述没有的。二是操作化的边界判定(Table 3),把长期含糊的「这算不算 feedback/memory/search」用可复现的判据钉死,例如明确「训练好的价值函数若运行时不被查询则不算 F」「一次性采样不选优不算 S」。三是把学术分类法和商业技能经济(UniStore)连起来,提出三层技能栈模型并指出「静态回放 vs 现场自适应」的根本缺口,以及用四个可测度量(成功-交互曲线、技能库复用率、跨本体迁移损失、溯源覆盖率)把开放问题变成可验证的议程(Table 9)。相比之下,最近的综述要么只覆盖权重一极,要么只谈基础模型,无一触及自改进轴与技能经济。
实验结果
本文的「结果」是一组结构性发现。规模:77 分类系统 + 225 landscape = 302 系统,加 7 篇先前综述与 1 行业参考共 310 参考文献,横跨 2016–2026、分 6 支。时间趋势(Figure 7):两极都很新,但 code-as-policy 是更大更快增长的一极——权重侧 11 个 VLA 对技能侧 27 个 code-as-policy。自改进阶梯(Table 4)人口向上递减:零样本 13、自修复 6、技能库 5、进化搜索 3,而 F+M+S 全闭环顶层格只有 ASPIRE、ENPIRE、RoboClaw 三个且均诞生于 2026——这个稀疏性是全文最重要的结构性观察。「skill」一词至少有五种含义(Table 5),只有「代码」同时可检视、可适配、可组合,也唯有它能免梯度自改进。代表数据:Eureka 在 29 任务套件上对 83% 任务超过专家人工奖励;Open X-Embodiment 汇聚 60 数据集、22 本体、超百万轨迹。市场诊断:UniStore 一键技能全是静态回放,处于分类法最弱位置,三层技能栈中 Adapt 层完全空缺。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| code-as-policy 自改进阶梯定位(覆盖度) | F+M+S 顶层格的系统数 | 识别并定位出仅 3 个(ASPIRE、ENPIRE、RoboClaw,均为 2026) | 先前综述:未按自改进度组织,0 个被点名的顶层系统 | 首次命名该格子并显式标记其稀疏性 |
| 「技能」一词的语义辨析 | 区分出的含义数与可自改进属性 | 5 种含义,仅代码技能免梯度自改进(潜在策略 $\pi(a\mid s,z)$、option、代码、App、商品) | 文献普遍混用同一术语 | 首次系统拆分并给出可检视/可适配/可组合/可分发的四维属性表 |
| 技能市场能力定位 | 市场技能在分类法中的层级 | UniStore 等只交付静态回放,位于最底层;Build 与 Distribute 层有、Adapt 层空缺 | vendor 宣称「每个技能经扫描、测试、验证」 | 指出静态回放 vs 现场自适应的根本缺口,并给出 7 个开放问题 |
| 综述覆盖广度(与相关工作对比) | 权重/代码/技能/奖励/自改进/经济 六轴覆盖 | 六轴全覆盖(✔✔✔✔✔✔) | 最接近的 7 篇综述最多覆盖权重一轴且无自改进轴(Table 1) | 唯一同时覆盖自改进轴与技能经济的综述 |
局限与改进
作者在 §5 明确承认四点局限。其一,组织轴偏 code-centric,刻意凸显「能写并改程序」的系统,把权重策略(§3.2)和 RL 技能发现(§3.4)当背景而非分类对象,一篇以表征学习或真实数据采集为中心的综述会画出不同的地图。其二,所强调的 §3.1.5 前沿由非常新、部分是同期发表的系统组成,跨系统的基准数字不可直接比较,因此只能定性报告能力而不能排名方法。其三,领域变化快,写作期间仍有 2025–2026 系统在陆续发布,覆盖应被读作一个快照。其四,「技能经济」框架只基于写作时单一厂商的市场,被当作开放问题的动机而非成熟结论。我自己的补充观察是:本文不做任何定量元分析(如跨系统成功率聚合),所有 F/M/S 归类和「轴可定位」三关判定仍依赖作者主观判断,可复现性偏弱;同时范围限定在操作技能相关的感知/导航/移动之上,纯导航与移动工作被排除在分类法之外。
独立分析的弱点
弱点一:定性为主、缺定量。作者主动放弃跨系统成功率聚合,导致「哪个自改进等级收益最大」无法用数字回答;改进方向是建一个共享交互预算下的元分析协议,把 Table 9 的四个量做成标准报告。弱点二:归类主观性。三关判定(轴可定位、独特、可全字段刻画)虽给了判据,但「同一点的变种是否进 77 强还是退到 landscape」仍靠人工裁决,易引入偏差;改进方向是发布可机器执行的本体与机制标注规则集,让 77/225 划分可复算。弱点三:顶层格子太新、样本太少(仅 3 个 2026 系统),任何关于全闭环优越性的结论都缺统计支撑;改进方向是尽快在 LIBERO-100 这类终身流上跑统一的 success-vs-interactions 曲线。弱点四:scope 偏窄,纯导航/移动被排除,而技能经济里的送餐、巡检机器人恰恰强依赖这两类;改进方向是把分类法扩到非操作技能。弱点五:技能经济只锚定 Unitree 一家,市场趋势证据单薄;改进方向是纳入更多厂商与开源 hub 的横向数据。
未来方向
作者提出(§6)并附四项可测度量(Table 9、Figure 11)的议程。方向一:自改进的标准化评测——做像 LIBERO 那样终身操作基准的协议,固定交互预算下统一报告成功-交互曲线及其面积、技能库复用率,让「自改进」从口号变成可比的数字。方向二:把自适应做成市场一等公民——下载的技能不再是冻结产物而是起点,用 §3.1 的 F+M+S 闭环在现场专门化到本地机器人,成功度量是适配前后迁移损失之差与溯源核查覆盖率。方向三:弥合 RL 与代码两种技能风味——做接口让代码能包裹、精炼学习到的策略,又能把策略蒸馏回可检视代码,使 §3.1 的自改进机器同时作用于两边,进度由「复用率跨家族迁移」衡量。方向四:技能经济治理——跨本体可移植性认证、溯源与信任、安全验证(code-as-policy 技能在新场景下行为对一般情况不可判定)、技能组合的共享接口与前后条件演算、跨厂商技能本体标准、本地库与共享市场的混合激励。可延伸的有:把潜在技能发现(DIAYN/METRA)与代码库统一、把奖励合成(Eureka)与全闭环(ASPIRE)拼成自动「写奖励→训策略→蒸馏成代码技能」的更大回路。
复现评估
对综述而言,复现性指「能否重建语料与分类」而非重跑实验。本文相当透明:方法学用 PRISMA 2020 风格画成 Figure 4,明确两轮采集(种子+滚雪球给 77 强,五次结构化检索给 225 landscape),每条文献都核验标题、首作者、年份、arXiv ID/DOI。77 个分类系统在 Tables 2–6 逐个给出年份、会议、交付物、评测域、自改进性、F/M/S 分;225 篇 landscape 在附录 Table 11 按六轴归类;Figures 1、8、9 每张照片都标了来源论文与原图号(Table 10)。但有几处不够:检索用的精确查询串未完整列出;元数据核验失败而被丢弃的候选数「未记录」而非估计——这两点使 77/225 的精确边界不完全可机械复算。算力方面,code-as-policy 只需少量 prompt + 预训练 LLM,VLA 则要 1M+ 演示、22 种本体的大规模预训练,RL 技能发现每本体动辄数百万环境步。整体难度:方法学框架高度可复现,但精确 77/225 划分需人工判定,属中等复现难度。
论文图表
把领域切成两极的招牌图:左侧列出冻结权重的 VLA 策略(RT-1、RT-2、OpenVLA、Octo、Pi-0、CogACT、Gemini Robotics、CrossFormer),右侧列出可执行、可自改进的代码智能体(ProgPrompt、VoxPoser、Code-as-Monitor、REFLECT、TidyBot、Instruct2Act、Prompt2Walk、DoReMi、CaP-X),中间一行字点明单一组织轴。
这是全文的「立轴图」,一图立住「权重 vs 技能」的核心论点,是理解后续所有分类与对照的视觉锚点。
四张示意(非实测)面板画出未来评测的目标形状:(a) 成功-交互曲线应随交互上升而静态回放持平;(b) 技能库复用率随任务增多上升;(c) 跨本体迁移损失从训练本体到未见本体;(d) 溯源覆盖率向目标靠拢——分别对应 LIBERO、Voyager 式代码库、Open X-Embodiment、市场清单。
把抽象的「未来方向」变成可画、可测的曲线形状,是本文从综述走向可执行议程的标志性图,对复现者极其有用。