跨任务技能演化:让 Agent 学会"举一反三"——SkillRise 解读

核心摘要

你有没有觉得现在的 Agent RL 训练有点"健忘"?每次遇到一个新任务,模型都得从零开始探索,哪怕这个任务跟刚才做过的那个几乎一模一样。这篇论文提出的 SkillRise 干了一件很直觉但之前没人做好的事——把相关但不完全相同的任务排成一个序列,让同一个策略一边做题,一边把学到的技能写成一份"笔记",直接传给下一个任务。关键设计是解耦信用分配:做题的奖励看当前任务表现,写笔记的奖励看后续任务的折扣回报。在 ALFWorld、WebShop、ScienceWorld 三个基准上全面 SOTA,最强基线提升 2.3 到 8.5 个百分点,同时运行时间只有多阶段流水线方案的 1/6。这不是什么花哨的多阶段 pipeline,而是一个干净的单策略端到端 RL 框架。


论文信息

项目 内容
论文 SkillRise: Agentic Reinforcement Learning for Cross-Task Skill Evolution
链接 https://arxiv.org/abs/2607.26784
作者 Zhiyuan Yao, Yuxin Chen, Zhengxi Lu, Zishan Xu, Yueqing Sun, Yifu Guo, Yuquan Lu, Zhengzhou Cai, Kangning Zhang, Zhuowen Han, Zi-Han Wang, Ziang Ye, Qi Gu, Xunliang Cai, Weiwen Liu, Yongliang Shen
日期 2026-07-29

问题动机:Agent 的"失忆症"

标准 agentic RL 有个很别扭的假设——每个任务都是独立 episode。你让 Agent 在 ALFWorld 里学会了怎么"捡起苹果放进冰箱",转头换一个"捡起杯子放进微波炉"的任务,它又得从零摸索。明明这两个任务共享了"找到物体→移动到目标位置→执行操作"的模式,但现有框架完全不利用这种跨任务的共性。

现有的两类尝试都有明显短板:

第一类是同任务反复试错再总结。比如 LaMer 这类 Meta-RL 方法,让 Agent 对同一个任务反复尝试多次,从失败轨迹里提炼经验。问题是知识可能被锁死在这个特定实例上,而且每次都要额外交互才能学到东西,跨任务迁移能力没有显式优化。

第二类是维护外部技能库。比如 SkillRL 和 Evolver,维护一个外部经验库,做完题后提取技能存进去,下次检索出来用。听起来很合理,但提取、检索、执行三个环节耦合在一起——你很难说清楚一次失败到底是因为技能写得烂,还是因为检索没找对,还是因为执行出了问题。信用分配糊成一锅粥。

SkillRise 的思路是:能不能用一个统一的策略,既负责做题,也负责写笔记,而且把两个角色的监督信号彻底分开?


方法核心:一个策略,两种角色

整体框架

图1:SkillRise 框架总览

图1:SkillRise 框架。(a) 将相关任务按难度递增排列成序列;(b) 同一策略交替执行 Solve(解题)和 Curate(策展技能文档),技能文档 \(S\) 是唯一的跨任务信息通道;(c) 解耦信用分配——Solve 用当前任务奖励 \(r_i\) 监督,Curate 用后续任务的折扣奖励 \(\gamma^{j-i} r_j\) 监督

整个框架分三个部分,每个都值得细聊:

1. 跨任务序列构建

不是随机打乱任务顺序,而是有意识地组织。具体做法是:

  • 利用环境提供的 task-family 元数据(比如 ALFWorld 的 Pick 族、Clean 族),把相关实例归到一起
  • 用贪心算法分组,保证组内多样性(避免全是简单任务或全是难题)
  • 按属性复杂度排序,从简单到难排成序列。WebShop 里就是按产品类别和需要查询的属性数量来排

序列长度 \(K=3\),每条序列采样 \(N=8\) 个独立 trial,每个 trial 从空文档 \(S_0 = \emptyset\) 开始。这样每批更新能看到 384 次 task play(16 序列 × 3 任务 × 8 trial)。

2. 带技能演化的跨任务展开

这是最核心的部分。第 \(i\) 个任务的流程是这样的:

  1. Solve 阶段:策略 \(\pi_\theta\) 拿着上一轮的技能文档 \(S_{i-1}\) 作为上下文,生成轨迹 \(\tau_i\),拿到环境奖励 \(r_i = R(\tau_i)\)
  2. Curate 阶段(如果 \(i < K\)):同一个策略切换角色,根据 \((S_{i-1}, \tau_i, r_i)\) 重写技能文档,得到 \(S_i \sim \pi_\theta(\cdot | S_{i-1}, \tau_i, r_i)\)

注意几个关键点: - 同一个策略干两件事,只是 prompt 不同(角色指令区分 Solve/Curate) - 技能文档 \(S_i\)唯一的跨任务信息通道,不传轨迹本身,只传精炼后的文本 - 每次策展都是全量重写,不是追加——保留有用的技能模式,整合成败经验,删掉实例细节

