第一章 SKILLRL 论文核心创新

1. 核心问题与现有方法的本质缺陷

现有LLM智能体的核心痛点是无法从过往经验中有效学习,所有任务执行基本都是孤立的episode。当前主流的记忆增强方法本质上都是“原始轨迹存储+相似度检索”,存在三个致命缺陷:

  • 原始轨迹包含大量探索、回溯、冗余步骤,噪声占比极高,模型难以提取核心决策逻辑
  • 仅存储原始数据,没有抽象出可复用的高层行为模式,本质是“模仿过去”而非“学习规律”
  • 记忆库是静态的,无法与智能体的策略共同进化,随着任务复杂度提升,性能会快速下降

SKILLRL的核心思想是:将原始交互经验蒸馏为结构化、可复用的“技能”,并让技能库与智能体策略在强化学习过程中递归共同进化。这完全不同于传统“存轨迹-查轨迹”的记忆范式,而是模拟人类从经验中提炼技能、再用技能指导新任务的学习过程。

2. 核心创新一:经验驱动的差异化技能蒸馏

传统方法只保留成功轨迹,直接丢弃失败经验,浪费了大量关于“什么不能做”的关键信息。SKILLRL首次提出对成功和失败轨迹进行差异化蒸馏,将冗长的交互过程转化为高密度的可执行知识。

2.1 双轨迹收集与处理

首先用基础模型在环境中采样,同时保留两类轨迹(原文第3页):

  • 成功轨迹集合 ( T^+ = {\tau_i: r(\tau_i)=1} ):包含完成任务的有效路径
  • 失败轨迹集合 ( T^- = {\tau_i: r(\tau_i)=0} ):包含错误决策、边界条件和失败模式

2.2 蒸馏公式与逻辑

使用一个能力更强的教师模型 ( M_T ) 分别对两类轨迹进行蒸馏:

  • 成功轨迹蒸馏(原文第3页公式2):
    s+=MT(τ+,d) s^+ = \mathcal{M}_{T}\left(\tau^{+}, d\right) s+=MT(τ+,d)
    教师模型会提取关键决策点、正确推理逻辑以及可跨任务迁移的通用模式,而非简单复述步骤。
  • 失败轨迹蒸馏(原文第3页公式3):
    s−=MT(τ−,d) s^{-} = \mathcal{M}_{T}\left(\tau^{-}, d\right) s=MT(τ,d)
    教师模型会从失败中提炼四个核心要素:① 精确的失败点;② 导致失败的错误推理或动作;③ 正确的替代方案;④ 避免同类错误的通用原则。这将冗长的失败过程转化为有价值的反事实知识。

2.3 实际效果与案例

该机制实现了10-20倍的token压缩率,同时显著提升了信息的有用性(原文第4页)。例如在ALFWorld的加热任务中,原始失败轨迹“先走到微波炉,再到处找鸡蛋”被蒸馏为任务特定技能 hea_004:“先获取目标物体,再操作对应的电器”(原文第18页案例2),直接解决了这类高频错误。

3. 核心创新二:分层技能库SKILLBANK与自适应检索

蒸馏得到的零散知识需要结构化组织才能被高效利用。SKILLRL构建了一个两层结构的分层技能库SKILLBANK,并设计了对应的自适应检索机制,在有限的上下文窗口内最大化推理效用。

3.1 技能库的分层结构

SKILLBANK严格分为两个层级(原文第3-4页):

  • 通用技能 ( S_g ):适用于环境内所有任务的基础策略,例如系统探索、状态预检查、目标分解、错误恢复等。例如ALFWorld中的 gen_001“系统探索”:“每个可能的表面或容器只搜索一次,优先访问未探索区域”(原文第15页表5);WebShop中的 gen_001“优先核心关键词”:“搜索时包含产品类型和1-2个硬约束,省略次要描述”(原文第16页表7)。
  • 任务特定技能 ( S_k ):针对某一类任务的专业知识,例如ALFWorld的加热/清洁任务、WebShop的服装/电子产品购物任务。这类技能包含领域特有的操作序列、约束条件和常见失败模式。

每个技能都采用统一的三元组结构:(技能ID, 可执行原则, 适用条件),确保模型能准确理解何时以及如何使用该技能。

3.2 自适应检索机制

推理时,智能体根据当前任务描述动态检索相关技能(原文第4页公式4):
Sret=TopK({s∈Sk:sim(ed,es)>δ},K) \mathcal{S}_{ret }=TopK\left(\left\{s \in \mathcal{S}_{k}: sim\left(e_{d}, e_{s}\right)>\delta\right\}, K\right) Sret=TopK({sSk:sim(ed,es)>δ},K)
其中 ( e_d ) 和 ( e_s ) 分别是任务描述和技能的嵌入向量,( \delta=0.4 ) 是相似度阈值,( K=6 ) 是检索的最大技能数量(原文第5页)。

关键设计:通用技能 ( S_g ) 会被永久包含在上下文中,作为所有决策的基础指导;任务特定技能则通过语义相似度动态检索。这种设计既保证了基础策略的一致性,又能针对具体任务提供专业指导。

3.3 上下文效率优势

相比原始轨迹检索,SKILLRL的平均prompt长度减少了10.3%(从约1450token降至约1300token),同时实现了更优的性能(原文第7页图4)。这解决了传统记忆方法普遍存在的“上下文膨胀”问题。

4. 核心创新三:递归技能进化与技能增强的RL训练

