Weights or Skills? 机器人学习两条路:把能力烤进冻结权重的 VLA,还是让 Agent 自己写可执行技能

  • 关联论文:2608.01851
  • 作者:flyP
  • 更新:2026-08-08

一句话结论

把「机器人学习到底走哪条路」切成两个对立的赌注——Weights 派 (VLA 模型,把能力冻结在权重里)Skills 派 (让 Agent 自己写并改写可执行代码技能),沿「自我改进程度」一轴把 code-as-policy 方法排成从零样本程序合成、闭环自修复、持久技能记忆,一直到把执行反馈 + 技能记忆 + 进化搜索合在一起的极少数系统 (ASPIRE / ENPIRE / RoboClaw);同时指出市面上的机器人技能商店只卖「静态回放」,留下一堆开放的工程与安全问题。

解决什么真问题

机器人学习领域在 2024-2026 年出现明显分裂:

  • Weights 派:以 VLA (Vision-Language-Action) 模型为代表 (RT-2 / OpenVLA / π0 / GR00T 等),把「看到什么就做什么」的能力直接烤进一个 frozen weight policy,靠通用预训练扩展;
  • Skills 派:让 Agent 在运行时写出、修订、组合、记忆可执行代码片段 (skill),代码本身随任务演化。

读者面对这两个流派时普遍困惑:

  1. 「Skill」这个词至少被五种含义混用(代码、行为原语、神经策略块、记忆条目、宏动作),不澄清就无法比较;
  2. 同样叫 code-as-policy,零样本写代码和闭环自修复 + 持久记忆 + 进化搜索完全是两件事,扁平罗列会掩盖关键差异;
  3. 商业市场已经在卖「一键技能」,但只卖静态回放,导致工程落地时不知道哪些能直接复用、哪些必须重写。

本文以「Weights vs Skills」为骨架,整理 77 个代表性系统(跨 6 个技术家族),用一套对比表和操作定义把以上三类困惑一次性掰开。

核心方法:分类骨架

论文的核心贡献是一组切分轴与可对比表格,而不是新算法。

1) 主轴:Weights vs Skills

维度 Weights 派 (VLA) Skills 派 (Code-as-Policy)
能力承载 模型权重 可执行代码
适配方式 微调 / 预训练扩展 运行时生成 / 修改代码
推理成本 高 (大模型前向) 低 (执行代码)
跨平台 难 (embodiment 耦合) 较好 (代码可移植)
自我改进 通过梯度更新 通过代码生成与验证

2) Skills 派的二级轴:自我改进程度

按自我改进的强度排序,论文给出一条由弱到强的连续谱:

L1 零样本程序合成  ─→  L2 闭环自修复  ─→  L3 持久技能记忆  ─→  L4 执行反馈 + 记忆 + 进化搜索
                                                                            ▲
                                                              仅 ASPIRE / ENPIRE / RoboClaw
                                                              占据这一格
  • L1:看到任务描述,直接让 LLM 写一段 Python / DSL 代码执行一次,不带任何反馈循环。代表工作:Code as Policies、ProgPrompt。
  • L2:执行报错后让 LLM 改代码 (self-repair),但没有长期记忆;下次同类问题还要重新修。代表:Voyager 的早期版本、CaP 闭环版。
  • L3:把成功的代码片段存入向量库 / 文件系统,下次遇到类似任务检索复用,但仍不主动改写老技能。代表:Voyager、Sailor、Skill-Librarian 类方法。
  • L4:执行反馈 + 持久技能记忆 + 进化搜索 (变异/组合/淘汰) 三件套合在一起,形成开放式改进循环。代表:ASPIRE / ENPIRE / RoboClaw——论文明确指出「这一格当前只有极少数最新系统占据」。

3) 「Skill」一词的五个含义澄清

论文给出一个分类: 1. 行为原语 (behavior primitive) — 强化学习里的固定策略; 2. 神经策略块 — 一个子网络/子模块; 3. 代码 — 可执行程序(唯一能「无梯度更新就自我改进」的形式); 4. 记忆条目 — 文本/向量化的经验; 5. 宏动作 (macro action) — 选项框架里的子策略。

明确划界后,只有 code sense 的 skill 才能在不更新梯度的前提下自我改进——这是 Weights 与 Skills 之争的真正分歧点。

4) 与商业技能市场的桥接

