你的小龙虾(OpenClaw)的技能(skills),可以像神经网络一样"训练"了
微软开源了一个”训练”AI Agent技能文档的工具,不改模型、不碰代码
微软刚开源了一个叫 SkillOpt 的工具,做了一件挺反直觉的事:
它把 AI Agent 的技能文档当成了”权重”来训练。
不改模型、不微调、不碰一行代码——只优化一段自然语言写的规则文档,就能让 GPT-5.5 在6个基准测试上平均提升23.5分。
更关键的是,优化后的文档只有300-2000个token,整个训练过程通常只接受11-44次编辑(每步最多改4条规则)。
用过AI Agent(小龙虾) 的人基本都遇到过这个情况:我个人是深有体会!
传统做法是手写一段 SKILL.md,把”先做A再做B,遇到C要小心”写成规则,塞进 Agent 上下文。
规则之间会打架。A说”尽快回复”,B说”确认后再回复”,Agent 听谁的?
出了问题靠人发现。没人盯着,Agent 就一直错下去。
如果 Agent 的行为由 skill 文档决定,那 skill 文档本身就应该是可训练的”外部权重”。
它把深度学习里那套训练纪律,1:1 搬到了文本优化上:
整个过程就像训练神经网络。只不过被优化的不是权重矩阵,而是一段 Markdown 文档。
拿当前的 skill 文档,让目标模型跑一批任务。比如20道搜索题,记录每道题的执行轨迹和得分。
成功和失败的轨迹分开,分批交给优化器模型——通常用比目标模型更强的模型。
失败批次找”反复出错的模式”。Agent 连续5次搜索了错误的来源,这就值得加一条规则纠正。
成功批次找”必须保留的行为”。3次正确使用了交叉验证,要确保后续编辑不会误删。
优化器提出具体的”增加/删除/替换”建议。关键是有边界——文本学习率控制每步最多改4条规则,防止一把重写把好规则也删了。
修改后的 skill 必须在独立的验证集上跑一遍,分数比当前版本高才接受。否则这条编辑被拒绝,丢进”拒绝缓冲区”——下次优化器就知道”这个方向别再试了”。
只有过了门控的编辑,才会真正写入 skill 文档。
以下数据来自论文(arxiv.org/abs/2605.23904)和官方项目页报告,实际效果因任务和模型而异。
论文在6个基准、7个模型、3种执行环境下做了测试。
GPT-5.5 Direct Chat:平均+23.5分
GPT-5.4-nano Direct Chat:平均+24.9分——小模型收益更大
52个测试单元格,全部最佳或并列最佳。击败了人工编写、one-shot LLM、Trace2Skill、TextGrad、GEPA、EvoSkill 这6个基线方法。
跨模型迁移:GPT-5.4 上训练的数学 skill,直接给 GPT-5.4-nano 用,仍提升+15.2分
跨环境迁移:Codex 训练的电子表格 skill,迁移到 Claude Code,提升+31.8分
自优化也行:用 GPT-5.4-nano 优化自己,仍提升+10.4分
这意味着你可以在强模型上优化一次,弱模型免费受益。
论文做了消融,解释了 SkillOpt 为什么不是简单的”让 LLM 自己改自己”:
这些组件的作用和深度学习里的学习率、负样本、动量、验证集高度同构——在优化流程的结构层面,这和训练神经网络有高度相似性。
SkillOpt 已经开源(MIT 协议),代码在 github.com/microsoft/SkillOpt,Python 3.10+ 直接装:
git clone https://github.com/microsoft/SkillOpt.gitcd SkillOptpip install -e .
它原生支持 OpenAI、Claude、Qwen(本地 vLLM)三种后端。因为用的是 OpenAI 兼容协议,DeepSeek、GLM、通义千问等国产模型都能直接接入——换一下 base_url 和 api_key 就行。
论文使用的 benchmark 数据不包含在仓库中,需自行按格式准备 train/val/test 数据集。
训练成本:一次完整优化需要优化器模型处理大量轨迹(每轮20-50条任务轨迹×4-8个epoch),以 GPT-5.5 为优化器估算,API 成本约 $30-80,取决于任务复杂度和 epoch 数。
python scripts/train.py \ --config configs/searchqa/default.yaml \ --split_dir /path/to/your/data \ --optimizer_model gpt-5.5 \ --target_model gpt-5.5
训练完成后,输出目录里会生成一个 best_skill.md——优化后的技能文档,直接塞进 Agent 上下文就行。
部署时无需额外模型调用:只需要那个300-2000 token 的 Markdown 文件。
Agent 的”个性”和”能力”不应该写死在提示词里,而应该是可训练的外部状态。
这和深度学习的发展路径很像——从手工设计特征到自动学习特征,从手写规则到训练权重。SkillOpt 把同样的路径搬到了 Agent 技能上。
不用自己当提示词工程师——优化器帮你找最好的规则组合。
规则不再是黑箱——优化后的 skill 是可读的 Markdown,人能审计。
一次优化,多模型复用——强模型上训练,弱模型也能受益。
持续进化——任务变了,skill 可以像模型一样迭代。
Agent 从”手工作坊”往”工业流水线”走,这可能是一个方向。
论文:SkillOpt: Executive Strategy for Self-Evolving Agent Skills (arxiv.org/abs/2605.23904)
代码:github.com/microsoft/SkillOpt
项目页:microsoft.github.io/SkillOpt
你们平时给 Agent 写 skill 文档吗?踩过哪些坑?欢迎留言,我下次整理一期避坑合集。