SkillOpt 让你的 Skill 实现自进化

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: SkillOpt是微软开源的文本空间优化器,专为优化Agent的自然语言技能文档(如Markdown格式的skill.md)而设计。它不修改模型参数,而是通过“执行-反思-更新-验证”闭环,自动迭代出更鲁棒的`best_skill.md`,让技能持续适配真实任务,提升Agent在复杂流程、多源判断、跨项目迁移等场景中的稳定性与准确性。

上周,在介绍 bugfix 小工具 Superlog 时,热心群友 Frank 提到了一个小工具 SkillOpt,表示它能把 Skill 当作模型来训练,基于方法论来训练你的 Skill。

所以,本文就带你来领略下这个开源项目的有用之处。

SkillOpt 是什么

我们先来简单地认识下 SkillOpt。它是微软开源的一个 text-space optimizer,也就是“在文本空间里优化 skills 的工具”。

根据 SkillOpt 的定义,我们可以明白它优化的对象不是模型参数,而是一份自然语言写成的 skill 文档。这份文档通常是由 Markdown 编写而成,里面有写任务流程、工具规则、项目约定、错误处理方式、输出格式、边界条件,甚至是一些只有长期使用者才知道的经验。

换句话说,SkillOpt 处理的是 Agent 外部的经验层。它最后留下的东西也很简单,就是一份 best_skill.md。真正部署时,Agent 依然用原来的模型,推理链路也不用变;只是原本手写的 skill,变成了一份经过任务验证的 skill。

所以,SkillOpt 更关注的是:把 skills 放进一套可以训练、验证和持续更新的流程里。

图注:从人工优化 skill 到 SkillOpt 自动迭代 skill

这张图可以先按左右两部分来看。

左边是传统做法:Agent 跑任务,遇到问题之后,人再回头修改 skill。这个流程能跑起来,但它很依赖个人经验。哪条规则该加,哪条规则该删,哪次修改真的有效,往往只能靠感觉判断。

右边是 SkillOpt 的做法:Agent 依然要带着当前 skill 跑任务,但任务执行之后会留下轨迹和结果。optimizer model 会根据这些样本提出修改建议,修改后的 skill 还要经过验证集筛选。通过验证的版本,才会被留下来。

这样一来,skill 的更新就从“人工补规则”,变成了“任务驱动的迭代”。

运行原理

如果把右边这套流程单独抽出来,可以压缩成下面这条主线:

图注:SkillOpt 的 skill 迭代循环 SkillOpt 优化的是 Agent 使用的 skill 文档,模型权重保持不变。这张图主要是帮我们对齐后面的环节:

  • Current Skill 是起点,也就是当前那份 skill 文档。

  • Rollout 负责让 Agent 带着它去跑任务。

  • Reflect 负责回看任务轨迹,分析哪里成功、哪里失败。

  • Update 是把修改写回 skill。

  • Validation Gate 是验证门控,用来判断这次修改能不能留下。

  • Best Skill 是最终通过验证的版本。

图里为了简洁,省略了 ReflectUpdate 之间的两个内部动作:aggregateselectReflect 之后,optimizer model 会拿到一批修改建议,但这些建议不会立刻全部写回 skill。SkillOpt 会先用 aggregate 把相似建议收拢到一起,再用 select 从候选建议里挑出真正需要写回去的部分,用来控制每一轮写回 skill 的修改量。

这样处理主要是为了避免 skill 越改越臃肿。失败样本一多,很容易生成一堆零散规则;如果每条规则都写进 skill,文档会越来越难维护,也可能影响原本已经稳定的经验。所以,SkillOpt 会先压缩候选修改,再进入 Update。写回之后,还要经过 Validation Gate:修改后的 skill 会重新在验证集上跑一遍,通过验证的版本才会被保留;没有提升的修改会被拒绝。

一个本地使用案例

为了让 SkillOpt 的用途更有实感,Frank 告知了小七他的实践姿势。

他的场景是知识库管理和代码驱动的 workflow。早期 skills 主要是根据个人经验写出来的,也有一些版本迭代,但整体还是人工维护。

这次他拿 GPT-5.4 + cursor-agent 做了更深的迭代和测试。

他的验证方式很直接:同一类任务,对比带 skill 和不带 skill 的输出质量,看 Agent 在真实流程里是不是更稳定。

先看第一组结果。当前已完成两轮有代表性的本地迭代:

图源:Frank

这组结果比较好理解,像 init / update / check 这种任务,本身就强依赖流程约定。如果 Agent 不知道一开始该初始化什么、更新时该改哪里、检查时该看哪些口径,就很容易漏步骤。带上 skill 以后,它不需要每次从零推断流程,结果自然更稳定。

第二项“非 canonical 文档回归”也很典型。在知识库和项目文档里,经常会存在多个看起来都相关的文件。人知道哪份是权威来源,Agent 未必知道。如果 skill 里写清楚了 canonical source 的判断方式,Agent 在回归这类任务时就更不容易被旁支文档带偏。

