论文链接:SkillForge: Evolving Verifiable Skills for Reinforcement Learning Agents 发表时间:2026年8月 机构:AMAP, Alibaba Group(阿里巴巴高德地图),纯企业研究团队(Shidong Yang、Ziyu Ma 同等贡献,Yong Wang 项目负责人)。代码未开源(原文未提供 URL)。 领域标签:cs.CL / LLM Agent / 强化学习 / 技能学习 / 自进化

一、论文背景

RL 训练的 Agent 为什么"健忘"?

用 GRPO 等 RL 方法训练 LLM Agent(网页购物、家务指令、API 调用类任务)已是主流范式。但大多数 RL Agent 是**episodic(回合制健忘)**的:每个 episode 结束,这一局学到的东西全部蒸发,下一局从零开始。agent 反复重新发现同样的有效行为——学习效率低下。核心问题:agent 如何跨 episode 积累并复用知识?

两条已有路线及其不足:

  1. 外部记忆(Reflexion、Mem0、Agent Workflow Memory 等):存原始轨迹或其压缩摘要。问题是原始轨迹又长又冗余又嘈杂——回忆"上次发生了什么"不等于提炼"下次该怎么做";压缩摘要仍保留弱接地信息,难以提取可复用的决策知识。
  2. 技能蒸馏(代表工作 SkillRL):把轨迹蒸馏成技能——紧凑的决策原则,记录"做什么、为何有效、何时适用"(类比:岗位操作手册而非工作日志)。SkillRL 证明这条路优于 vanilla RL 与记忆方法,但其技能库是 append-only(只增不改) 的——技能写一次就反复注入 prompt,从不检验是否仍有效。

append-only 技能库的三重缺陷(论文动机):

  • 用法不可观测:技能整包塞入 prompt,agent 决策时是否真用了某个技能无从知晓;
  • 效果不可归因:没有使用信号,成功轨迹是"因为某技能"还是"恰好带着它"无法区分;
  • 质量失控:错误或过时的技能永久留在库里,逐渐污染知识库。

类比:一家公司只招人不考评、只增制度不修订——手册越厚越乱,新员工照着过时流程办事。

二、论文定位和关联工作

谱系一:LLM Agent 基础设施

  • ReAct 交织推理与行动、Reflexion 引入语言化自我反思、AutoGen/CAMEL 扩展到多 agent 协作——但都建立在上下文学习之上,本质 episodic。

谱系二:Agent 记忆

  • 早期:RAG 式轨迹存取(Mem0、G-memory)——存"发生了什么";
  • 近期:压缩为摘要/tips/反思(MemP、ReasoningBank、Evo-memory)——效率提升但仍保留嘈杂信息;
  • 对比:SkillForge 存"决策原则"这一更高抽象层,且每个原则带环境验证的统计证据。

谱系三:技能学习(最直接的谱系)

  • Anthropic 的 Agent Skills、Voyager(开放世界技能库)、Agent0(零数据自进化)、SkillGen(验证的推理时技能合成)——把技能作为结构化经验抽象;
  • SkillRL(最近邻、主对比对象):从原始轨迹递归抽取技能注入 prompt。关键区别表:
维度SkillRLSkillForge
流水线SFT + RLRL only(无需冷启动 SFT)
技能使用prompt 整包注入显式 <skill_call> 调用
训练信号轨迹级技能级(每次调用可归因)
技能库更新只增(库扩张)逐技能验证 + 修订
优化对象技能作为上下文环境动作 + 调用决策联合优化

定位结论:SkillForge 是首个让"技能库演化"与"策略优化"形成闭环的框架——RL 优化技能怎么用,技能使用证据反过来驱动技能怎么改。

三、问题定义

具体问题:RL 训练 LLM agent 时,技能库 B 与策略 π_θ 如何共同演化,使跨 episode 知识持续积累且质量可控?

核心洞察的抽象:SkillRL 的根本缺陷在于技能使用是隐式的(藏在 prompt 里),导致梯度信号与质量证据都不可得。SkillForge 的解法是把技能调用变成显式的离散动作:

