惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
F
Fortinet All Blogs
Cloudbric
Cloudbric
P
Palo Alto Networks Blog
T
Threatpost
T
Tor Project blog
T
Tenable Blog
AWS News Blog
AWS News Blog
Project Zero
Project Zero
L
LangChain Blog
Cyberwarzone
Cyberwarzone
Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
C
CERT Recently Published Vulnerability Notes
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Latest
Security Latest
云风的 BLOG
云风的 BLOG
I
Intezer
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
A
Arctic Wolf
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News
V
Vulnerabilities – Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
MongoDB | Blog
MongoDB | Blog
aimingoo的专栏
aimingoo的专栏
K
Kaspersky official blog
Jina AI
Jina AI
N
News | PayPal Newsroom
T
The Blog of Author Tim Ferriss
D
DataBreaches.Net
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Recorded Future
Recorded Future
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Secure Thoughts
TaoSecurity Blog
TaoSecurity Blog
P
Privacy & Cybersecurity Law Blog
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
IT之家
IT之家
Forbes - Security
Forbes - Security
The Hacker News
The Hacker News
Last Week in AI
Last Week in AI
T
Threat Research - Cisco Blogs
Y
Y Combinator Blog

迷途小书童的Note

X上如何下载视频? - 迷途小书童的Note 装完Hermes之后,我被这5个东西救了 - 迷途小书童的Note 从此写代码,只需要在旁边看着 小模型大野心 跑大模型,最贵的不是 GPU,是这个东西 vLLM的Rust前端PR了,预处理吞吐量直接翻了5倍! 大模型跑在端侧,到底有多难?我们踩过的那些坑 AI 生成的前端界面,为什么总是不够好看? 阿里通义VimRAG:让AI同时”读文档、看图片、看视频” 一个让你像聊天一样做PPT的AI工具 上下文工程:会话与记忆 颠覆视频创作!一键替换3D角色,你还不来试试? AI证件照,一键搞定! 26.2k,收下这个FastAPI全栈模板! Star马上破万,这款AI知识库你一定要看看! 超级Prompt! 不懂编程也没关系,Cursor AI帮你轻松写代码! 推理能力超博士,OpenAI发布最强模型o1 U2-Net:图像分割中的背景移除技术
微软开源了一个帮 Agent 打磨技能的工具,思路很野 - 迷途小书童的Note
迷途小书童 · 2026-06-29 · via 迷途小书童的Note

这个工具叫 SkillOpt,它把写 skill.md 这件事变成了一种训练过程。

前向传播、反向传播、学习率、验证集,深度学习里那套东西它全用上了。

目的只有一个,让 Agent 真的能把你写的技能文档用起来,而不是每次都靠运气。


事情是这样的。

前阵子我在写一个 skill,教 Agent 怎么帮我整理每天的技术笔记。

写了大概两千字,把自己能想到的场景全塞进去了。

然后扔给 Agent 跑,结果一言难尽。

有时候能跑对,有时候完全跑偏,我改一处,它别的地方又出问题了。

就这么来回改了一个晚上。

我后来想了一下,这件事跟调模型没什么区别。

你改参数,跑一下,看结果,再改,再跑。

只是调模型有 loss,有梯度,有系统性的方向。

改 skill.md,靠的是感觉。


先说结论

SkillOpt 就是来解决这个问题的。

它让 skill.md 的优化过程变得可量化、可迭代、有方向。

微软把这个项目开源了,现在已经 9000+ Star。

核心思路一句话就能说清楚,把 Agent 执行技能的过程记录下来,分析哪些规则有用哪些没用,然后有针对性地改,改完再验证,直到性能不再提升。

听起来不复杂对吧。

但你去想想,之前大家是怎么写 skill 的。


它到底做了什么

SkillOpt 把整个过程拆成了四个阶段,恰好对应深度学习的训练循环。

我一个个说。

第一阶段 前向传播

让 Agent 拿着现有的 skill.md 去跑一批任务,把整个过程录下来。

用了哪些工具、调用了几次、每一步的输入输出、最后的得分,全记录。

这一步不需要任何优化,就是跑一遍,看现状。

跟训练模型里先跑一次前向传播看 baseline 是一个意思。

第二阶段 计算梯度方向

这是整个工具最聪明的地方。

它用一个单独的模型来分析刚才那些执行记录,找出成功和失败的模式。

比如说,所有成功跑完的任务都调用了某个工具,而失败的全没调用。

那说明 skill.md 里可能漏写了这个工具的用法。

反过来,某些规则在失败案例里频繁出现,说明这条规则可能有问题。

它把成功轨迹和失败轨迹分开处理。

成功的规则,不能随便动。

失败的,才允许改。

这就跟梯度方向一样,告诉你朝哪个方向改是对的。

第三阶段 有节制地改

找到方向之后,它提出具体的修改方案,加一条规则、删一条规则、或者改某个描述。

但每次最多改 4 处。

这个 4 是「文本学习率」,你可以调。

为什么不能一次改太多?

因为改多了你不知道哪一处起了作用,改错了也无从排查。

就跟学习率设太大模型会发散是一个道理。