再看第二组数据。当前已完成 4 轮有代表性的本地迭代:

图源:Frank

这组数据更贴近日常工程问题。附件 API、Webhook、评论权限都是容易让 Agent 误判的细节。因为它们不只是代码逻辑,还涉及权限、状态、调用顺序和产品规则。

任务跨项目迁移也一样。表面上只是把任务从一个项目挪到另一个项目,实际可能涉及负责人、状态、关联文档、历史记录、权限边界。Agent 如果只按字面执行,很容易完成了“迁移”这个动作,却漏掉迁移后的状态一致性。

有意思的是,第三轮“迁移失败路径显式 guardrail”里,with_skill 和 without_skill 都是 1.00。这说明 skill 并不会在所有任务上都带来明显差异。有些任务本身足够明确,模型裸跑也能做好;真正容易拉开差距的,往往是那些容易漏步骤、容易走偏、强依赖项目经验的任务。

回到 SkillOpt,它最后留下的 best_skill.md 看起来仍然只是一份 Markdown 文档,但这份文档已经经过任务执行、失败分析和验证集筛选。对于正在把 Agent 放进长期工作流的人来说,这比临时补几句 prompt 更像一套可持续维护的办法。

Agent 越来越像一个长期工作的执行体,skills 也开始承担外部经验层的角色。SkillOpt 做的,就是让这层经验可以随着真实任务继续迭代。

相关文章
|
20天前
|
人工智能 机器人 开发工具
工程实践|Warp 的 Loop Engineering:Agent 如何自己改进 Skill?
Warp 团队提出“双循环驱动”AI Agent进化:内循环(Inner Loop)自动分诊GitHub Issue;外循环(Outer Loop)从人类反馈中提炼规则,生成PR更新技能文件(SKILL.md)。技能即SOP,可审查、可回滚、持续迭代,让Agent越用越懂团队。
173 1
工程实践|Warp 的 Loop Engineering:Agent 如何自己改进 Skill?
|
1月前
|
机器学习/深度学习 人工智能 前端开发
如何更科学、方向可控的实现 Skill 的“自进化”?
本文深度解析Agent Skill自进化的三大前沿方案:Trace2Skill(归纳聚合)、EvoSkill(自验证选择)和SkillOpt(类模型训练)。三者分别从群体经验提炼、闭环验证筛选、参数化优化视角,解决单轨迹偏差、质量不稳、冗余低效等痛点,推动Skill构建从“人工调试”迈向“科学工程”。
406 0
|
13天前
|
前端开发 安全 JavaScript
Harness Engineering 实践案例:如何Agent 写一份行为规范
本文展示Harness Engineering落地实践:通过`AGENTS.md`(行为总纲)、`ARCHITECTURE.md`(系统骨架)等结构化文档,为编码Agent建立可追溯、可审计、防幻觉的工作规范,实现RAG+微调系统的可控开发。
152 4
Harness Engineering 实践案例:如何Agent 写一份行为规范
|
2月前
|
人工智能 机器人 测试技术
用 Bub 和飞书搭一个更懂群聊上下文的小机器人
手把手教你搭建 Bub:一个懂群聊上下文、无“班味”的轻量化 AI 助理。
368 1
用 Bub 和飞书搭一个更懂群聊上下文的小机器人
|
16天前
|
人工智能 JSON 测试技术
Harness Engineering 是什么?AI 编程工程化的三次进化
Harness Engineering 凭什么刷屏 AI 圈?从提示词到上下文再到 Harness,一文讲透它的来龙去脉和五大核心模块。
|
3月前
|
人工智能 自然语言处理 API
Graphify:为代码库构建知识图谱,以图遍历替代向量检索
Graphify 是一款Python代码知识图谱工具,支持Claude Code。它通过AST解析、本地语音转录和语义提取三阶段构建带置信度标签(EXTRACTED/INFERRED/AMBIGUOUS)的结构化图谱,将混合语料查询Token消耗降低71.5倍,大幅提升大型代码库分析效率与可解释性。
805 1
Graphify:为代码库构建知识图谱,以图遍历替代向量检索
|
1月前
|
人工智能 开发工具 C++
Claude Code 在大型代码库里的工程实践
Anthropic 发布Claude Code大型代码库最佳实践:强调“代码库需适配AI”,而非仅依赖模型。核心在于通过CLAUDE.md分层文档、LSP符号导航、hooks自动维护、skills按需加载、MCP接入内部系统等工程化配置,让Claude高效理解复杂项目(含C/C++/Java等)。配置即能力,治理与负责人机制同样关键。
597 3
Claude Code 在大型代码库里的工程实践
|
2月前
|
人工智能 前端开发 Shell
一个文件让 AI Coding 效率翻倍:AGENTS.md 实践指南
文章内容基于作者个人技术实践与独立思考,旨在分享经验,仅代表个人观点。
7239 3
一个文件让 AI Coding 效率翻倍:AGENTS.md 实践指南