技能好坏只能看下游成绩,Skill-α 用回滚奖励逐条编辑,多涨 6.7 分

Progressive Agent Skill Generation via Reinforcement Learning

Junhao Shen, Zhanqiu Zhang, Yiwen Guo, Hong Cheng

cs.LG, cs.CL

2026-08-03

把 agent 技能生成建模成可逐条评估的编辑序列,用「回滚奖励」让每个编辑在锚定任务上证明自己,tau2-bench 比 SkillPro 高 6.7 分。

这篇在解决什么

让 agent 干复杂任务,常用的办法是给它一份「技能」(skill),就是一段文本规则或操作流程,告诉它在什么情况下该调用什么工具、按什么顺序走。技能能跨任务复用,所以怎么自动把文档或过去的执行经验提炼成高质量技能,是个有价值的问题。

难点在于技能本身没有现成的对错信号。一段规则写得通不通顺、完不完整,看不出来;它到底好不好,只有让 agent 拿去跑下游任务才知道。现有的生成方法要么靠人工设计的启发式,要么走 pipeline 式的整理流程,而且针对文档和针对经验往往要分别设计,缺乏统一框架。

方法

Skill-α 把技能生成建模成一条「顺序编辑链」。从初始技能 z₀ 开始,模型按批次读证据(文档片段或执行轨迹),每读一批就产出一个局部编辑动作,把动作类型限定在五种:Create(补缺失的规则)、Update(修不准确的)、Merge(合并重叠的)、Prune(删有害或冗余的)、Noop(保持不动)。每一步编辑后,技能就更新一次。

核心创新是「回滚奖励」(rollback reward)。一次编辑到底好不好,不是看编辑本身,而是拿一个锚定查询(anchored query)让 agent 分别用编辑前的技能和编辑后的技能各跑一遍,只有当新版成绩更好时这次编辑才得 1 分。这样每一步编辑都拿到了一个明确的、来自下游执行的评价。训练用 GRPO(组相对策略优化)做组采样,底座是 Qwen3-8B,先 SFT 热身再上 RL,执行 agent 固定为 GPT-4o。

结果

主结果在两个设置下:文档转技能(CL-Bench)和经验转技能(tau2-bench、SpreadsheetBench)。

设置Skill-α最强基线提升
CL-Bench 平均10.38%7.11%(SkillPro)+3.3
tau2-bench 平均55.83%49.17%(SkillPro)+6.7
SpreadsheetBench27.50%26.00%+1.5

换 Claude-Sonnet-4.5 当执行 agent,技能照样能迁移:tau2-bench 平均 70.33%,比 Anthropic 自家技能生成器的 65.83% 高 4.5 分,说明学到的技能不挑 worker。

消融里最能说明问题的是回滚奖励:去掉它,CL-Bench 平均从 10.38 掉到 3.68,tau2-bench 从 55.83 掉到 46.67。去掉 Merge/Prune 这两个「做减法」的动作同样明显退步。Noop 也非摆设,它让模型学会在该收手时收手。

为什么重要

技能能跨任务复用,意味着一份高质量技能是一次投入、长期收益。Skill-α 的价值不在涨了几分,而在它给「技能生成」找到了一个统一且可学习的范式:不管证据来自文档还是经验,都拆成可逐条打分的编辑,奖励直接来自下游效果。回滚奖励这个思路(用反事实对照来给中间步骤分配信用)也容易迁到别的需要细粒度信用分配的场景。

局限与存疑

作者自己承认:奖励和 verifier 接口仍依赖具体 benchmark,技能表示目前只有文本一种形态,而且奖励是局部的回滚对比,信号偏短视,长链路任务里一次好的编辑未必立刻见效。还有一处存疑:执行 agent 固定为 GPT-4o,而锚定查询的代表性直接决定奖励质量,论文对锚定查询怎么选、覆盖够不够着墨不多。

术语

原文与代码

相关论文

全部论文解读