联合目标:max_{θ,B} E_d∼D [ E_{τ∼π_θ(·|d,B)} [r(τ)] ]——同时优化策略参数 θ 与技能库 B。

形式化设定:策略 π_θ 在环境 E 中执行多步 episode;每步动作扩展为 a_t = (a_t^env, c_t),其中 c_t ∈ {∅} ∪ S_ret 是可选的技能调用。技能库 B = B^g ∪ ⋃ B_k 分为通用技能与任务类型专属技能两级。

用表格类比深度学习:

SkillForge深度学习对应物
技能库 B外置参数(第二套权重)
<skill_call> 调用事件激活值(可观测的前向信号)
EMA 成功率统计梯度统计(哪些参数在起作用)
reflexion 修订权重更新(修正失效参数)
技能目录注入检索(只激活相关子网络)
多路径归纳数据增广(成功/失败/对比三种视图)
联合优化 max_{θ,B}双时间尺度的交替优化

精妙之处:由于 <skill_call> 标签是生成 token 序列的一部分,RL 的同一个 GRPO 目标函数无需任何修改就同时优化环境动作与调用决策——技能调用从"环境外的提示工程"变成"策略内的可学习行为"。同时每次调用事件与 episode 结局天然绑定,无需任何额外标注就产生逐技能的成效统计。

四、问题解法

框架分三阶段循环。

4.1 技能表示与检索

技能模式(结构化六元组):s = (title, intent, principle, applicability, category, status)——title 是可调用的唯一标识;intent 一句话用途;principle 核心决策策略;applicability 触发条件;category 通用/特定;status 活跃/审查中/已废弃。

初始化:按 SkillRL 方式由初始策略 rollout 并经教师 LLM 蒸馏——成功轨迹→策略模式、失败轨迹→纠正教训。

检索与目录注入:每个 episode 开始,用嵌入检索(任务描述与技能 intent 的余弦相似度)选 top-K(实际 top-6 通用 + top-6 特定),但只注入紧凑目录(title + 一行 intent)到系统提示。完整内容(principle、applicability)只在显式调用后才返回——无论库多大,prompt 始终紧凑。

4.2 技能调用与策略优化

rollout 时 agent 每步输出环境动作 + 可选调用:发出 <skill_call>NAME</skill_call>,框架解析后在下一个观察中返回该技能的完整内容(intent、principle、applicability)拼接在环境反馈之后。

类比:agent 面前摆着一排贴着标签的抽屉(目录),它决定拉开哪个抽屉(调用)取出操作说明(返回内容)再用——拉抽屉的动作被记录在案,成为可审计、可强化的行为。

策略更新:每任务采 G=8 条轨迹,二值结局奖励算组相对优势 Â_i,GRPO 目标(裁剪 + KL 正则)直接优化——调用标签在 token 序列内,“何时调、调哪个"与"环境动作"共享同一梯度流。

轨迹抽象:每条轨迹由 LLM 压缩为保留关键决策、技能调用、结局的结构化摘要,按成败分流存入任务类型缓冲区。

4.3 技能演化(每 I=5 步维护周期)

多路径归纳:教师 LLM 从轨迹抽象合成新技能,按缓冲区状态选模式——

通道可用数据提取什么
提取只有成功 T⁺可泛化策略
修正只有失败 T⁻纠正常见失败的策略
对比成败都有(优先)决定性行为差异

现有技能库作为上下文避免重复生成;新技能经词法匹配+语义相似度去重后入库。

证据驱动的技能验证:每次调用绑定 episode 结局,维护逐技能统计:EMA 成功率 p̂_s ← α·r + (1−α)·p̂_s(α=0.1)与总使用数 n_s。合成欠效分数:

conf(s) = (1−p̂_s) · (1 − 0.5^{n_s/h}),h=20 为使用半衰期

