SkillOpt是什么
把Agent的技能文档当成神经网络来训练——这就是SkillOpt的核心思路。微软开源的这款工具,把深度学习的那套训练逻辑搬到了文本空间里:将skill.md视为可训练参数,通过轨迹分析生成编辑方向,用文本学习率约束有界修改,再经保留验证集门控筛选,最终迭代产出best_skill.md。更关键的是,它支持跨模型、跨工具链迁移,部署时零额外开销。在52个评估单元中全部达到最佳,让Agent技能的优化变得像神经网络一样可量化、可复现。
SkillOpt的主要功能
- 技能文档训练:像训练神经网络那样迭代优化
skill.md,包含前向传播、反向传播、参数更新和验证门控。 - 有界编辑控制:通过文本学习率限制每次编辑的幅度,避免语义跳变或覆盖已有有效规则。
- 拒绝编辑缓冲:记录被验证门拒绝的编辑方向,防止优化循环中反复踩同一个坑。
- 跨模型/跨工具迁移:在一个模型上训练出的技能文档,可直接迁移到同系列小模型、不同工具链(如Codex ↔ Claude Code),或相近的基准测试。
- 零部署开销:最终产物只是一个300–2000 token的Markdown文件,部署时不需要额外增加推理调用。
如何使用SkillOpt
- 安装:通过pip安装SkillOpt及其依赖。
- 配置API:复制环境变量模板文件,填入OpenAI、Azure或Anthropic等平台的API密钥。
- 准备数据:将原始任务数据按训练集、验证集和测试集划分好,也可以让SkillOpt自动完成划分。
- 启动训练:运行训练脚本,指定配置文件、教师模型与学生模型,开始迭代优化技能文档。
- 获取产物:训练完成后,在输出目录中获取最终生成的
best_skill.md技能文档及各轮迭代快照。 - 部署使用:直接将
best_skill.md的内容嵌入目标Agent的系统提示词中即可生效,无额外推理开销。
SkillOpt的核心优势
- 系统性优化:告别“写文档→运行→凭感觉改”的试错循环,提供可量化、可复现的技能提升路径。
- 全场景领先:在6个基准、7个目标模型、3种执行工具链的52个评估单元中,全部取得最佳或并列最佳。
- 显著性能提升:GPT-5.5平均提升+23.5个百分点;ALFWorld上GPT-5.4-mini从70.9%提升到85.8%。
- 一次训练,到处部署:同一份
best_skill.md可跨模型规模、跨Agent工具链、跨相近任务复用。
SkillOpt的项目地址
- 项目官网:https://microsoft.github.io/SkillOpt/
- GitHub仓库:https://github.com/microsoft/SkillOpt
SkillOpt的同类竞品对比
| 维度 | SkillOpt | TextGrad | GEPA | Trace2Skill |
|---|---|---|---|---|
| 优化对象 | 单一 skill.md 文档 | 文本提示 | 文本提示 | 从轨迹提取规则 |
| 训练纪律 | 类深度学习(epoch、batch、lr、验证门) | 基于梯度的文本优化 | 进化算法 | 轨迹归纳 |
| 编辑控制 | 有界编辑预算 + 拒绝缓冲区 | 无显式预算控制 | 变异选择 | 无迭代优化 |
| 验证机制 | 严格 held-out 验证门 | 无显式验证门 | 无 | 无 |
| 跨模型迁移 | 原生支持 | 有限 | 有限 | 有限 |
| 部署开销 | 零(纯 Markdown) | 低 | 低 | 低 |
SkillOpt的应用场景
- Agent 技能调优:为已有Agent系统化打磨
skill.md,替代凭经验反复试错的手动调优。 - 多模型技能复用:在强模型上训练技能文档,直接部署到弱模型或不同工具链,降低多模型适配成本。
- 基准测试突破:在SearchQA、SpreadsheetBench、OfficeQA、DocVQA、LiveMath、ALFWorld等任务上持续刷新性能上限。
- 本地编码 Agent 自进化:结合SkillOpt-Sleep预览版,在夜间自动回顾会话、复现高频任务并固化验证通过的技能。