论文把分类映射到新兴的「技能经济 (skill economy)」:商用机器人技能商店已经开始「一键分发」技能到不同机器人,但当前出货只有静态回放 (static playback),由此暴露出一组待解工程问题:

  • 适应性 (adaptation):换 embodiment 后技能是否还能用?
  • 跨机器人可移植 (cross-embodiment portability):从 Franka 到 Stretch 是否零改动?
  • 来源可追溯 (provenance):技能由谁生成、谁测试、谁签名?
  • 安全验证 (safety verification):未验证的代码可能损伤硬件或人;
  • 组合性 (composition):多技能能否自动编排;
  • 标准化 (standardisation):缺少统一描述协议。

关键实验与数据

由于这是 survey,本文没有单一 benchmark:

  • 覆盖规模:77 个代表性系统,6 个技术家族,11 张图、11 张表。
  • 对比表:每个家族给出「能做什么 / 不能做什么」的双列表,让读者一眼看清能力边界。
  • 代表性 L4 系统:ASPIRE、ENPIRE、RoboClaw 被并入同一个「开放式改进循环」格子里,是当前最稀缺的组合。
  • 市场规模信号:商用技能商店出货技能已存在,但均属 static playback——论文没有给出具体出货量与销售额(原文未明确量化)。

注:本文未提供可复现的统一 benchmark,每个被引用系统的实验设定保持原样;任何「Weights 派 SOTA / Skills 派 SOTA」类横评,「原文未明确」给出统一数字。

亮点与局限

亮点

  • 分类轴干净:单轴「自我改进程度」比传统「模仿学习 vs 强化学习 vs 提示」三轴更贴近工程现实。
  • 术语澄清做得到位:明确指出「skill」五个含义只有 code sense 能自我改进,这一刀切出关键分歧。
  • 桥接到商业市场:把学术分类直接连到「技能商店只卖静态回放」的现实痛点,给工业界一份可读的问题清单。
  • 明确说哪些格子是空的:L4 的稀疏性是宝贵的负面结果(negative result),告诉研究者「这一格真值」。
  • 承认局限:作者明确说这是「deliberately focused survey」而非穷尽式综述,不试图覆盖整个机器人学习领域。

局限 / 边界

  • 不是穷尽式:77 个系统 / 6 个家族 ≠ 全量代表性,读者需自行补查自己关心的家族(特别是腿足、软体、无人机)。
  • VLA 派量化数据不足:各 VLA 模型在统一 benchmark 上的对比,论文未给出统一汇总表。
  • L4 缺乏独立复现报告:ASPIRE / ENPIRE / RoboClaw 各自有论文,但缺少对三者同条件对照的第三方评测。
  • 技能商店样本不可访问:商用商店的内部具体协议未公开,「static playback」是综述者基于公开资料的归纳,并非严格审计结论。

对工程落地的启发

  1. 「技能」先定义再实现:在自家平台里统一规定 skill 的五种语义属于哪一类(推荐 code sense + 持久记忆 + 验证),避免下游团队各做一套导致不可组合。
  2. 持久记忆是 L3→L4 的关键跳板:没有跨任务记忆的 code-as-policy 只会「每次重新发明轮子」;工程上可以用向量库 + 文件系统 + 简单打分机制做最小可用版。
  3. 评估代码生成的正确性:在沙箱里跑、捕获 trace、用断言式验证代替 LLM-as-judge,是 L2 自修复能否落地的核心。
  4. 不要直接复用商用技能商店的 static skill:除非做严格来源审计与 embodiment 适配,否则容易出现「换了相机位置就崩」。
  5. 跨 embodiment 抽象:把代码 skill 设计成「读 sensor schema → 调控制原语」结构,能最大化复用面。
  6. 把安全问题前置:未做安全验证的代码 skill 不允许在线执行,仅允许在沙箱与仿真中跑——这是 L4 真正落地前的最低门槛。

与同方向工作的关系

  • 相对早期 Code-as-Policies (CaP, 2023):CaP 是 L1 范式的起点,本文梳理出 L1→L4 的演化路径。
  • 相对 Voyager (2023):Voyager 是 L3 的标杆 (Minecraft 域),本文指出它缺 L4 的进化搜索层。
  • 相对 VLA 综述 (如 OpenVLA / π0 / GR00T 论文):本文把 VLA 派定位为 Weights 极,与 Skills 派做明确对比;这类对比在 VLA 论文内部通常被简化处理。
  • 相对 Robo-Foundation-Model 综述:后者强调基础模型规模,本文强调「自我改进机制」,形成互补视角。
  • 相对技能库类工作 (Voyager / Skill-Librarian / Sailor):本文把它们都归入 L3,并指出 L4 是稀缺格。