低成功率 × 高使用量 → 高欠效分数(证据充分该技能有问题)→ 送 LLM reflexion 复审:对照近期使用上下文给出 keep 或 revise(改写 principle 与 applicability)。修订的正是当初失败的原因:论文的技能进化案例(Authenticate Before Acting)显示,Step0 粗略版"调用受保护 API 前先登录”→ Step40 加入"验证用户名密码正确获取、确认 token 有效"→ Step80 演化为端到端认证链校验规则(凭据检索→登录→校验非空 token→确认 token 正确传递)。

实现:VeRL 框架;Qwen2.5-7B / Qwen3-4B 单节点 8×H20、Qwen3-30B-A3B 双节点;教师 Qwen3-Max、检索用 Qwen3-Embedding-0.6B。

五、评估指标与实验证据

基准:ALFWorld(文本家庭任务:拿放/检查/清洁/加热/冷却六类子任务);WebShop(电商购物,score 与 success);AppWorld(Spotify/简讯/文件系统/电话等 API 交互,TGC 单任务完成率 / SGC 场景三变体全过的完成率)。

主结果表

方法ALFWorld 总(%)WebShop Succ.(%)AppWorld TGC/SGC
GPT-4o49.831.823.7 / 32.1
GRPO(Qwen2.5-7B)77.666.117.9 / 3.57
Mem0+GRPO54.737.5–
SkillRL89.972.719.0 / 5.36
SkillForge (Qwen2.5-7B)93.683.023.8 / 14.3
SkillForge (Qwen3-4B)87.984.044.6 / 30.4
SkillForge (Qwen3-30B-A3B)94.383.859.5 / 37.5
  • vs GRPO:ALFWorld +16.0、WebShop success +16.9、AppWorld SGC 3.57→14.3(4 倍);
  • vs SkillRL(最强基线,同 7B 骨干):ALFWorld +3.7、WebShop success +10.3、AppWorld TGC +4.8、SGC 5.36→14.3 近 3 倍——无需 SkillRL 的 SFT 冷启动(无冷启动下平均再 +6.3%);
  • 闭源模型对比:Qwen2.5-7B 基座裸跑 ALFWorld 仅 14.8,SkillForge 让 7B 开源模型全面超过 GPT-4o(49.8)。

消融实验(Qwen3-4B)

组件ALFWorldAppWorld TGC
完整 SkillForge87.944.6
去显式调用77.9(−10.0)33.3
去技能库79.334.5
去多路径归纳82.136.9
去去重86.438.7
去效果追踪83.636.3
去 LLM reflexion82.139.3

显式调用是最大贡献者(−10.0)——印证"可观测性是归因与优化的前提"。

演化与迁移证据

  • 技能库受控增长:ALFWorld 44→90 条、AppWorld 44→86 条;t-SNE 显示新技能持续扩展进初始库未覆盖的语义区域而非原地膨胀;
  • 跨模型迁移:Qwen3-4B step-80 技能库直接给 30B 用(零训练):ALFWorld 34.3、AppWorld 31.5——反超 30B 自进化库的 30.4;后期库一致优于早期库(32.9 vs 27.9)——技能存的是可迁移知识而非模型私有产物;
  • 训练动态:初期因学调用开销略落后,随后反超且差距持续拉大(复利效应);
  • 教师敏感性:self-teacher(4B 自教)也全面超 GRPO 基线(WebShop 79.4→82.0)——框架本身独立起作用;Qwen3-Max 教师再抬升(84.0)——框架与教师质量互补;
  • 效率:技能相关开销 <10%,端到端训练时间反而比 SkillRL 短(AppWorld 16.5h vs 18.7h)——可复用技能缩短 rollout。

六、效果优势的根源解释

对比对象:SkillRL——append-only 技能库 + prompt 整包注入。它为何曾经有效?因为技能本身(蒸馏的决策原则)确实携带比原始轨迹更高密度的可复用知识,注入后模型模仿成功模式的概率提高。