这是SKILLRL最具突破性的创新——将技能库视为动态组件,而非静态知识库,让技能库与智能体策略在强化学习过程中共同进化。

4.1 冷启动SFT阶段

直接给基础模型提供技能库几乎没有效果,因为模型不知道如何检索、解释和应用这些抽象技能(原文第5页引用Guo et al., 2025)。因此SKILLRL设计了一个冷启动监督微调阶段(原文第5页公式6):
θsft=argminθLCE(DSFT;θ) \theta_{sft}=arg min _{\theta} \mathcal{L}_{CE}\left(\mathcal{D}_{SFT} ; \theta\right) θsft=argminθLCE(DSFT;θ)
教师模型会生成大量“任务描述+相关技能+正确推理轨迹”的示范数据 ( D_{SFT} ),基础模型通过交叉熵损失学习如何在决策过程中正确使用技能。微调后的模型同时作为RL训练的初始策略和KL正则化的参考策略 ( \pi_{ref} )。

4.2 递归技能进化机制

在RL训练过程中,每经过一个验证周期,系统会自动分析失败轨迹,动态更新技能库(原文第5-6页公式7):
Snew=MT(Tval−,SKILLBank) \mathcal{S}_{new }=\mathcal{M}_{T}\left(\mathcal{T}_{val }^{-}\right., SKILLBank) Snew=MT(Tval,SKILLBank)
具体流程:

  1. 统计每个任务类别的验证成功率,仅对成功率低于阈值 ( \delta=0.4 ) 的类别触发进化
  2. 采用多样性感知的分层采样策略收集失败轨迹,优先选择严重失败的样本
  3. 教师模型分析这些失败,识别现有技能未覆盖的模式,生成新技能或优化现有技能
  4. 将新技能添加到SKILLBANK中,用于后续的RL训练

实际效果:在ALFWorld训练过程中,技能库从初始的55个(12个通用+43个任务特定)增长到最终的100个(20个通用+80个任务特定),其中任务特定技能的增长是性能提升的主要来源(原文第7页图3)。

4.3 技能增强的GRPO优化

SKILLRL使用GRPO作为基础RL算法,但对目标函数进行了关键修改,使其适配技能增强的上下文(原文第6页公式8、9):

  • 归一化优势计算:
    Ai=Ri−mean({Rj}j=1G)std({Rj}j=1G) A_{i}=\frac{R_{i}-mean\left(\left\{R_{j}\right\}_{j=1}^{G}\right)}{std\left(\left\{R_{j}\right\}_{j=1}^{G}\right)} Ai=std({Rj}j=1G)Rimean({Rj}j=1G)
  • 最终目标函数:
    J(θ)=Ed,{τ(i)}[1G∑i=1Gmin(ρiAi,clip(ρi,1−ϵ,1+ϵ)Ai)−βDKL(πθ∥πref)], \begin{array}{r} \mathcal{J}(\theta)=\mathbb{E}_{d,\left\{\tau^{(i)}\right\}}\left[\frac{1}{G} \sum _ { i = 1 } ^ { G } m i n \left(\rho_{i} A_{i},\right.\right. \\ \left.\left.clip\left(\rho_{i}, 1-\epsilon, 1+\epsilon\right) A_{i}\right)-\beta D_{KL}\left(\pi_{\theta} \| \pi_{ref }\right)\right], \end{array} J(θ)=Ed,{τ(i)}[G1i=1Gmin(ρiAi,clip(ρi,1ϵ,1+ϵ)Ai)βDKL(πθπref)],
    关键修改:重要性采样比 ( \rho_i ) 是在包含技能的上下文下计算的,确保策略更新是基于技能增强的决策过程。同时KL惩罚锚定到SFT后的参考策略 ( \pi_{ref} ),防止RL训练过程中模型忘记如何使用技能。

5. 整体算法流程与核心性能

完整的SKILLRL算法流程如原文第4页Algorithm 1所示,分为三个阶段:

  1. 经验蒸馏:用基础模型采样轨迹,蒸馏得到初始技能
  2. 技能库构建:组织成分层的SKILLBANK
  3. 递归进化RL:冷启动SFT → 循环执行GRPO训练 → 验证失败分析 → 更新技能库

核心性能结果

  • 在ALFWorld上达到89.9%的成功率,比纯GRPO高12.3%,比Mem0+GRPO高35.2%,甚至比GPT-4o高41.9%(原文第5-6页表1)
  • 在WebShop上达到72.7%的成功率,比纯GRPO高6.6%
  • 在7个搜索增强QA任务上平均达到47.1%,超过当前SOTA的EvolveR(43.1%)(原文第6页表2)

6. 扩展思考

我认为,SKILLRL的最大贡献是提出了“技能-策略共同进化”的全新智能体训练范式,从根本上解决了传统记忆方法“存而不学”的问题。但同时也存在几个值得改进的方向:

  1. 对教师模型的强依赖:目前技能蒸馏和SFT数据生成都依赖OpenAI o3,成本高且不可控。可以考虑引入迭代自蒸馏机制,用训练好的学生模型逐步替代教师模型,降低成本并提高可控性。
  2. 技能库只增不减:论文中技能库只会不断添加新技能,没有合并和淘汰机制,长期运行会导致检索成本上升和技能冲突。可以引入技能使用率和成功率的评分系统,定期清理低效技能,合并语义相似的技能。
  3. 技能冲突解决机制缺失:当多个技能的指导原则矛盾时,模型没有明确的优先级判断逻辑。可以在技能结构中增加优先级字段,或者让模型在推理时动态评估每个技能对当前任务的适用性。
  4. 跨环境迁移能力有限:目前技能库是针对单个环境构建的,如何将一个环境中学到的通用技能(如目标分解、错误恢复)迁移到全新环境,是未来需要重点研究的问题。