这跟 Evolver 那种多阶段 pipeline 本质不同。Evolver 要先提取、再检索、再执行,三步串行且各自独立训练。SkillRise 全部塞进一个策略里端到端优化。

3. 解耦信用分配

这是我觉得这篇论文最漂亮的设计。

Solve 阶段的回报很直观——就是当前任务的奖励:

\[G_{i,\text{solve}}^{(n)} = r_i^{(n)}\]

Curate 阶段的回报才是精髓——用后续所有任务的折扣奖励之和来监督:

\[G_{i,\text{curate}}^{(n)} = \sum_{j=i+1}^{K} \gamma^{j-i} r_j^{(n)}, \quad \gamma = 0.6\]

直觉上很好理解:你写的笔记好不好,不是看你当前这道题做得怎么样,而是看你写了之后,后面几道题是不是因此做得更好了。\(\gamma=0.6\) 意味着越远的任务权重越低,但也意味着你写的笔记要对"下游好几道题"都负责。

然后是角色感知的组相对优化(Role-Aware Group-Relative Optimization):

\[A_{i,z}^{(n)} = G_{i,z}^{(n)} - \bar{G}_{i,z}\]

按序列、位置、角色(Solve/Curate)分组计算组内均值优势,再用 PPO-style clipping 目标优化。同一阶段内的所有 token 共享同一个优势值。

为什么要按角色和位置分组?因为 Solve 第 2 步和 Curate 第 2 步的本质完全不同,混在一起算优势会把信号搞浑。


实验结果:全面领先,效率碾压

主实验:Pass@1 成功率

图2:跨任务测试时扩展性

图2:ALFWorld 上跨任务序列长度 K 对 Pass@1 的影响。SkillRise(橙色)随 K 增长持续上升,K=6 时比 K=2 高 提升 3.9pp;GiGPO、GRPO、LaMer 均持平或下降

先看主表——Qwen3-4B 上的 Pass@1 结果:

方法 ALFWorld WebShop ScienceWorld
Zero-shot 34.0 33.4 24.2
ReAct 40.6 48.7 28.9
Reflexion 51.8 56.1 32.4
PPO 72.1 65.3 35.7
RLOO 74.8 68.9 38.2
GRPO 78.4 73.1 42.6
GiGPO 83.6 77.3 46.1
LaMer 80.2 71.8 39.4
SkillRise 85.9 84.4 54.6

几个观察:

ScienceWorld 上 +8.5 个点这个数字让我挺意外的。ScienceWorld 是三个环境里公认最难的(涉及物理/化学推理),SkillRise 相对 GiGPO 的提升幅度反而最大。这说明跨任务技能迁移在复杂推理场景下的收益可能比简单操作更大——越复杂的任务,可复用的"思维模板"越值钱。

WebShop 上 +7.1 个点也很能打。WebShop 需要在产品搜索、属性比对、价格判断之间反复切换,说到底是一系列子技能的组合。SkillRise 的技能文档恰好擅长编码这种"搜索→筛选→决策"的模式。

ALFWorld 分族来看更有意思:

任务族 SkillRise GiGPO 提升
Pick 100.0 98.4 +1.6
Look 87.5 85.9 +1.6
Clean 88.5 85.9 +2.6
Heat 81.0 79.7 +1.3
Cool 80.8 77.3 +3.5
Pick2 68.4 64.1 +4.3

Pick2(二次拾取)的提升最大,这个任务需要记住第一次放的东西在哪里再去拿——天然依赖跨步骤的记忆和规划能力,正好是技能文档擅长的。

多采样结果(Pass@1/2/3)

环境 方法 Pass@1 Pass@2 Pass@3
ALFWorld SkillRise 85.9 91.4 92.2
GiGPO 83.6 86.4 89.1
WebShop SkillRise 84.4 93.8 96.1
GiGPO 77.3 85.2 80.5
ScienceWorld SkillRise 54.6 58.5 61.0
GiGPO 46.1 50.3 55.5

WebShop 的 Pass@3 达到 96.1%,基本接近饱和了。而且 SkillRise 在 Pass@3 上的相对优势比 Pass@1 更大——说明它不只是"运气好碰对了",而是确实学到了更鲁棒的技能模式。

跨模型规模

模型大小 SkillRise 最强基线 提升 1.7B→4B Δ
Qwen3-1.7B 78.1 75.0 (+3.1)
Qwen3-4B 85.9 79.7 (+6.2) 涨 7.8 个点

对比一下其他方法的规模收益:GRPO 从 1.7B 到 4B 只涨了 4.7 个点,LaMer 只有 3.3 个点。SkillRise 的 涨 7.8 个点 说明跨任务学习在大模型上放大效应更明显——参数多了不光是单任务能力强了,"举一反三"的能力也跟着涨。


消融实验与分析

图3:训练动态与消融

图3:ALFWorld 训练动态。左:跨任务折扣因子 \(\gamma \in \{0.3, 0.4, 0.6, 0.7\}\) 的敏感性分析,四条曲线收敛差距约 1 个百分点;右:SkillRise vs 无策展变体 vs GRPO,SkillRise 最终领先无策展约 3pp、领先 GRPO 超 6pp