SkillRL 的根本局限(机制层):技能与结局之间的因果链在轨迹中不可见。整包注入意味着:(a) 梯度层面,RL 只能对"带这套技能的轨迹"整体升降概率,无法区分"用了技能 A 成功"与"带着技能 A 但没用";(b) 数据层面,成功轨迹中每个技能的边际贡献无法估计,库的更新没有任何证据来源;(c) 质量层面,错误技能没有淘汰通道,其负效应混入整体信号持续污染。

SkillForge 的因果链:

  1. 显式 <skill_call> → 调用可观测:每次调用成为轨迹中的离散 token 事件。机制上这把"技能使用"从背景上下文(无梯度路径)移入动作空间(有梯度路径)——GRPO 能对"调用了有用技能后成功"的序列段分配正优势,对"调用无效技能"的序列分配负优势,正负样本在调用维度上分化。消融的 −10.0pp 直接量化了这条路径的价值。
  2. 调用事件 × episode 结局 → 逐技能证据:EMA 成功率成为每个技能的可靠质量信号。高欠效分数触发 reflexion 修订,库不再被错误技能污染(对比 append-only 的单调恶化风险);44→90 的受控增长 + t-SNE 向新语义区域扩展,证明"增长来自新情况而非重复堆叠"。
  3. 对比式归纳提取"决定性差异":成对的成功/失败轨迹做 diff,天然剥离环境共量(同样的观察、同样的初始状态),剩下的就是导致结局分叉的行为差异——比单纯总结成功模式(可能包含冗余步骤)信噪比更高。
  4. 验证-归纳-优化闭环的复利:训练早期学到的调用习惯让后期轨迹产生更高质量的技能证据,更好的技能又提高 rollout 效率——训练曲线后期差距拉大与端到端时间反超 SkillRL(可复用技能缩短 rollout)是这一复利的直接体现。
  5. SGC 近 3 倍增长的特定机制:SGC 要求同场景三个变体全过——考的是一致性而非峰值能力。技能的 applicability 条件(何时适用)经过 reflexion 迭代打磨后,调用决策在变体间更稳定;append-only 库里未经验证的技能在变体上表现漂移。

反事实验证:去显式调用 −10.0(归因路径消失);去技能库 −8.6(知识来源消失);去效果追踪 −4.3 与去 reflexion −5.8(质量守护消失,两者守不同失败模式——前者漏检退化的技能,后者误改偶发失败的技能);去多路径归纳 −5.8(丢失对比通道的差异信息)。

为什么 4B 的技能库能反超 30B 自进化库:技能内容是环境结构的知识(如何枚举用户数据、如何认证),不依赖策略模型的参数量——4B 在足够长的演化中积累了同样(甚至更聚焦)的环境知识。这与 SkillForge 内化的"知识存在库中而非参数中"的设计一致。

七、必要知识反推

领域知识层

  • 三大基准的任务形态与指标语义(尤其 AppWorld 的 TGC vs SGC 区分——单任务能力 vs 跨变体一致性),否则无法解读"SGC 近 3 倍"的独特含义;
  • agent 与环境交互的基本循环(观察-动作-奖励)与 episodic 设定的含义。

方法论知识层

  • GRPO 及组相对优势估计——理解"调用标签在 token 序列内 ⇒ 无需改目标函数即联合优化"这一关键设计的全部意义依赖于此;
  • SkillRL 的技能蒸馏管线(SkillForge 的初始化沿用它)及其 append-only 局限的机制成因;
  • 外部记忆方法谱系(Mem0/SimpleMem/ReasoningBank)——定位"决策原则抽象层"相对于"轨迹回忆层"的差异;
  • EMA 统计与半衰期设计——置信随使用量累积的直觉(几次失败的证据弱于几十次失败的证据);
  • 嵌入检索——目录注入的 top-K 机制。

工程知识层

  • VeRL 训练框架、多卡并行配置(8×H20 / 16×H20)、GRPO 超参(G=8、lr 1e-6、KL 1e-3、温度 0.9);
  • prompt 工程:目录注入格式、调用指令(“不破坏环境动作格式”)、三套模板(抽象/归纳/reflexion)的设计细节;
  • 技能库运维:去重的两级判定(词法+语义)、状态机、缓冲区分流。