第二章 SKILLRL 具体方法

2.1 整体架构概述

SKILLRL 是一个端到端的智能体训练框架,核心目标是将原始交互经验转化为可复用的结构化技能,并让技能库与智能体策略在强化学习过程中递归共同进化。整体流程分为三个串行且循环的阶段(原文第2-3页图2、第4页Algorithm 1):

  1. 经验蒸馏阶段:用基础模型在环境中采样轨迹,通过教师模型将成功和失败轨迹分别蒸馏为可执行的技能
  2. 技能库构建阶段:将蒸馏得到的技能组织成分层结构的 SKILLBANK,支持高效的自适应检索
  3. 递归进化RL阶段:先通过冷启动SFT让模型学会使用技能,再用GRPO优化策略,同时定期分析验证失败动态更新技能库

与传统记忆增强RL的本质区别是:传统方法将记忆作为策略的外部输入,而SKILLRL将技能库视为与策略同等重要的可训练组件,二者通过失败分析形成正向循环。

2.2 经验驱动的差异化技能蒸馏

2.2.1 双轨迹收集策略

传统方法只保留成功轨迹,直接丢弃所有失败经验,浪费了大量关于"什么不能做"的关键信息。SKILLRL 首次提出同时收集并利用两类轨迹(原文第3页):

  • 成功轨迹集合:( T^+ = {\tau_i: r(\tau_i)=1} ),其中 ( r(\tau) ) 是二进制任务成功指示器
  • 失败轨迹集合:( T^- = {\tau_i: r(\tau_i)=0} )

失败轨迹的价值在于:它能揭示任务的边界条件、常见错误模式和逻辑陷阱,这些信息无法从成功轨迹中推断出来。例如在ALFWorld的加热任务中,"先去微波炉再找鸡蛋"的失败轨迹,能提炼出"先拿物体再操作电器"的通用原则,而所有成功轨迹都会自然遵循这个原则,不会显式体现。

2.2.2 差异化蒸馏逻辑

使用一个能力更强的教师模型 ( M_T )(论文中用OpenAI o3)分别对两类轨迹进行蒸馏,将冗长的交互过程转化为高密度的可执行知识。

  • 成功轨迹蒸馏(原文第3页公式2):
    s+=MT(τ+,d) s^+ = \mathcal{M}_{T}\left(\tau^{+}, d\right) s+=MT(τ+,d)
    教师模型的输入是完整成功轨迹和任务描述,输出是该轨迹对应的核心策略模式。具体会提取三个要素:① 关键决策点;② 正确动作背后的推理逻辑;③ 可跨任务迁移的通用规律。
    案例:ALFWorld清洁任务的成功轨迹"打开冰箱→拿生菜→去水槽→清洗→放台面",被蒸馏为技能 cle_001:“清洁任务遵循 定位→获取→清洁→放置 的四步流程”(原文第18页案例1)。

  • 失败轨迹蒸馏(原文第3页公式3):
    s−=MT(τ−,d) s^{-} = \mathcal{M}_{T}\left(\tau^{-}, d\right) s=MT(τ,d)
    教师模型不会直接存储失败轨迹,而是将其转化为反事实知识,具体输出四个要素:① 精确的失败发生点;② 导致失败的错误推理或动作;③ 正确的替代方案;④ 避免同类错误的通用原则。
    案例:WebShop中"选完尺码后直接点击购买,没注意价格上涨"的失败轨迹,被蒸馏为技能 gen_007:“对于价格区间商品,选择完所有变体后必须重新确认最终价格”(原文第16页表7)。

2.2.3 蒸馏效果量化

该机制实现了10-20倍的token压缩率,同时显著提升了信息的有用性(原文第4页)。例如一个平均长度为2000token的原始轨迹,蒸馏后得到的技能仅需100-200token,且去除了所有探索、回溯和冗余步骤,只保留核心决策逻辑。

2.3 分层技能库 SKILLBANK 与自适应检索

2.3.1 技能库的分层设计

SKILLBANK 遵循 Anthropic 提出的 Agent Skills 设计原则,采用严格的两层结构(原文第3-4页):

  • 通用技能 ( S_g ):适用于环境内所有任务的基础策略,与具体任务类型无关。典型例子包括:
    • gen_001 系统探索:每个可能的表面或容器只搜索一次,优先访问未探索区域(原文第15页表5)
    • gen_004 早验证早放弃:进入产品页后立即检查核心约束,不满足则直接返回(原文第16页表7)
    • gen_015 动作前检查:执行任何操作前先确认前提条件(手是否空闲、容器是否打开等)
  • 任务特定技能 ( S_k ):针对某一类任务的专业知识,仅适用于该任务类别。典型例子包括:
    • hea_004 先物体后电器:加热任务中必须先拿到目标物体,再去操作微波炉(原文第18页案例2)
    • app_004 检查变体价格:服装类商品选择尺码颜色后必须重新确认价格(原文第17页案例1)

每个技能都采用统一的三元组数据结构,这是工程实现的核心:

{
  "id": "gen_001",
  "title": "系统探索",
  "principle": "每个可能的表面或容器只搜索一次,优先访问未探索区域",
  "when_to_apply": "目标物品未找到且存在未探索区域时"
}

2.3.2 自适应技能检索机制