折扣因子敏感性

\(\gamma\) 分别取 0.3、0.4、0.6、0.7 四个值,最终收敛性能差距大约 1 个百分点。这说明方法对超参不敏感——你不需要精细调 \(\gamma\) 就能让框架 work。坦率讲这一点在实际工程中挺重要的,省去了大量调参时间。

策展模块的作用

移除 inter-task 策展后(no-curation 变体),早期训练曲线跟完整版 SkillRise 差不多。但随着训练推进,两条曲线逐渐拉开,最终 SkillRise 领先约 3 个百分点,相对于 GRPO 则领先超过 6 个百分点

这说明策展的价值不是立竿见影的,而是随着技能文档积累才逐步释放。前几个任务的时候文档还是空的或者内容很少,策展不策展区别不大;等到积累了足够多的跨任务模式,策展的质量就开始决定 downstream 性能了。

流水线效率对比

图4:技能学习流水线对比

图4:ALFWorld 上的流水线对比。左:平均成功率——SkillRise(85.9%)与 RetroAgent 持平,超过 SkillRL 12.5pp;右:相对运行时间(以 SkillRise 为 1.0× 归一化)— RetroAgent 需要 6.0×,SkillRL 需要 4.3×

这一块可能是工程上最吸引人的发现:

方案 成功率 相对运行时间
RetroAgent 85.9% 6.0×
SkillRL 73.4% 4.3×
SkillRise 85.9% 1.0×

SkillRise 用 1/6 的运行时间达到了跟 RetroAgent 一样的成功率,同时比 SkillRL 高了 12.5 个百分点

为什么差这么多?RetroAgent 和 SkillRL 都是多阶段 pipeline——提取、检索、执行各是一个独立的模型或模块调用,每次都要跑完整个链路。SkillRise 把所有事情塞进一个策略里,Solve 和 Curate 只是不同的 prompt 角色切换,不需要额外的模型推理开销。


我的判断

做得好的地方

解耦信用分配这个设计真的很漂亮。 之前做多阶段 skill learning 的人应该都有体会——你很难说清一次失败到底是 skill 写得不好还是执行有问题。SkillRise 直接把两个角色的监督信号拆开:Solve 看当前,Curate 看未来。干净利落。

测试时的跨任务扩展性是个强信号。 Figure 2 显示 K 从 2 涨到 6,Pass@1 持续上升 提升 3.9pp,而 baseline 全部持平甚至下降。这意味着 SkillRise 确实在复用可迁移的技能,而不是靠重复采样同一任务来刷分。这个结论如果能在更多场景复现,对 agent 训练范式的启发会很大。

工程简洁度加分。 单策略、端到端、不需要额外训练 reward model 或 retrieval model。对于想快速上手的团队来说,这个方案的落地门槛远低于多阶段 pipeline。

值得警惕的地方

task-family 元数据是个隐含假设。 论文明确说了当前公式假设环境提供了 family 元数据来构造序列。但在开放域场景中,你怎么知道两个任务是"相关"的?自动发现任务关系这个问题没解决,而且是实际部署中绕不开的一环。

只验证到了 4B 参数。 论文自己也承认了这点。考虑到现在主流 agent 基座都在 7B-70B 这个区间,小模型上的结论能否线性外推?我持谨慎乐观态度——跨任务学习的收益理论上应该随模型能力增长而放大,但需要实验验证。

三个 benchmark 都是文本交互、可验证奖励的环境。 ALFWorld/WebShop/ScienceWorld 的奖励信号都很清晰(成功/失败)。在奖励稀疏或多模态场景下,策展阶段的折扣信用分配是否还能有效工作?这是个开放问题。

定位判断

这篇论文属于工程整合型创新——核心组件(跨任务序列、技能文档、解耦信用分配)每个单独拿出来都不算全新,但把它们组合成一个干净的端到端 RL 框架,并且用实验证明了"简单方案可以打败复杂 pipeline"。在当前 agent RL 领域越来越倾向于堆砌模块的趋势下,这种"做减法"的思路反而显得珍贵。

如果你在做 agent RL 训练,尤其是需要在多个相关任务上迭代优化的场景,SkillRise 的框架值得直接试用。代码已经开源:https://github.com/Within-yao/SkillRise


收尾

说实话,读完这篇论文我最大的感受是:有时候最好的架构改进不是加模块,而是把已有的东西用更干净的方式重新组织。SkillRise 没有引入任何新的网络结构或损失函数,它做的事情是把"做题"和"总结经验"这两个 Agent 天然就会的事情,用一个合理的 RL 目标串起来,然后让数据自己说话。

跨任务技能迁移这条路肯定还没走完——自动发现任务关系、大模型验证、稀疏奖励场景——但 SkillRise 至少证明了一个简单的范式是可以 work 的,而且效果还不错。


觉得有启发的话,欢迎点赞、在看、转发。跟进最新 AI 前沿,关注我