真实场景下 Agent 技能收益会退化到基线:Skill Refinement 与 /refine 实操
反直觉:理想基准外,技能增益会掉回基线
SkillsBench 上,人工写的 skill 把通过率提升 16.2 个百分点,而 LLM 自己写的 skill 没有可测量提升。但 How Well Do Agentic Skills Work in the Wild 指出,现有技能基准偏理想化:直接给手写、窄领域定制技能。真实场景里 agent 得自己从 34k 真实技能中检索,最接近的技能也未必合适。
结论是:技能收益很脆弱。越贴近真实,性能增益越退化,最极端场景通过率逼近无技能基线。为此研究 skill refinement 策略,分 query-specific 与 query-agnostic;query-specific 在初始技能相关性/质量尚可时能显著找回性能。在 Terminal-Bench 2.0 上把 Claude Opus 4.6 通过率从 57.7% 提到 65.5%。代码:https://github.com/UCSB-NLP-Chang/Skill-Usage
Skill Refinement 要解决什么
Skill 文档是指导 LLM agent 的结构化自然语言指令,对现代 agent 框架很关键,但 LLM 写不好 skill。专家手写贵且未必符合 LLM 实际执行方式,一次生成语法对但行为弱。冷启动场景只有一份不完美的初始 skill 时会卡住。
SkillAxe(arXiv:2606.10546)把 skill 质量拆成四个可解释维度:质量影响、触发精度、指令遵循(带故障归因)、解法路径覆盖;产出结构化的改进 brief,不需 ground-truth 标签、测试集或环境奖励。
三种做法
1. 会话内自省改 SKILL.md
refine 是一个 agentic skill:会话中任意时刻调用 /refine,agent 就反思自己的工作——新建技能、改进已有技能,或在对话显示某处该改时更新 CLAUDE.md。它做的事:
- 扫描会话里被调用的技能及表现;
- 读这些技能文件看哪里能改进;
- 为重复工作流创建新技能或精炼已有;
- 当模式是通用偏好而非具体工作流时更新 CLAUDE.md;
- 用 git 提交改动,自动版本化,可看技能如何随时间改进。
2. 轨迹条件修订
SkillAxe 是无监督框架,让 LLM 迭代诊断并精炼自己的 skill。SkillRevise(arXiv:2606.01139)从执行证据诊断缺陷、从通用记忆检索修复原则、做执行锚定的编辑,重新执行候选并测实际效用,在修订预算内保留最佳。
它在三大基准 + 两个领域研究 + 六个 LLM 上明显优于一次性基线,把基础 agent 在 SkillsBench 的成功率从 36.05% 提到 61.63%;修订后的技能可跨执行器与任务环境迁移。
3. RL 训练技能生成器
MASA(arXiv:2605.30723)观察技能效果强依赖模型:同一个 skill 对某 backbone 有益,对另一个可能有害。它分两级:层级化技能进化(爬山 + UCB 树搜索改写通用/任务技能),再训一个轻量 model-conditioned skill rewriter 一次前向复现适配。三个交互环境四个 backbone 上最好,最高领先最强基线 25.8 分。
SkillMaster(arXiv:2605.08693,代码 https://github.com/sduyangmin/Skill-Master)用 RL 让 agent 自己创建/精炼/选择技能:trajectory-informed skill review、用反事实效用评估候选编辑、DualAdv-GRPO 分别归一化任务动作与技能编辑的优势。ALFWorld/WebShop 上比 SOTA 基线分别提升 8.8%/9.3%。
Skill-R1(arXiv:2605.09359)用 RL 训练一个轻量 skill generator,条件于任务上下文、先前 rollout 及验证结果,产出 skill 去引导冻结的任务 LLM;多代循环,每代当前 skill 引出一组 rollout,verifier 打分回灌生成下一版。双层 group-relative 策略优化:intra-generation 比较同 skill 下 rollout,inter-generation 奖励相比上一代改进的修订。
/refine 实操
项目:https://github.com/lucharo/refine
安装:
npx skills add lucharo/refine
支持 Claude Code、Cursor、Cline、Codex、Windsurf 及 40+ 其他 agent,见 https://github.com/vercel-labs/skills。或 Claude Code 插件:
claude plugin marketplace add lucharo/refine
claude plugin install refine@refine
会话中任意时刻可运行,常见于会话末尾离开前。
技能存放位置:~/.refined/ 是用户级精炼技能的 git 仓库,软链进 ~/.claude/skills/;.claude/skills/ 是项目级技能,提交在项目仓库里;创建新技能时会问用哪个 scope。~/.refined 是 refine 唯一写用户技能的路径,就是个恰好是 git 仓库的文件夹,所以标准工具能随意改造它,无配置,refine 总是写 ~/.refined,remote 与位置由那里的内容决定。
用你自己的仓库支撑:
git clone git@github.com:you/skills.git ~/.refined
已有则:
git -C ~/.refined remote add origin ...
git -C ~/.refined push -u origin main
想让技能放别处(如 ~/skills):没有 ~/.refined 时 ln -sfn ~/skills ~/.refined;已经有 ~/.refined 则先 mv ~/.refined ~/skills 再 ln -sfn ~/skills ~/.refined(否则 ln 会把链接丢进已存在目录里面)。
兼容性:精炼后的技能是标准 SKILL.md 文件,可用于 Claude Code(经 ~/.claude/skills/ 软链)、任何读 SKILL.md 的 agent(Cursor、Cline 等经 .agents/skills/)、npx skills add ~/.refined。
局限:不碰插件技能(plugin:skill 格式)或经 npx skills add 安装的技能——那些来源的更新会覆盖你的改动;没什么值得改时不强改;不为一次性任务建技能;插件技能用 plugin:skill 命名空间而用户技能不能用冒号,所以无法干净地个性化插件技能,除非改名,规避方式是 fork 插件或向上游贡献。
实测数字与未解点
SkillsBench 上 SkillAxe 通过率相对未改进的 LLM 技能提升 28%,补上到人工技能差距的 47%~67%。SpreadsheetBench 做持续改进验证:用历史 agent 轨迹学习,仅 22 个 skill 把通过率从 16.0% 提到 52.0%。
SkillRevise 把基础 agent 在 SkillsBench 成功率从 36.05% 提到 61.63%。How Well Do Agentic Skills Work in the Wild 在 Terminal-Bench 2.0 上把 Claude Opus 4.6 通过率从 57.7% 提到 65.5%。MASA 最高领先最强基线 25.8 分。SkillMaster 在 ALFWorld/WebShop 上比 SOTA 基线分别提升 8.8%/9.3%。
边界也明确:SkillMaster 依赖预定义任务分组选 probe,probe 评估成本随 episode 长度与变异频率增长;只在两个结构化基准验证。