推理时,智能体根据当前任务描述动态检索相关技能,在有限上下文窗口内最大化推理效用(原文第4页公式4):
Sret=TopK({s∈Sk:sim(ed,es)>δ},K) \mathcal{S}_{ret }=TopK\left(\left\{s \in \mathcal{S}_{k}: sim\left(e_{d}, e_{s}\right)>\delta\right\}, K\right) Sret=TopK({sSk:sim(ed,es)>δ},K)

  • ( e_d ):当前任务描述的嵌入向量
  • ( e_s ):技能的嵌入向量
  • ( \delta=0.4 ):相似度阈值,低于该值的技能不会被检索
  • ( K=6 ):最多检索6个任务特定技能(原文第5页)

关键设计决策:通用技能 ( S_g ) 会被永久包含在上下文中,不参与相似度检索。这样做的原因是:通用技能是所有决策的基础,遗漏任何一个都会导致严重错误;而任务特定技能只需要针对当前任务检索最相关的几个即可。

2.3.3 上下文效率优化

相比传统的原始轨迹检索方法,SKILLRL的平均prompt长度从约1450token降至约1300token,减少了10.3%(原文第7页图4)。更重要的是,它在减少上下文长度的同时实现了更优的性能,解决了传统记忆方法普遍存在的"上下文越长,性能越差"的矛盾。

2.4 递归技能进化与技能增强的 GRPO 训练

2.4.1 冷启动 SFT 阶段

直接给基础模型提供技能库几乎没有任何效果,因为基础模型不知道如何检索、解释和应用这些抽象技能(原文第5页引用Guo et al., 2025)。因此SKILLRL设计了一个必不可少的冷启动监督微调阶段(原文第5页公式6):
θsft=argminθLCE(DSFT;θ) \theta_{sft}=arg min _{\theta} \mathcal{L}_{CE}\left(\mathcal{D}_{SFT} ; \theta\right) θsft=argminθLCE(DSFT;θ)
其中 ( \mathcal{D}_{SFT} ) 是教师模型生成的技能增强示范数据集,每个样本的格式为:(任务描述, 相关技能, 正确推理轨迹)。教师模型会在推理轨迹中显式标注每个步骤使用了哪个技能,让基础模型清晰地学习技能与动作之间的映射关系。

论文中使用的SFT数据量:ALFWorld 7500条,WebShop 2400条(原文第14页表4)。微调后的模型同时作为RL训练的初始策略和KL正则化的参考策略 ( \pi_{ref} )。

2.4.2 递归技能进化机制

这是SKILLRL最具突破性的创新:将技能库视为动态组件,而非静态知识库,让技能库与策略共同进化。具体流程如下(原文第5-6页):

  1. 触发条件:每经过一个验证周期,统计每个任务类别的成功率,仅对成功率低于阈值 ( \delta=0.4 ) 的类别触发进化
  2. 失败轨迹采样:采用多样性感知的分层采样策略,优先选择严重失败的样本,同时通过轮询采样保证不同失败模式的覆盖
  3. 新技能生成(原文第6页公式7):
    Snew=MT(Tval−,SKILLBank) \mathcal{S}_{new }=\mathcal{M}_{T}\left(\mathcal{T}_{val }^{-}\right., SKILLBank) Snew=MT(Tval,SKILLBank)
    教师模型会分析失败轨迹,完成三个任务:① 识别现有技能未覆盖的失败模式;② 提出新技能来填补这些空白;③ 建议对现有无效技能的修改
  4. 技能库更新:将新生成的技能添加到SKILLBANK中,用于后续的RL训练

进化案例:ALFWorld的Pick2任务(拿两个不同的物体),初始技能库中没有多物体持有的相关知识,初始成功率仅为64.7%。经过第一次验证周期的失败分析,教师模型生成了新技能 pic_003:“拿第二个物体前,先确认第一个物体已经被安全持有”。加入该技能后,Pick2任务的成功率提升至87.5%,最终达到95.5%(原文第6页表1)。

2.4.3 技能增强的 GRPO 优化

SKILLRL使用GRPO作为基础RL算法,但对目标函数进行了关键修改,使其适配技能增强的上下文(原文第6页)。

  • 归一化优势计算:
    Ai=Ri−mean({Rj}j=1G)std({Rj}j=1G) A_{i}=\frac{R_{i}-mean\left(\left\{R_{j}\right\}_{j=1}^{G}\right)}{std\left(\left\{R_{j}\right\}_{j=1}^{G}\right)} Ai=std({Rj}j=1G)Rimean({Rj}j=1G)
    其中 ( G=8 ) 是每组采样的轨迹数量,( R_i \in {0,1} ) 是二进制任务成功奖励。

  • 最终目标函数:
    J(θ)=Ed,{τ(i)}[1G∑i=1Gmin(ρiAi,clip(ρi,1−ϵ,1+ϵ)Ai)−βDKL(πθ∥πref)], \begin{array}{r} \mathcal{J}(\theta)=\mathbb{E}_{d,\left\{\tau^{(i)}\right\}}\left[\frac{1}{G} \sum _ { i = 1 } ^ { G } m i n \left(\rho_{i} A_{i},\right.\right. \\ \left.\left.clip\left(\rho_{i}, 1-\epsilon, 1+\epsilon\right) A_{i}\right)-\beta D_{KL}\left(\pi_{\theta} \| \pi_{ref }\right)\right], \end{array} J(θ)=Ed,{τ(i)}[G1i=1Gmin(ρiAi,clip(ρi,1ϵ,1+ϵ)Ai)βDKL(πθπref)],
    关键修改:重要性采样比 ( \rho_i = \frac{\pi_{\theta}(\tau^{(i)} | d, S_g, S_{ret})}{\pi_{ref}(\tau^{(i)} | d, S_g, S_{ret})} ) 是在包含技能的完整上下文下计算的,确保策略更新是基于技能增强的决策过程。同时KL惩罚锚定到SFT后的参考策略 ( \pi_{ref} ),防止RL训练过程中模型忘记如何使用技能。

