一、它是什么

从提示词(prompt)到 Skills(技能文档),AI 工程化看似进化了,但大多数 Skills 还是靠人反复手调——写一份自然语言文档指导 Agent 怎么干活,效果不好就改改,再不好再改。这个过程没有系统性,也不可复现。

SkillOpt 给出的答案是:把指导 Agent 行为的技能文档,当成模型的可训练参数。既然内部权重可以用梯度下降优化,这份「外部权重」也应该有一套系统化的训练方法。它不微调模型,只训练那份 md 文件。

一句话定位:在 7 个目标模型、6 个基准、3 类执行环境(直接对话 / Codex / Claude Code)共 52 组评测组合 中,SkillOpt 训练出的技能文档全部达到最优或并列最优——而且推理阶段零额外开销。

二、核心思路:技能即「外部权重」

SkillOpt 的核心洞察只有一句话:Agent 的技能文档就是它的「外部权重」。内部权重决定模型「会不会」,技能文档决定 Agent「按什么规则干活」。两者都该可被训练,只是训练对象不同。

训练完沉淀下来的,是高度通用的程序性操作策略,而不是对某个训练样本的生搬硬套——论文里展示的「代表性学到的规则」每条都在描述通用做法,而非具体答案。

三、训练循环三步走

SkillOpt 把深度学习的训练循环,原样搬到了文本空间:

  1. Rollout · 前向传播

    冻结的目标模型拿着当前版本的技能文档去执行一批任务,记录完整轨迹(消息、工具调用、验证反馈、最终得分)。这一步产出的是「证据」,相当于神经网络前向传播的结果。

  2. Reflect · 反向传播

    独立的优化器模型分析这批轨迹。失败案例和成功案例被分开反思:失败的 minibatch 用来发现「哪些规则要修正」,成功的 minibatch 用来确认「哪些现有规则在起作用、不能动」。

  3. Update · 参数更新

    优化器提出有界的技能修改,经验证门控(validation gating)后,胜出的候选成为新的当前技能;慢更新(slow update)机制把稳定经验写进受保护区,对抗遗忘。

四、关键特性

特性作用
Validation Gating每个候选技能在保留验证集上评分,只有打败当前 / 最佳技能才接受,杜绝越训越差。
Slow Updateepoch 边界的纵向对比写入受保护区,形成「动量」,防止新规则覆盖掉仍有效的旧经验。
Meta Skill优化器侧记忆,跨 epoch 反思「什么有效」,再反馈进下一轮反思,提升反思质量。
Pluggable Backends支持 OpenAI / Azure OpenAI、Anthropic Claude、本地 Qwen(vLLM),以及 Codex / Claude Code 执行后端。
Six Benchmarks内置 SearchQA、DocVQA、ALFWorld、LiveMathematicianBench、SpreadsheetBench、OfficeQA 六大基准,开箱即训。
Auto-resume每步都 checkpoint,中断后用同一条命令从上次完成处续跑。
WebUI 监控自带 Gradio 监控面板,实时看训练进度、技能快照与迭代过程。

五、快速开始

前置:Python ≥ 3.10,以及至少一个模型后端密钥(Azure OpenAI / OpenAI / Anthropic / 本地 Qwen)。基准数据集需自备 splits。

# 克隆并安装 git clone https://github.com/microsoft/SkillOpt.git cd SkillOpt pip install -e . pip install -e ".[webui]" # 监控面板(可选) # 配置凭证:复制模板,填至少一种后端 cp .env.example .env # 编辑 .env:AZURE_OPENAI_* / ANTHROPIC_API_KEY / QWEN_CHAT_BASE_URL ... # 启动训练 + Web 监控 python -m skillopt_webui.app

训练完成后,输出目录下会生成 best_skill.md——这就是训练出来的最终技能文档。它轻量、可读、可版本化,直接替换到 Codex / Claude Code 等框架里即可,推理阶段零额外开销。若只想评估已有技能,可用 scripts/eval_only.py 跳过训练。

六、我的判断

适合:所有「有自动评测、执行反馈或可靠验证器」的场景——办公自动化、表格处理、文档问答、代码 / 工具执行、数学推理,以及有明确成功判据的企业流程。它的规范优化接口能直接套到 Codex、Claude Code 等框架,只需替换执行环境,不必重写算法。

注意:① 需要至少一个模型后端密钥,且训练本身消耗 token,不是零成本;② 基准数据集不随仓库提供,需自行准备 splits;③ 本质是把「人调提示词」自动化,强依赖「可验证」——没有评测信号的任务很难直接受益;④ 用强模型当优化器、弱模型当目标,是它推荐的提效路线。

定位:它启示了一个新方向——大模型时代值得被训练的不仅是权重,也包括模型外部的过程性知识。只要这份过程被控制、验证、记录,自然语言技能就能成为连接前沿模型能力与真实业务场景之间,一层稳定、可迁移、可回滚的适配器。

返回技艺录