知识融合的关键节点

  • “技能调用 = 动作"的等价改造:把 prompt 工程问题(技能怎么注入)重写为 RL 问题(调用是可学习动作)——需要同时理解上下文学习的局限与策略优化的机制,是全文创造性核心;
  • “可观测性 → 可归因 → 可验证 → 可演化"的依赖链:意识到质量证据的缺失根因是使用不可观测,因此解法不是"更好的验证器"而是"让使用显式化”——证据链设计先于算法设计;
  • 对比归纳的差异逻辑:借用对照实验思想(控制共量、暴露差异)于知识提取——成败对是最好的天然对照组。

八、论文中可以提取的通用性灵感

灵感1:把"隐式使用"改造成"显式动作”,让优化与归因自动成立

  • 核心思想:任何辅助资源(知识、工具、技能)若以背景方式消费,其贡献不可归因、质量不可验证;把它变成显式的、可记录的调用动作,梯度与证据就会自动产生。
  • 论文证据:显式调用消融 −10.0pp(最大单项);调用事件与结局绑定免标注产生逐技能统计;GRPO 零修改联合优化两类决策。
  • 推广场景:①RAG 系统记录"引用了哪条文档"用于检索质量归因;②团队知识库的"文档被谁何时使用"埋点;③工具调用的收益归因分析;④教育中"解题时查阅了哪个知识点"的学习分析。

灵感2:知识库需要"证据驱动的淘汰机制"而非只增不减

  • 核心思想:持续积累的知识必须配套使用证据的统计与修订通道(EMA 成功率 × 使用量的欠效分数),否则错误知识单调累积污染系统。
  • 论文证据:conf(s) 公式(低成功率×高使用=强证据);去效果追踪 −4.3、去 reflexion −5.8 各守不同失败模式;44→90 受控增长 + t-SNE 区域扩展(增长来自新覆盖而非冗余)。
  • 推广场景:①企业 SOP 的定期证据复审;②推荐系统候选池的淘汰机制;③科研文献库的"被引用且可复现"加权;④法规/标准库的日落条款设计。

灵感3:成对成败对比提取"决定性差异",信噪比高于单向总结

  • 核心思想:对同一任务的成败样本做差异分析,天然控制环境共量,提取的是导致分叉的因果性行为——比只总结成功模式更纯净。
  • 论文证据:三通道归纳中对比通道优先(成败都有时);案例技能从粗略到端到端认证链的三步进化均由失败模式驱动。
  • 推广场景:①A/B 测试的配对分析;②医疗病历的对照研究;③故障诊断的成对日志 diff;④复盘方法学的"关键决策点还原"。

灵感4:外置知识可以跨载体迁移——知识存于结构而非参数

  • 核心思想:以可读结构(而非参数)承载的经验知识,其价值独立于产生它的模型,可被更强模型直接继承甚至放大。
  • 论文证据:4B step-80 库给 30B 用(AppWorld 31.5)反超 30B 自进化库(30.4);后期库一致优于早期库;self-teacher 设定下框架仍独立起作用。
  • 推广场景:①小模型产数据、大模型消费的分工;②组织知识管理与员工流动的解耦;③开源社区的模型无关 prompt/skill 资产;④跨代系统升级时的经验迁移。

灵感5:双系统联合优化的"交替时间尺度"模式

  • 核心思想:快系统(策略 θ 每步更新)与慢系统(技能库每 I=5 步维护)解耦交替——策略产生证据,证据驱动库演化,库再改变策略的搜索空间,形成复利循环。
  • 论文证据:训练曲线后期差距拉大(复利);端到端时间反超基线(技能缩短 rollout,优化反哺效率);初期投入(学调用开销)换后期收益。
  • 推广场景:①课程学习与模型能力的交替升级;②企业"执行层-制度层"的双速迭代;③进化算法与学习的混合(Lamarckian vs Baldwin 效应);④个人成长中技能沉淀与刻意练习的节奏设计。