2.4.4 完整算法流程

对应原文第4页Algorithm 1,核心步骤如下:

  1. 用基础模型在环境中采样,收集成功和失败轨迹
  2. 用教师模型蒸馏轨迹,生成初始通用技能和任务特定技能
  3. 构建分层技能库 SKILLBANK
  4. 教师模型生成技能增强的SFT数据集,微调基础模型得到初始策略
  5. 循环执行N个训练epoch:
    a. 对每个任务,检索相关技能,采样G条轨迹
    b. 计算奖励和优势,用GRPO更新策略参数
    c. 如果是验证epoch:
    i. 收集所有失败的验证轨迹
    ii. 教师模型分析失败,生成新技能
    iii. 更新SKILLBANK
  6. 返回训练好的策略和最终的技能库

2.5 工程实现要点与扩展思考

我认为,SKILLRL的工程实现有几个论文中未详细说明但至关重要的细节,直接影响最终效果和训练稳定性:

  1. 技能格式强制校验:教师模型蒸馏技能时必须严格输出JSON格式,否则会导致后续检索和注入失败。建议在prompt中加入明确的格式要求,并在代码中加入JSON解析失败的重试机制。
  2. 嵌入模型选择:技能检索的语义相似度准确性直接决定性能,建议使用与基础模型同系列的嵌入模型(如Qwen2.5-7B-Instruct对应的Qwen2.5-Embedding),避免跨模型嵌入导致的语义偏差。
  3. 失败轨迹去重:如果同一类失败反复出现,不要重复生成相同的技能。可以通过技能标题的语义相似度进行去重,相似度超过0.9的新技能直接丢弃。
  4. RL训练的技能注入:每个训练批次的样本必须包含根据任务描述检索到的正确技能,不能随机注入或不注入,否则模型会学习到错误的技能-任务映射。
  5. 显存优化:SFT和RL训练都建议使用LoRA,基础模型用4bit量化版本,单张H100 80GB即可完成完整训练流程。

同时,论文方法存在几个潜在的局限性和改进方向:

  • 教师模型依赖:目前技能蒸馏完全依赖OpenAI o3,成本高且不可控。可以考虑引入迭代自蒸馏机制,用训练好的学生模型逐步替代教师模型。
  • 技能库只增不减:长期运行会导致技能库膨胀,检索成本上升。可以加入技能使用率和成功率的评分系统,定期清理使用率低于5%且成功率低于30%的低效技能。
  • 技能冲突解决:当多个技能的指导原则矛盾时,模型没有明确的优先级判断逻辑。可以在技能结构中增加优先级字段,或者让模型在推理时动态评估每个技能的适用性。

第三章 实验结论

3.1 实验设置概述

3.1.1 基准环境

论文在9个具有挑战性的LLM智能体基准上验证了SKILLRL的有效性(原文第4-5页):

  • ALFWorld:文本化的家庭机器人环境,包含Pick、Look、Clean、Heat、Cool、Pick2共6类子任务,要求智能体通过自然语言指令完成物品操作
  • WebShop:模拟真实电商网站的购物环境,要求智能体搜索、筛选并购买符合多约束条件的商品
  • 7个搜索增强QA任务
    • 单跳QA:NQ、TriviaQA、PopQA
    • 多跳QA:HotpotQA、2Wiki、MuSiQue、Bamboogle

3.1.2 对比基线

论文对比了四类主流方法,覆盖了当前LLM智能体的所有技术路线:

  1. 闭源大模型:GPT-4o、Gemini-2.5-Pro
  2. Prompt/记忆增强方法:ReAct、Reflexion、Mem0、ExpeL、MemP、SimpleMem
  3. 纯RL方法:RLOO、GRPO
  4. 记忆增强RL方法:MemRL、EvolveR、Mem0+GRPO、SimpleMem+GRPO

3.1.3 实现细节

  • 基础模型:Qwen2.5-7B-Instruct(开源7B模型)
  • 教师模型:OpenAI o3(用于技能蒸馏和SFT数据生成)
  • 核心超参数(原文第14页表4):
    • RL学习率:1e-6,batch size 64,group size 8
    • 技能检索:Top-K=6,相似度阈值δ=0.4
    • 训练轮次:150个epoch,每5个epoch验证一次
  • 计算资源:8张NVIDIA H100 80GB GPU,单实验总耗时约30小时

3.2 核心性能结果

3.2.1 ALFWorld与WebShop基准

SKILLRL在两个交互式环境上均取得了显著的SOTA性能(原文第5-6页表1):

方法 ALFWorld总成功率 WebShop成功率 相对GRPO提升
GRPO 77.6% 66.1% -
Mem0+GRPO 54.7% 37.5% -22.9%
EvolveR 43.8% 17.6% -33.8%
GPT-4o 49.8% 23.7% -27.8%
SKILLRL 89.9% 72.7% +12.3%

