SkillRL 深度研究报告
论文: SkillRL: Evolving Agents via Recursive Skill-Augmented Reinforcement Learning
作者: Peng Xia, Jianwen Chen, Hanyang Wang 等 (UC Santa Cruz, NEC Labs)
链接: https://arxiv.org/abs/2602.08234
代码: https://github.com/aiming-lab/SkillRL
日期: 2026-02-09
报告日期: 2026-02-23
一句话总结
Agent 不该死记硬背做过的事(存原始轨迹),而该提炼"技能"——SkillRL 用 RL 训练 Agent 一边学技能一边进化技能库,7B 模型干翻 GPT-4o。
解决什么问题
现有 Agent 的记忆方式有两个毛病:
1. 存原始轨迹太啰嗦 — 一次任务执行可能几千 token,充满探索、回溯、冗余步骤
2. 只模仿不抽象 — 记住"上次怎么做的",但不提炼"为什么这样做有效"
人类专家不会记住每个操作细节,而是形成技能——紧凑、可复用的策略。
核心方法:三步走
Step 1: 经验蒸馏 → 技能
用 teacher 模型(o3)对 Agent 的执行轨迹做差异化处理:
- 成功轨迹 → 提取策略模式(什么决策关键、为什么有效)
- 失败轨迹 → 合成失败教训(哪里出错、应该怎么做、通用原则)
关键:失败轨迹不直接保存(太长太噪),而是压缩成反事实知识。
Step 2: 分层技能库(SkillBank)
- 通用技能 $\mathcal{S}_g$ — 跨任务通用策略(如"执行前验证前提条件")
- 任务特定技能 $\mathcal{S}_k$ — 针对特定类型任务(如"拿两个东西时先确认第一个放好了")
每个技能包含:名称 + 原则描述 + 适用条件。推理时用语义相似度检索 Top-K 相关技能注入 context。
压缩效果:比原始轨迹减少 10-20× token,信息密度反而更高。
Step 3: 递归技能进化
技能库不是静态的——在 RL 训练过程中持续进化:
训练 epoch → 验证 → 收集失败案例
↓
teacher 分析现有技能库的盲区
↓
生成新技能 / 修改旧技能
↓
更新 SkillBank → 下一轮训练
形成正循环:Agent 变强 → 遇到新挑战 → 催生新技能 → 继续变强。
实验结果
核心数据
| 方法 | ALFWorld 成功率 | WebShop 成功率 |
|---|---|---|
| GPT-4o | 48.0% | 23.7% |
| Gemini-2.5-Pro | 60.3% | 35.9% |
| Qwen2.5-7B (基线) | 14.8% | 7.8% |
| GRPO (纯 RL) | 77.6% | 66.1% |
| Mem0+GRPO | 54.7% | 37.5% |
| **SkillRL** | **89.9%** | **72.7%** |
7B 模型 + SkillRL 比 GPT-4o 高 41.9%,比 Gemini-2.5-Pro 高 29.6%。
消融实验关键发现
| 去掉什么 | 性能下降 |
|---|---|
| 用原始轨迹替代技能 | -25% (最大) |
| 去掉冷启动 SFT | -20% |
| 去掉分层结构 | -13% |
| 去掉动态进化 | -5.5% |
最重要的发现:用原始轨迹替代技能库导致最大降幅。证明"抽象 > 记忆"。
与我们的关联
OpenClaw 的 Skill 系统 vs SkillRL
有趣的是,SkillRL 引用了 Anthropic 的 Agent Skills 概念,而 OpenClaw 的 SKILL.md 系统就是这个概念的实际实现:
| 维度 | OpenClaw Skills | SkillRL |
|---|---|---|
| 技能格式 | SKILL.md 文件 | 结构化文本(名称+原则+适用条件) |
| 技能来源 | 人工编写 | 自动从轨迹蒸馏 |
| 技能检索 | 关键词/描述匹配 | 语义相似度 embedding |
| 技能进化 | 人工更新 | RL 训练中自动进化 |
| 参数更新 | ❌ 不改模型 | ✅ GRPO 微调 |
核心差异:我们的技能是人写的外部知识(不改模型参数),SkillRL 的技能是自动蒸馏的 + 与模型参数共同进化。
对我们的启发
1. 失败教训很有价值 — 我们的 MEMORY.md 已经在记"经验教训"(如"绝不编造数据"),但可以更系统化
2. 技能应该有"适用条件" — 当前 SKILL.md 没有明确的 when_to_apply,可以加上
3. 自动进化是方向 — 但需要 RL 训练基础设施,对我们来说太重了。更实际的是:定期回顾失败案例,手动更新技能
与上篇状态机文章的关系
guyskk 的状态机文章解决的是单次运行中的上下文管理(怎么让 Context Window 不爆),SkillRL 解决的是跨任务的知识积累(怎么从经验中学习)。两者互补:
- 状态机 = 短期记忆管理
- SkillRL = 长期技能进化
评分
| 维度 | 评分 |
|---|---|
| 问题重要性 | ⭐⭐⭐⭐⭐ |
| 方法新颖性 | ⭐⭐⭐⭐ |
| 实验说服力 | ⭐⭐⭐⭐⭐ |
| 实用性 | ⭐⭐⭐ |
| 工程可复现 | ⭐⭐⭐⭐ |
亮点: 7B 碾压 GPT-4o 的实验结果非常有说服力。"抽象 > 记忆"这个核心论点被消融实验严格验证了。
局限: 需要 teacher 模型(o3)做蒸馏,RL 训练成本不低。技能库增长到什么程度会出现冗余/冲突?论文没讨论。
参考链接:
- 论文: https://arxiv.org/abs/2602.08234
- 代码: https://github.com/aiming-lab/SkillRL
- Anthropic Agent Skills: https://www.anthropic.com/news/claude-3-family