第四阶段 验证后再接受

改完的 skill.md 要在验证集上跑一遍,分数真的涨了才接受这个修改。

如果没涨,或者跌了,这个修改就被拒绝,并且记录到一个「拒绝编辑缓冲区」里。

下次不会再往这个错误方向改了。

这整个循环跑完,skill.md 就被迭代了一轮。


有几个边界得顺手说一下。

SkillOpt 需要你准备带验证标签的数据集。

就是你知道每个任务跑完之后,对的结果长什么样。

如果你的任务是「帮我整理笔记」这种开放式任务,你先得想办法给它定义一个可量化的评分标准。

这是使用门槛,不是开箱即用。

另外,它目前主要针对的是 skill.md 这种 Markdown 格式的技能文档。

如果你用的是其他格式的 prompt 管理方案,可能需要自己适配。


顺着上面的再说迁移能力。

这个是我觉得最实用的部分。

在 GPT-5.5 上训出来的 skill.md,可以直接搬到 GPT-5.4-mini 上用。

在 Codex 上训出来的,也可以用在大模型 Claude Code 上。

也就是说,你不需要为每个模型重新训一遍。

训一次,多个模型复用。

这个意义很大。

因为现在各家模型的能力边界不一样,Agent 框架也不一样,以前每个环境都要重新调 prompt,现在有可能一套 skill 通吃。

当然,迁移效果取决于任务本身的通用性。

如果某个技能高度依赖某个模型的特有行为,那迁移过去可能还是会掉分。

SkillOpt 论文里的实验数据显示掉分不多,但你自己用的时候建议还是验证一下。


测试结果

论文里跑了 52 个测试场景。

全部达到了最好或者并列最好的结果。

具体数字。

GPT-5.5 平均提高了 23.5 个百分点。

ALFWorld 环境里,GPT-5.4-mini 从原来的 70.9% 提升到了 85.8%。

而且只用了 4 个被接受的编辑。

也就是说,不需要改很多处,找准方向的话几处修改就能带来明显提升。

训练过程中的分数变化是可视化的,哪些编辑被接受了、哪些被拒绝了、拒绝的原因是什么,全有记录。

这个对我这种喜欢搞清楚「为什么」的人很有帮助。


如果你想试一下

项目地址先放这里。

https://github.com/microsoft/SkillOpt

基于 MIT 协议开源,可以直接用。

安装很简单,就是标准 Python 项目那套。

git clone https://github.com/microsoft/SkillOpt.git
cd SkillOpt
pip install -e .

配置 API 密钥,把 .env.example 复制成 .env,填进去就行。

# OpenAI
export OPENAI_API_KEY="sk-..."

# 或者 Azure OpenAI
export AZURE_OPENAI_ENDPOINT="https://your-resource.openai.azure.com/"
export AZURE_OPENAI_API_KEY="your-key"

# 或者 Anthropic Claude
export ANTHROPIC_API_KEY="sk-ant-..."

数据准备有两种方式。

让 SkillOpt 自动划分训练集、验证集、测试集。

或者你自己准备好三个文件夹,手动指定。

然后开始训练。

python scripts/train.py --config configs/searchqa/default.yaml

可以指定 teacher 和 student 模型。

python scripts/train.py \
  --config configs/searchqa/default.yaml \
  --teacher_model gpt-5.5 \
  --student_model gpt-5.5

训练完之后的输出目录结构很清晰。

outputs/<run_name>/
├── best_skill.md   # 最终训练出的技能文档
├── skills/         # 每个步骤对应的技能快照
├── steps/          # 每个步骤的详细记录
└── history.json    # 训练历史

把 best_skill.md 的内容直接塞进 Agent 的 system prompt 里就能用。

整个训练过程没有增加额外的推理开销。

部署的时候也不需要调用优化器模型,就多了一个 Markdown 文件。


说一下我的看法

SkillOpt 让我重新想了一个问题。

Agent 的能力上限,到底是受限于模型本身,还是受限于你给它的技能文档?

过去两年大家都在卷模型,参数规模、benchmark 分数、多模态能力。

但模型强,skill 写得烂,Agent 还是用不起来。

这件事其实很多人都有体感,只是没有系统性的办法去解决。

SkillOpt 提供的是一个方向,把技能文档也当成一种可以训练的「参数」,用数据驱动的方式去优化它。

这个思路我觉得会慢慢变成标配。

不一定是用 SkillOpt 这个工具,但这个方向是对的。

以后可能会有更多人做类似的事情,针对不同的 Agent 框架、不同的技能格式,都会有对应的优化工具。


到最后。

Agent 这个东西,是在模拟一个人怎么用工具完成任务。

你给它模型、给它工具、给它技能文档,它就能干活。

这三个里面,模型是别人训好的,工具是你集成的,只有技能文档是你自己写的。

如果你写的技能文档质量上不去,Agent 的上限就被你卡住了。

SkillOpt 把这件事变得有方法了一些。

不是什么革命性的东西,但挺实用的。

以上。

既然看到这里了,欢迎随手点赞、在看、转发,也可以给我一个星标,接收最新的文章。我们下期见。