关键发现

  1. 碾压所有记忆增强方法:比当前最好的记忆增强RL方法Mem0+GRPO高出35.2%,证明"原始轨迹存储"的范式存在本质缺陷,只有抽象为结构化技能才能实现有效知识迁移
  2. 小模型超越大模型:7B开源模型的性能比GPT-4o高41.9%,比Gemini-2.5-Pro高29.6%,证明结构化经验可以显著弥补模型规模的差距
  3. 复杂任务提升最明显:在最难的Pick2(拿两个物体)、Cool、Heat任务上,分别比GRPO高出22.8%、23.0%、15.0%。这些任务需要多步状态跟踪和精确的操作顺序,正是任务特定技能发挥作用的地方

3.2.2 搜索增强QA基准

在7个搜索增强QA任务上,SKILLRL同样取得了SOTA成绩(原文第6页表2):

  • 平均得分:47.1%,比第二名EvolveR(43.1%)高4.0%,比Search-R1(38.5%)高8.6%
  • 多跳推理优势显著:在最难的Bamboogle数据集上达到73.8%,比EvolveR高出19.4%,证明分层技能能够有效指导复杂的多步信息合成
  • 强泛化能力:仅在NQ和HotpotQA两个数据集上训练,在OOD数据集TriviaQA、2Wiki上仍保持竞争力,证明蒸馏出的搜索策略具有任务无关性

3.3 消融实验与组件贡献

论文通过严格的消融实验量化了每个核心组件的贡献(原文第6页表3):

方法 ALFWorld成功率 性能下降 核心原因
完整SKILLRL 89.9% - -
无分层结构(仅任务特定技能) 76.8% -13.1% 丢失了通用策略的基础指导作用
用原始轨迹代替技能库 61.7% -28.2% 原始轨迹的冗余和噪声严重干扰决策
无冷启动SFT 65.2% -24.7% 基础模型不知道如何检索和应用抽象技能
无动态进化 84.4% -5.5% 静态技能库无法覆盖训练中出现的新失败模式

关键结论

  1. 技能抽象是核心:用原始轨迹代替技能库导致最大的性能下降(28.2%),直接验证了论文的核心假设:有效经验转移需要抽象,而不是简单的记忆
  2. 冷启动SFT不可或缺:没有SFT阶段,直接给模型提供技能几乎没有效果,这与之前的研究结论一致(Guo et al., 2025)。模型必须通过显式示范才能学会如何使用抽象知识
  3. 分层结构至关重要:通用技能提供了跨任务的基础策略,任务特定技能提供了领域专业知识,二者缺一不可。例如在ALFWorld中,"系统探索"这个通用技能对所有任务都有显著帮助
  4. 动态进化带来持续提升:虽然贡献相对较小(5.5%),但它是SKILLRL能够不断突破性能瓶颈的关键。没有进化,模型会在遇到新的失败模式时陷入局部最优

3.4 深入机制分析

3.4.1 技能库进化动态

论文追踪了训练过程中技能库的变化(原文第7页图3):

  • 初始技能库:55个技能(12个通用,43个任务特定)
  • 最终技能库:100个技能(20个通用,80个任务特定)
  • 增长特点:任务特定技能的增长是性能提升的主要来源,通用技能增长相对缓慢且稳定
  • 分布均衡:技能增长在各个任务类别之间保持均衡,没有出现某一类任务技能过度膨胀的情况

案例:Pick2任务的技能库从初始的5个增长到最终的12个,新增的技能主要解决了"多物体持有顺序"、“物品丢失检测”、"目标优先级排序"等初始技能未覆盖的问题,直接推动该任务的成功率从64.7%提升到95.5%

3.4.2 上下文效率

SKILLRL在提升性能的同时,显著降低了上下文开销(原文第7页图4):

  • 原始轨迹检索方法:平均prompt长度约1450token,且波动很大
  • SKILLRL:平均prompt长度约1300token,减少了10.3%
  • 更重要的是:SKILLRL用更少的上下文实现了更高的性能,解决了传统记忆方法"上下文越长,性能越差"的矛盾

3.4.3 收敛速度

递归技能进化显著加速了训练收敛(原文第8页图5):

  • SKILLRL:在60个训练步内达到80%以上的成功率
  • 无进化的SKILLRL:需要90个训练步才能达到75%左右的成功率
  • 最终性能差距:有进化的版本最终达到89.9%,无进化的版本停留在84.4%

这证明动态技能更新能够为模型提供及时的战略指导,帮助其快速跳出局部最优,同时提升了最终的性能上限。

3.4.4 定性案例分析

论文通过具体案例展示了SKILLRL如何使用技能(原文第8页图6、第17-18页):

  • WebShop案例:购买海军蓝长袖衬衫时,智能体同时使用了通用技能gen_001(优先核心关键词)和任务特定技能app_004(检查变体价格),在9步内完成了购买,没有出现常见的价格遗漏错误
  • ALFWorld案例:加热鸡蛋任务中,智能体使用了hea_004(先物体后电器)技能,先找到鸡蛋再去微波炉,避免了"先到微波炉再找鸡蛋"的常见错误,仅用8步就完成了任务

【我应该把公式讲明白,应该把复杂步骤用实际案例展示出来,我应该把文章写得更通俗易懂】

3.5 实验总结与扩展思考

