2026年7月24日

SkillOpt:不微调模型,也能把 Agent 的经验“训练”成技能

给 Agent 写一份 SKILL.md 不难,难的是如何证明它真的比上一版更好。微软开源的 SkillOpt 把自然语言技能文档当成可训练对象:让固定模型执行任务、分析轨迹、生成有限的文本修改,再用独立验证集决定是否接受。它今天进入 GitHub Python 日榜,适合正在维

给 Agent 写一份 SKILL.md 不难,难的是如何证明它真的比上一版更好。微软开源的 SkillOpt 把自然语言技能文档当成可训练对象:让固定模型执行任务、分析轨迹、生成有限的文本修改,再用独立验证集决定是否接受。它今天进入 GitHub Python 日榜,适合正在维护编码 Agent、企业工作流或评测体系的团队关注。

📌 这个项目是干什么的

SkillOpt 不修改模型权重,训练结果是一份通常只有 300~2000 Token 的 best_skill.md。核心流程是:执行任务(rollout)→反思失败→合并和筛选修改→更新技能文档→验证闸门验收。所谓“学习率”,对应每轮最多允许多少次文本编辑;验证分数没有严格提升,候选修改就不会进入最佳版本。

项目提供研究引擎和 SkillOpt-Sleep 两条路径。前者用于在明确的数据集切分上训练、评估技能;后者会从支持的编码 Agent 会话中提取重复任务,离线回放并生成待人工采用的技能或记忆更新。当前版本为 v0.2.0,采用 MIT 许可证,要求 Python 3.10 及以上。

🔍 为什么值得关注

它解决的不是“再生成一版提示词”,而是给提示词和 Agent 技能补上可重复的优化纪律。修改幅度受限、失败修改会被记录,最终产物还要通过留出数据验证,这比凭感觉改系统提示更适合团队协作和回归检查。

部署成本也相对清晰:上线的是 Markdown 技能文件,不会增加推理阶段的额外模型调用。官方还提供 SearchQA、SpreadsheetBench、DocVQA 等六类基准,以及 OpenAI 兼容接口、Codex 和 Claude Code 等执行后端,便于先用可判分任务验证方法,再接入自己的场景。

🧪 谁适合试,怎么开始

适合已经积累失败案例、任务结果可以自动判分,并且愿意划分训练集与验证集的 Agent 团队。最短路径是先克隆仓库,按官方 Quick Example 跑通 SearchQA:

git clone https://github.com/microsoft/SkillOpt.git
cd SkillOpt
python -m pip install -e ".[searchqa]"

随后复制 .env.example、配置所需模型凭证,执行数据准备、训练与独立评估。不要一开始就接生产会话;先观察 best_skill.md 的变化,以及验证闸门是否能拒绝看似合理但效果更差的修改。

⚠️ 使用提醒

SkillOpt 仍标注为 Alpha,SkillOpt-Sleep 也是预览功能,接口和默认值可能变化。更重要的是,使用真实模型后,会把会话摘要和派生任务发送给所选服务商;官方明确提示出站内容不保证无敏感信息。处理企业代码时,应先导出任务文件,人工脱敏并标记已审阅,再执行回放,同时保留验证闸门和人工采用步骤。

它也不是通用“自我进化”按钮:如果任务没有稳定判分标准、验证集太小或数据已经污染,优化结果很容易失真。

🔗 参考资源