从大模型的提示词到智能体的 Skills,看着进化了,但又没有完全进化。
在智能体应用中,越来越多的程序员开始花大量时间写 CLAUDE.md、Codex 的 skill 文件、各种 Agent 的 system prompt。
手写这些技能文档,本质上是一种试错的手工活。写一版,跑几个任务看看效果,觉得哪里不对再改,改完再跑。这个过程和之前手调 prompt 没有本质区别,只是对象从一句话变成了一整份文档。
这件事其实挺荒诞,我们本来是想让更智能的 AI 帮我们干活的,结果现在反过来,我们在花大量精力教 AI 怎么干活。
这个问题似乎迎来了终点,微软在本周开源了 SkillOpt,一个把 Agent 技能文档当作「可训练参数」的文本空间优化框架,让技能文档自我进化。

核心思路很简单,不训练模型权重,只训练那份指导 Agent 行为的自然语言文档。在 7 个目标模型、6 个基准测试、3 种执行环境(直接对话、Codex、Claude Code)的全部 52 个评测组合中,SkillOpt 训练出的技能文档全部达到最优或并列最优。

SkillOpt 的核心洞察可以用一句话概括:Agent 的技能文档就是它的「外部权重」,既然内部权重可以用梯度下降来优化,外部权重也应该有一套系统化的训练方法。

SkillOpt 流程。冻结的目标模型使用当前技能执行;优化器模型提出有界的修改;保留的验证决定候选是否成为新的当前技能。
训练循环:前向传播、反向传播、参数更新

传统深度学习的训练循环是:前向传播算 loss,反向传播算梯度,用梯度更新权重。SkillOpt 把同样的逻辑搬到了文本空间:
整个循环跑多个 epoch,每个 epoch 内跑多个 step,和训练神经网络的节奏完全一致。
文本学习率:防止灾难性遗忘
训练神经网络时,学习率太大会导致灾难性遗忘,模型学了新东西就忘了旧东西。SkillOpt 在文本空间遇到了完全相同的问题:如果一次编辑改动太大,可能把之前学到的有效规则覆盖掉。
解决方案是引入「文本学习率」(textual learning rate):每一步允许的编辑操作数量有上限。论文中默认设置为 lr=4,即每步最多 4 个 add/delete/replace 操作。这个约束迫使优化器每次只做小幅调整,保持训练稳定性。
消融实验验证了这个设计的必要性:去掉学习率约束后,SearchQA 上的性能从 87.1% 降到 84.6%,SpreadsheetBench 从 77.5% 降到 75.7%,LiveMath 从 61.3% 降到 57.3%。
被拒绝编辑的缓冲区:负反馈记忆
另一个精巧的设计是 rejected-edit buffer。当一个编辑提案被验证门控拒绝时,它不会被简单丢弃,而是进入一个缓冲区。优化器在后续的反思阶段可以看到这些「失败的尝试」,从而避免重复提出类似的无效编辑。
这相当于给优化器提供了负梯度信息:不仅知道该往哪走,还知道哪些方向已经试过了走不通。
消融实验同样证实了它的价值:去掉 rejected buffer 后,SpreadsheetBench 从 77.5% 骤降到 72.9%。

慢更新与元技能:长期记忆机制
SkillOpt 还引入了两个跨 epoch 的记忆机制:
关键的是,这两个机制只在训练时存在。部署时,目标模型只需要那份最终的 best_skill.md,不需要任何额外的模型调用或记忆模块。推理时的开销为零。
主实验:7 个模型 × 6 个基准 × 3 种环境
SkillOpt 的评测覆盖面相当全面:
目标模型包括 GPT-5.5、GPT-5.4、GPT-5.4-mini、GPT-5.4-nano、GPT-5.2、Qwen3.5-4B、Qwen3.6-35B-A3B,从最强的闭源模型到 4B 参数的小模型都有。
基准测试覆盖 6 个不同类型的任务:SearchQA(问答)、SpreadsheetBench(代码生成 / 电子表格操作)、OfficeQA(工具增强问答)、DocVQA(文档视觉问答)、LiveMathematicianBench(数学推理)、ALFWorld(具身智能体)。
执行环境包括直接对话、OpenAI Codex、Anthropic Claude Code 三种主流的 Agent 执行框架。
在全部 52 个(模型 × 基准 × 环境)评测组合中,SkillOpt 达到最优或并列最优。

几个亮点数据:
小模型的提升幅度反而更大,这说明技能文档对能力较弱的模型帮助更显著。一份好的操作手册,对新手的价值远大于对专家的价值,这个直觉在 AI Agent 上同样成立。
对比实验:碾压所有基线方法
SkillOpt 对比了 6 种基线方法:无技能(no skill)、人工编写技能(human skill)、LLM 一次性生成技能(LLM skill)、Trace2Skill、TextGrad、GEPA。

在每一个 benchmark 上,SkillOpt 都超过了最强的基线方法:
值得注意的是,TextGrad 和 GEPA 都是已有的文本优化方法,SkillOpt 对它们的优势说明,系统化的训练循环设计(学习率、验证门控、负反馈缓冲)确实比松散的自我修正更有效。
迁移实验:一次训练,多处部署
SkillOpt 训练出的技能文档表现出很强的迁移能力:
论文中展示了一个 ALFWorld 任务上的完整训练过程,目标模型是 GPT-5.4-mini,优化器是 GPT-5.5。
初始技能文档是一份简洁的 ALFWorld 操作指南。经过 4 个训练 step 后,技能文档中新增了这些规则:
这些规则都是从失败轨迹中自动提炼出来的。比如第三条,来自 Agent 在某些任务中反复搜索同一类位置却找不到目标物品的失败经验。优化器观察到这个模式后,提出了「扩大搜索范围」的规则。

最终效果:ALFWorld 测试集的 hard 难度从 70.9% 提升到 85.8%。
整个过程中,Step 3 的编辑一度导致验证集性能下降,但被 slow update 机制救回。Step 4 的训练集得分更高,但验证集没有提升,因此被门控拒绝。这种「提出假设、验证、接受或拒绝」的循环,和人类科研的方法论如出一辙。
SkillOpt 告诉我们,智能体的一切都是可以自我学习的。
人类在 AI 工作流中的角色又往后退了一步。未来,我们会把更多的认知负担转移给机器。
文章来自于"机器之心",作者 "机器之心编辑部"。
【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。
项目地址:https://github.com/browser-use/browser-use
【开源免费】字节工作流产品扣子两大核心业务:Coze Studio(扣子开发平台)和 Coze Loop(扣子罗盘)全面开源,而且采用的是 Apache 2.0 许可证,支持商用!
项目地址:https://github.com/coze-dev/coze-studio
【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。
项目地址:https://github.com/n8n-io/n8n
在线使用:https://n8n.io/(付费)
【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。
项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file
【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。
项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file
在线使用:https://vectorvein.ai/(付费)
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0