3.5.1 核心实验结论

  1. 技能抽象是LLM智能体经验学习的关键:将原始轨迹蒸馏为结构化、可复用的技能,比存储原始轨迹的效率高10-20倍,且能显著提升性能
  2. 技能-策略共同进化是突破性能瓶颈的核心机制:静态技能库无法覆盖所有场景,只有让技能库与策略在训练中共同进化,才能不断适应新的挑战
  3. 小模型+结构化经验可以超越大模型:7B开源模型通过SKILLRL训练,在交互式任务上的性能超过了GPT-4o和Gemini-2.5-Pro,为低成本高性能智能体的开发提供了新的思路
  4. 分层技能结构是高效知识组织的最佳实践:通用技能提供基础策略,任务特定技能提供专业知识,二者结合能够在有限上下文内最大化推理效用

3.5.2 扩展思考

我认为,论文的实验结果虽然令人振奋,但也暴露了一些需要在实际应用中解决的问题:

  1. 教师模型的成本问题:所有技能蒸馏和SFT数据生成都依赖OpenAI o3,按论文中的数据量计算,单实验的API成本约为数千美元,这对于大多数开发者来说是不可接受的。可以考虑用训练好的学生模型进行迭代自蒸馏,逐步降低对教师模型的依赖
  2. 技能库的维护问题:论文中的技能库只增不减,长期运行会导致技能数量过多,检索成本上升,甚至出现技能冲突。建议引入技能评分机制,定期清理使用率低于5%且成功率低于30%的低效技能,合并语义相似度超过0.9的重复技能
  3. 跨环境迁移能力:目前的实验都是在单个环境内进行的,技能库无法直接迁移到新环境。未来可以研究如何提取真正通用的元技能(如目标分解、错误恢复、探索策略),实现跨环境的知识迁移
  4. 奖励信号的局限性:论文中使用的是二进制成功/失败奖励,对于需要精细优化的任务(如代码生成、文档写作)效果有限。可以考虑引入多维度奖励函数,结合人类反馈和自动评估指标,进一步提升技能蒸馏的质量
  5. 可解释性优势:SKILLRL的决策过程是基于显式的技能指导,比端到端的黑盒模型具有更好的可解释性。可以在推理时输出当前使用的技能和推理依据,这对于企业级应用中的故障排查和审计非常重要

第四章 SFT与RL模型的区别

一、冷启动SFT阶段:让模型"学会用技能"

SFT是SKILLRL训练中不可或缺的前置阶段,没有它直接进入RL会导致性能暴跌24.7%(原文第6页表3)。它的核心作用不是提升任务成功率本身,而是打通"抽象技能→具体动作"的映射链路,让原本对技能一无所知的基础模型,建立起主动检索、理解并应用技能的能力。

1. SFT阶段模型获得的核心进步

(1) 建立技能调用的意识与流程

基础模型(Qwen2.5-7B-Instruct)默认会忽略上下文中的技能提示,直接按照自己的固有知识推理。SFT通过7500条(ALFWorld)/2400条(WebShop)显式标注的示范数据(原文第14页表4),让模型学会:

  • 先查看上下文中的通用技能和检索到的任务特定技能
  • 在思考过程中明确引用技能ID和原则
  • 严格按照技能的指导选择动作
  • 避免违反技能中明确禁止的错误行为

案例:基础模型在加热鸡蛋任务中,有60%的概率会先走到微波炉再找鸡蛋;经过SFT后,这个错误率直接降到5%以下,因为模型学会了主动应用hea_004技能:“先获取目标物体,再操作对应的电器”(原文第18页案例2)。

(2) 掌握技能到动作的转换逻辑

SFT数据中的每一步推理都显式标注了"使用了哪个技能→为什么用这个技能→对应什么动作",让模型学会将抽象的技能原则转化为具体的环境交互指令。

  • 技能原则:gen_001"系统探索:每个可能的表面只搜索一次,优先未探索区域"
  • 模型学会的动作逻辑:维护一个已探索位置列表,每次选择列表中没有的位置,按距离从近到远依次访问
(3) 标准化基础任务流程

SFT阶段会将教师模型总结的最优任务流程固化到模型参数中,消除基础模型的大量随机错误。例如:

  • ALFWorld清洁任务:统一为"定位→获取→清洁→放置"四步流程(原文第18页案例1)
  • WebShop购物任务:统一为"构造查询→筛选结果→验证属性→确认价格→购买"五步流程
(4) 适应技能增强的上下文格式

SFT让模型熟悉了"通用技能在前,任务特定技能在后"的上下文结构,学会区分不同类型技能的优先级:通用技能是必须遵守的基础规则,任务特定技能是针对当前任务的优化策略。

2. SFT阶段的局限性

SFT只能让模型达到教师模型的平均水平,无法超越教师。它只能学习示范数据中已经存在的技能和流程,对于示范中没有覆盖的边缘情况,仍然会频繁出错。例如SFT后的模型在ALFWorld的Pick2任务上成功率约为70%,但对于"第一个物体意外掉落"这种罕见情况,几乎100%会失败。

【我应该把公式讲明白,应该把复杂步骤用实际案例展示出来,我应该把文章写得更通俗易懂】

二、RL阶段:让模型"用好技能并进化技能"

RL阶段是SKILLRL性能爆发的核心,它在SFT的基础上,通过试错优化策略+递归进化技能库的双重机制,让模型的能力持续提升,最终超越教师模型的水平。RL阶段的进步分为两个相互关联的部分:策略本身的优化技能库进化带来的间接提升

1. 策略本身的精细化优化(纯GRPO的作用)

基于技能增强的上下文,GRPO通过组内相对奖励优化策略,让模型在SFT的基础上进一步提升决策质量:

(1) 消除SFT遗留的系统性偏差