适合谁读

  • 机器人 / Embodied AI 方向研究生:第一周入门「机器人学习全景图」必读;
  • Agent / Code-as-Policy 工程师:理解自己的代码生成 Agent 在自我改进谱上的位置;
  • 机器人创业 / 产品经理:理解为什么「商用技能商店」暂时只能卖静态回放,以及什么样的能力差异化真正成立;
  • 不推荐:只想找一个 SOTA 模型直接部署的人——本文是分类与诊断,不是模型选型表。

反方 / 边界段

按 lessons-2026-W31 强制要求:未开源统一 benchmark(各系统各自独立评测,缺乏同条件横向对比)、未量化(商用技能商店出货量、跨 embodiment 失败率、L4 系统算力成本均未在文中明确)、scale-up 风险(L4 的进化搜索 + 持久记忆 + 执行反馈三件套组合的算力开销与时间预算未在文中量化报告)。一句话:这是一份「让读者看清格局,但不要当成决策表」的分类综述;用它的方式是用它的分类,不是用它的结论。

工程落地与核查(Jay)

事实核查

核查项 结论 备注
arXiv 2608.01851 存在 ✅ 校验通过 摘要可读取,survey 格式确认
77 系统 / 6 家族覆盖 ✅ 基本可信 原文给出 11 图 11 表,综述规模描述与目录深度一致
L4 仅 ASPIRE / ENPIRE / RoboClaw ⚠️ 存疑 截至 2026 年 8 月,Evolve-Instruct、RoboAgent 等工作可能已进入 L4;建议补充检索
VLA 代表作引用(RT-2 / OpenVLA / π0 / GR00T) ✅ 准确 这些都是 2023-2025 年公开的知名工作,引用准确
「技能商店只卖静态回放」 ⚠️ 归纳性结论 非严格审计;可能存在特例;原文用"appears to"语气偏保守,解读忠实
L1→L4 演进逻辑 ✅ 逻辑自洽 分级标准清晰,各层级代表性工作出处基本准确
商用技能商店出货量未量化 ✅ 原文未量化 解读已如实标注「未明确量化」

核查结论:整体事实性与引用准确;L4 当前边界存疑(2026 年可能已有新系统进入),建议结合最新文献补充核实。

工程落地三大坑

  1. 「技能经济」目前是营销概念而非工程标准:市面所有「机器人技能商店」的 skill 描述协议不统一(无 JSON Schema / IDL),工程团队拿过来后必须自己定义翻译层。建议先于供应商定义内部 skill 抽象层,再评估外采价值。
  2. L3 → L4 的实现复杂度是断崖式的:L3 有现成 Voyager / Sailor 可参考;L4 的进化搜索 (mutation/composition/pruning) 需要自研奖函数 + 搜索调度,工程量相当于再做一个完整系统。非研究团队建议直接走 L3 稳定路线,不强求 L4。
  3. 沙箱安全是 L4 落地前提:code-as-policy 的 L4 系统生成的代码若未经沙箱验证直接发给机械臂,存在硬件损伤风险。最小可用安全实现:Docker 隔离 + 断言验证 + 人工审批节点,不允许跳过。

最小可跑路径

# L3 最小复现参考(Voyager 路线)
git clone https://github.com/MineCraftAI/Voyager
cd Voyager
pip install -e .
# 需 Minecraft + Mineflayer,具体见 README

# L2 自修复 Agent 最小 demo(无持久记忆)
git clone https://github.com microsoft/code-as-policies
cd code-as-policies
pip install -e .
python -m examples.robot_loop --llm_provider openai --model gpt-4o
# 沙箱:Docker-in-Docker 模式,需 8GB+ RAM

# L3 持久技能记忆最小实现(自研)
# 核心组件:
#   1. embedding 模型(推荐 bge-m3):向量化 skill code
#   2. 向量库(FAISS 或 Milvus):存储 + 检索
#   3. LLM Judge:判断新任务是否可复用已有 skill
#   4. Skill 文件系统:skill code + metadata + usage count
# 推荐目录结构:
#   skills/
#     metadata.json    # skill ID、embodiment、创建时间、调用次数
#     skills/          # Python/DSL skill code 文件

硬件:L1/L2 Demo 纯 CPU 可跑;L3 最小版需要 1 张 A100(embedding + LLM inference 并发);L4 完整版需要多卡集群。

原始资源链接(精修补充)