论文:arXiv:2605.23904 | GitHub:microsoft/SkillOpt | 2026年5月22日
一个基本问题的回归
Agent skill目前有三种来源:人写、模型一次性生成、模型自我改写。三种方式各有问题——手写费人、一次性生成缺反馈迭代、自我改写容易越改越烂。微软研究院提出的SkillOpt,把skill优化从"手工艺"推到了和神经网络训练同等纪律的工程化路径。
核心主张很简单:如果skill是适配层,它就该像权重一样被系统性地训练。权重有反向传播、学习率、验证集gate,skill凭什么没有?
SkillOpt给出的答案是:它有。而且全部映射到了文本空间。
训练循环:深度学习概念在文本空间的完整映射
| 深度学习 | SkillOpt文本空间对应 | 作用 |
|---|---|---|
| 前向传播 | Rollout on task minibatch | 收集评分轨迹 |
| 反向传播 | Reflection in natural language | 从错误模式提取规则 |
| 学习率 | Edit budget per epoch | 限制修改数量和范围 |
| Mini-batch | 成功/失败子集分别反思 | 降低反思噪声 |
| Momentum | Slow update + epoch-wise meta skill | 保留长期知识 |
| 验证集 + early stopping | Held-out gate on candidate skill | 只接受真实改进 |
| 负采样 | Rejected-edit buffer | 避免重复有害修改 |
这个映射不是比喻,是严格对应的工程实现。每一步都有明确的超参数、可消融、可复现。
四步训练循环详解
第一步:Rollout(前向)
冻结的目标模型带着当前skill执行任务,记录完整的轨迹——消息、工具调用、验证器反馈、最终得分。Batch size控制每次更新前的证据量:太小噪声大,太大训练慢。
第二步:Reflect(反向)
一个独立的优化器模型(通常比目标模型更强)把轨迹分成成功和失败两组,分别做minibatch反思。失败组提出缺失或修正规则,成功组保留已有有效行为。反思产出结构化的add/delete/replace编辑建议。
这一步的关键在于minibatch——单条轨迹往往产生个例化修复,minibatch才能暴露可复用的程序性错误,比如" consistently searches the wrong source"、"writes answer in wrong format"。
第三步:Edit(参数更新)
优化器对编辑建议做合并、去重、去矛盾,然后按预期效用排序,截断到top Lt个(textual learning rate)。Lt=4是默认, cosine decay schedule从大开大合走向小修小补。
Patch模式下只做局部增删改,不会把整个skill重写。protected slow-update字段不会被step-level编辑覆盖,保证快慢两条时间线并行。
第四步:Gate(验证)
候选skill必须在held-out selection split上严格提升当前best score才被接受。tie也reject。这个gate把反思变成了propose-and-test优化,而不是无条件的自我改写。
被拒的编辑进入epoch-local rejected-edit buffer,后续反思调用能看到"这个方向试过,掉了X分,别再来"。负反馈只在训练时用,部署时零开销。
Epoch-wise Slow/Meta Update:文本空间的Momentum
Fast update学当前batch,slow update学跨epoch规律。每个epoch末尾,SkillOpt用前后两个版本的skill跑同样的训练样本,分组为"改进""退化""持续失败""稳定成功"。优化器据此写一段longitudinal guidance,放进protected slow-update字段——仍然过gate才接受。
Meta skill是优化器侧的,总结哪些edit pattern有效、哪些被拒、哪些失败跨epoch persistent。这段guidance只给优化器看,不随skill部署。部署文件保持紧凑(300-2000 token),训练记忆保持丰富。
52/52:全胜战绩
6个benchmark × 7个目标模型 × 3种execution harness = 52个评估cell,SkillOpt全部best或tied-best。
| 目标模型 | Direct Chat增益 | 备注 |
|---|---|---|
| GPT-5.5 | +23.5 | 六benchmark平均 |
| GPT-5.4 | +12.7 | — |
| GPT-5.4-mini | +15.4 | — |
| GPT-5.4-nano | +26.7 | 小模型相对增益最大 |
| GPT-5.2 | +16.6 | — |
| Qwen3.5-4B | +19.2 | — |
| Qwen3.6-35B-A3B | +9.1 | — |
Harness内增益(GPT-5.5):
- Direct Chat: +23.5
- Codex loop: +24.8
- Claude Code: +19.1
Per-benchmark亮点(GPT-5.5 Direct Chat):
- SearchQA: 77.7 → 87.3(+9.6,已近天花板)
- SpreadsheetBench: 41.8 → 80.7(+38.9,程序性任务增益最大)
- OfficeQA: 33.1 → 72.1(+39.0)
- DocVQA: 78.8 → 91.2
- LiveMathematicianBench: 37.6 → 66.9
- ALFWorld: 83.6 → 95.5
ALFWorld:四步进化示例
GPT-5.4-mini上ALFWorld从70.9%→85.8%,只用了4个accepted edit。Skill自己学到的规则包括:
- "Count any generic instance of the target receptacle as valid"
- "Maintain a tight numbered set of positions already explored and do not recheck them"
- "Broaden the search after several misses in the same type of position"
这些是开发者debug几个小时才能总结的操作性规则,SkillOpt从失败模式中自动蒸馏。Step 3一度regression,slow update机制在下一步recover,整体轨迹单调向上——就像SGD with momentum在noisy loss上的行为。
迁移:一次训练,多处复用
Cross-model:GPT-5.4的LiveMath skill转给GPT-5.4-nano,+15.2。小模型从训练好的skill里获得程序性知识,比自己从零学快得多。
Cross-harness:Codex训练的SpreadsheetBench skill转给Claude Code,+31.8。同一个best_skill.md在不同执行环境都有效。
Cross-benchmark:OlympiadBench skill在Omni-MATH上也有正增益。
这意味着skill不是训练环境的附庸,而是portable procedural memory。模型换了,更新skill文件即可,不用重新fine-tune。
消融:每个组件都有用
| 移除的组件 | SearchQA | SpreadsheetBench | LiveMath |
|---|---|---|---|
| 无learning rate | -2.5 | -1.8 | -4.0 |
| 无rejected buffer | -1.6 | -4.6 | -2.4 |
| 无slow/meta update | -0.8 | -22.5 | -1.6 |
Validation gate的移除最致命:不同benchmark掉2-22分不等,因为没有gate,噪声proposal会中长期 degrading skill。Slow/meta update对SpreadsheetBench这种长程序性任务尤其关键,掉22.5分说明momentum在长horizon任务上不是锦上添花,是必需品。
工业视角:第四条路径
提升Agent质量原本三条路:
- 手写越来越长的prompt(不可扩展)
- RLHF/SFT微调权重(贵、绑模型)
- 发布新版system prompt hoping better(盲目、脆弱)
SkillOpt开出第四条路:
- 可控:每个编辑由数据驱动、验证集背书,可trace可rollback
- 解耦:skill存在Git里的Markdown文件,与执行模型完全独立
- 零推理开销:部署时只加载best_skill.md,不调用优化器
CodexOpt(第三方实现)已经把这个范式带进了Codex生态,uv run codexopt improve --live即可启动SkillOpt式优化。
诚实局限
- 训练成本不低:每轮rollout消耗目标模型token + 优化器反思token,论文未量化完整cycle的美元成本
- 依赖grader质量:奖励函数难写的领域(创意、开放对话、语气)保证较弱
- 优化器门槛:优化器模型需要足够强才能做sensible reflection,前沿模型才能发挥全部潜力
参考
- 论文:arXiv:2605.23904 — Yang et al., "SkillOpt: Executive Strategy for Self-Evolving Agent Skills"
- GitHub:github.com/microsoft/SkillOpt(MIT License)
- 项目页:microsoft.github.io/SkillOpt
- 第三方Codex实现:github.com/SuperagenticAI/CodexOpt
这篇文章的核心判断:SkillOpt不是在prompt engineering的延长线上做改进,它重新定义了skill的优化范式——把自然语言文档当作冻结模型的外部参数,用完整的深度学习纪律去训练它。52/52的结果说明这不是一个toy idea,而是一个systematic improvement。
#skillopt #microsoft #agent #skill-training #text-space-optimization #arxiv-2605-23904
讨论回复
加载中...正在加载回复...
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。