教师模型的示范数据中存在一些次优的决策习惯,RL可以通过大量试错发现并纠正这些偏差。例如:

  • 教师模型在WebShop中倾向于点击第一个搜索结果,RL会学会优先点击价格最低且符合约束的结果
  • 教师模型在ALFWorld中倾向于按顺时针顺序探索,RL会学会根据目标物品的可能位置动态调整探索顺序
(2) 提升长序列任务的稳定性

SFT数据中的轨迹都是完美的成功轨迹,没有中间错误和恢复过程。RL通过采样大量不完美轨迹,让模型学会:

  • 当动作失败时(如打不开抽屉、拿不到物品)如何重试
  • 当走错路时如何快速回溯
  • 当多个目标冲突时如何排序优先级
(3) 优化决策效率

RL会奖励用更少步骤完成任务的轨迹,让模型逐渐学会更简洁的决策路径。例如ALFWorld的Look任务,SFT后的模型平均需要12步完成,RL训练后平均只需8步,成功率反而从75%提升到92.8%。

2. 递归技能进化带来的质变提升

这是SKILLRL区别于所有其他RL方法的核心优势。每5个训练epoch,系统会自动分析验证失败轨迹,生成新的技能补充到SKILLBANK中,让模型获得SFT阶段从未学过的新知识

(1) 覆盖边缘情况的失败模式

SFT数据只能覆盖常见的成功场景,而RL训练中会暴露出大量罕见的失败模式。递归进化会将这些失败转化为新的技能,让模型的鲁棒性大幅提升。
案例:Pick2任务中,SFT后的模型不知道如何处理"第一个物体意外掉落"的情况,初始成功率仅为64.7%。经过第一次验证周期的失败分析,教师模型生成了新技能pic_003:“拿第二个物体前,先确认第一个物体已经被安全持有;如果掉落,立即返回拾取”。加入该技能后,Pick2任务的成功率在10个epoch内提升到87.5%,最终达到95.5%(原文第6页表1)。

(2) 发现更优的策略模式

RL训练中,模型可能会通过试错发现教师模型从未想到的更优策略。递归进化会将这些新策略提炼为技能,固化到技能库中,让所有后续训练都能受益。
案例:WebShop中,教师模型的示范是"先选颜色再选尺码",但RL发现"先选尺码再选颜色"可以更快过滤掉缺货的商品。系统将这个发现提炼为新技能app_006:“优先选择库存最少的变体,快速排除不可用选项”,使整体购物速度提升了15%。

(3) 技能库的分层深化

随着训练进行,技能库会从初始的通用原则,逐渐深化为更细粒度的专业知识。例如ALFWorld的技能库从初始的55个增长到100个,其中任务特定技能从43个增长到80个,覆盖了几乎所有可能的失败模式和优化策略(原文第7页图3)。

【我应该把公式讲明白,应该把复杂步骤用实际案例展示出来,我应该把文章写得更通俗易懂】

3. RL阶段的整体能力提升量化

能力维度 SFT后水平 RL最终水平 提升幅度 核心原因
ALFWorld总成功率 ~70% 89.9% +19.9% 策略优化+45个新技能
WebShop成功率 ~55% 72.7% +17.7% 搜索策略优化+价格验证技能
复杂任务(Pick2)成功率 64.7% 95.5% +30.8% 多物体持有相关技能的补充
平均完成步数 12步 8步 -33% 决策效率优化
边缘情况处理能力 ~30% ~85% +55% 失败模式的全面覆盖

三、SFT与RL阶段的本质区别与递进关系

1. 核心目标不同

  • SFT:解决"会不会用技能"的问题,建立技能与动作的基础映射
  • RL:解决"用得好不好"的问题,同时解决"有没有足够的技能可用"的问题

2. 知识来源不同

  • SFT:知识完全来自教师模型的示范,是被动的模仿学习
  • RL:知识来自两个方面:一是通过试错获得的环境反馈,二是通过失败分析提炼的新技能,是主动的探索学习

3. 能力上限不同

  • SFT:上限是教师模型的平均水平,无法超越教师
  • RL:上限可以超越教师模型,因为它能发现教师没有教过的更优策略,并通过技能进化将这些策略固化下来

4. 对最终性能的贡献

  • SFT贡献了约60%的最终性能,是整个框架的基础
  • RL贡献了约40%的最终性能,其中纯GRPO贡献约34.5%,递归技能进化贡献约5.5%(原文第6页表3)

四、扩展思考

我认为,SKILLRL的两阶段训练设计给我们带来了一个重要的启示:对于LLM智能体,"学会如何学习"比"学习具体知识"更重要。SFT阶段本质上是在教模型"如何使用外部知识(技能)来解决问题",而RL阶段则是让模型在实践中不断完善自己的知识体系和决策能力。

在实际工程应用中,我们可以进一步优化这个两阶段流程:

  1. 增量SFT:每次技能库更新后,不要只在RL中使用新技能,可以用新技能生成少量SFT数据,让模型更快地掌握新技能
  2. 混合教师模型:不要只依赖一个教师模型,可以用多个不同的大模型生成SFT数据,融合不同模型的优势
  3. 技能优先级学习:在SFT阶段加入技能权重,让模型学会在多个技能冲突时,优先选择成功率更高的技能
  4. 离线RL预训练:在进入在线RL之前,可以先用历史轨迹数据进行离线RL预训练,进一步提升SFT模型的基础性能

需要我整理一份SFT和RL阶段的常见问题排查清单,帮你快速定位训练中性能不达标的原因吗?

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