写在前面
在 Agent 平台积累了一定数量的 Skill 和 Workflow 之后,下一个关键问题是:如何让这套体系随使用持续变好,而不是永远停留在初始部署时的能力水位?
很多团队的做法是:用另一个 LLM 来"评审"新 Skill 的质量,或者依靠开发者"感觉好"来决定是否发布。
2026 年 5 月发表的两篇研究论文,用实验数据彻底推翻了这种做法的可靠性。这篇文章是对这两篇论文核心结论的解读,以及如何将其方法论落地到企业 AI 平台的设计指南。
LLM 自评不可信:一个让人不安的发现
微软研究院和复旦大学联合发表的 SkillLens 论文研究了 agent skill 的全生命周期,其中最重要的发现是:
不带明确评估标准的 LLM 对比评判,准确率只有 46.4%——与随机猜测无异。
这已经够让人担忧了。更令人警觉的是:在两个 Skill 的实际性能差距越大的情况下,LLM 越倾向于选错——当性能差距最大的那组比对里,LLM 评判选择更差的 Skill 的概率高达 84.2%。
为什么会这样?原因在于 LLM 倾向于选择"写得好看"的 Skill:措辞清晰、结构完整、逻辑流畅。但"写得好看"和"执行效果好"之间,没有相关性。
直接影响:当前很多团队依靠开发者"感觉好"来发布 Skill,或者用另一个 LLM 来"评审" Skill 质量,这两种做法在评测结果上是等价的——都约等于随机猜测。
真正决定 Skill 质量的三个维度
SkillLens 通过大规模实验(5 个领域、6 个目标模型、5 个提取模型)发现,真正预测 Skill 下游性能的只有三个维度:
| 维度 | 含义 | 反例(无效的写法) |
|---|---|---|
| 失败路径编码 | 明确描述已知的失败方式 | "处理边界情况时需谨慎" |
| 可执行的具体性 | 提供可以直接执行的具体操作 | "根据情况判断"、"可以考虑" |
| 高危操作黑名单 | 明确列出禁止执行的破坏性操作 | (完全不提) |
其他看起来重要的维度——清晰度、完整性、简洁性、格式(有序列表/无序列表/散文/检查清单)——在实验中对性能没有统计显著影响(p > 0.34)。
这意味着:一个格式规范、措辞清晰但只提供通用建议的 Skill,其效果比一个格式粗糙但包含具体失败路径分析的 Skill 差得多。
用来审查 Skill 质量的快速三问:
- 这个 Skill 明确描述了哪些已知的失败场景?
- 它的操作指引是否具体到可以直接执行,还是充满"根据情况判断"这类模糊措辞?
- 它是否明确列出了不能执行的高危操作?
Skill 生命周期的三个阶段
SkillLens 将 Skill 的完整生命周期形式化为三个阶段,每个阶段有独立的关键发现:
阶段一:经验生成
目标模型执行训练任务 → 产生 (任务, 执行轨迹, 结果) 三元组
关键:同时收集成功和失败轨迹
发现:全部失败轨迹是最差的起点;最优的成功/失败比例因领域而异
阶段二:Skill 提取
提取模型分析轨迹池 → 提炼可迁移的规律 → 生成结构化 Skill 文档
发现:提取能力与任务执行能力正交——最强的执行模型不一定是最好的提取模型
阶段三:Skill 消费
目标模型在推理时使用 Skill → 测量性能提升
发现:同一个 Skill,对不同目标模型的效果差异极大SkillOpt:把 Skill 当作"可训练的外部状态"
SkillOpt(微软,2026 年 5 月)提出了一个框架,用深度学习训练循环的逻辑来设计 Skill 调优过程:
| 深度学习概念 | SkillOpt 对应物 |
|---|---|
| 参数(weights) | Skill 文档 |
| 梯度方向 | 从执行轨迹推导出的编辑方向 |
| 学习率 | 编辑预算(每步最多改几条规则) |
| 验证集 | 保留的测试任务集(门禁) |
七个核心组件
前向传播(Rollout Evidence):用当前 Skill 执行一批训练任务,记录完整的执行轨迹——工具调用、中间输出、最终结果、验证反馈。
反向传播(Minibatch Reflection):优化器模型分析执行轨迹,将失败轨迹和成功轨迹分组,提取具体的编辑建议。采用小批量而非单条轨迹的原因:单条轨迹只产生个案修复,小批量暴露可复用的程序性错误模式。
有界文本更新(Bounded Edit Budget):每步允许的编辑数量受"学习率"控制,支持常数、线性、余弦和自主调度。默认余弦调度:初期编辑量大(探索),后期编辑量小(收敛精修)。无界改写会抹除有效规则或引入冲突指令。
验证门禁 + 拒绝缓冲区(Validation Gate):每次编辑后在保留集上打分,必须严格优于当前版本才接受(平局也拒绝)。被拒绝的编辑进入"拒绝缓冲区",后续调用时会看到这些失败记录,防止优化器重复尝试已证明无效的方向。
跨周期慢更新(Epoch-wise Slow Update):快更新学习单批次内的模式;慢更新跨周期学习。每个 epoch 结束时,比较当前 Skill 和上一 epoch 在相同任务上的表现差异,将纵向规律写入 Skill 的受保护字段。
慢更新机制是最重要的单项组件。消融实验中,去掉慢更新机制后,SpreadsheetBench 上分数下降 22.5 分,是所有组件中影响最大的。
实验效果
在 6 个领域、7 个目标模型、3 种执行环境(直接对话、Codex、Claude Code)的 52 个评估单元上,SkillOpt 全部达到最佳或并列最佳,无一失败。
代表性结果(GPT-5.5 直接对话):
- SearchQA: 77.7 → 87.3(+9.6)
- SpreadsheetBench: 41.8 → 80.7(+38.9)
- OfficeQA: 33.1 → 72.1(+39.0)
- ALFWorld: 83.6 → 95.5(+11.9)
跨执行环境迁移:在 Codex 环境下训练的 SpreadsheetBench Skill,迁移到 Claude Code 后绝对增益 +59.7(22.1 → 81.8),超过在 Claude Code 环境下直接训练的结果(80.4)。这说明 Skill 编码的是任务程序规律,而非特定环境的特殊偏好。
最终 Skill 文档紧凑(379–1995 token,中位数约 920 token),训练成本一次性支付,之后零推理时额外成本。
映射到企业 Agent 平台
以上方法论在学术基准上验证,落地企业平台需要做适配。
评测体系的建立
第一步:为每个 Skill 建立测试集,包含:
- 典型成功案例:有代表性的标准输入和期望输出
- 边界失败案例:从历史执行日志中提取的真实失败场景
- 回归案例:过去曾出现过、后来修复的问题
没有可靠的测试集,所有后续的优化都是在沙滩上建高楼。
第二步:建立评估指标,优先使用确定性信号:
| Skill 类型 | 评估指标 |
|---|---|
| 代码生成 | 编译通过率 + 单测覆盖率 + 静态分析通过 |
| Bug 分析 | 定位准确率(与资深开发者标注对比) |
| 文档生成 | 结构完整性(自动)+ 信息准确性(人工采样) |
| 需求分析 | 验收条件覆盖率 + 遗漏/冗余率(人工采样) |
第三步:用三维标准审查现有 Skill 库——失败路径、可执行具体性、高危操作黑名单。未满足这三条的 Skill,不论在其他维度看起来多好,在实际执行中大概率表现不佳。
调优流程
阶段一:被动修复(基于显式失败信号)
- 收集失败轨迹(失败的输入 + 错误输出 + 期望输出)
- 组织小批量反射:多个失败案例组成一批,分析共同失败模式
- 生成改进建议,限定编辑预算(每次只改 1-2 条规则)
- 在测试集上验证,严格要求分数提升(平局不接受)
- 人工审批后发布新版本
关键原则:编辑 Skill 的 agent 和评分的 agent 必须完全隔离,不能是同一个 session。
阶段二:主动模式发现(基于模式聚合,适合积累了足够执行数据后)
- 聚合同一 Skill 在不同任务上的失败记录,寻找系统性模式
- 识别"在某类输入上一致性失败"的 Skill,补充针对该类型的测试案例
- 跨 Skill 分析:Skill A 输出质量差是否导致了下游 Skill B 的失败率上升
走向自主进化的四个层级
| Level | 模式 | 说明 |
|---|---|---|
| 1 | 自动监控 + 人工决策 | 平台自动运行测试集,生成质量看板,低于阈值时告警,改动由人工触发和审批 |
| 2 | 自动优化 + 人工审批 | 告警后平台自动运行调优循环,生成候选改进版本,人工审批后发布 |
| 3 | 自主优化 + 人工抽检 | 优化循环完全自动运行,人工只做定期抽检和边界问题审查 |
| 4 | 涌现新 Skill(长期目标) | 平台分析执行日志,识别 agent 反复在做的未抽象子任务,自动提炼为候选 Skill |
安全护栏:自动优化系统的固有风险
自动优化系统有几个必须设计护栏的失控风险:
指标游戏:优化测试集上的指标,悄悄降低测试集未覆盖的能力。对策:测试集要持续从真实失败案例中补充,不能是静态固化的。
分布漂移:Skill 在测试集上很好,但在真实输入的边缘情况下退化。对策:Level 3 及以上的自主进化阶段,必须同时监控线上的真实质量指标。
级联退化:Skill A 微小退化导致下游 Skill B 失败率上升,但单独看每个 Skill 都达标。对策:除 Skill 级别的监控,必须同时监控 Workflow 端到端的质量。
改动速度限制:同一 Skill 在短时间内不允许连续多次改动,每次改动后必须经过一段线上观察期再做下一次。
强制版本记录和回滚:所有 Skill 改动必须有版本记录,支持一键回滚到任意历史版本。这是整个自主进化体系的安全网。
实施路线图
前提条件(必须先建好)
- Skill 测试数据集建设(每个 Skill 至少 20 个有代表性的测试案例)
- Skill 版本管理和回滚能力
- 执行日志的结构化采集(输入、输出、执行时间、中间状态)
- 三维评估标准的审计(对现有 Skill 库做一次全面体检)
阶段一:评测体系
- 为 P0/P1 级 Skill 建立测试数据集
- 建立基于确定性信号的自动化评测流水线
- 建设 Skill 质量看板,提供实时质量视图
- 建立基线:对现有 Skill 库跑一遍评测,知道现在在哪个水位
阶段二:调优流程
- 建设失败案例收集和归档系统
- 实现 Level 1 自动监控 + 人工触发调优
- 引入 SkillOpt 方法论,实现 Level 2 自动优化 + 人工审批
阶段三:自主进化
- Level 3:自主优化 + 人工抽检,先在低风险 Skill 上试点
- 执行日志分析,半自动识别 Skill 提炼机会
- 跨 Agent 的 Skill 知识共享机制
参考资源
| 资源 | 用途 |
|---|---|
| SkillLens 论文 | Skill 评测方法论,三维质量标准 |
| SkillOpt 论文 | Skill 自动调优框架 |
| microsoft/SkillOpt | SkillOpt 生产级实现,可直接集成 |
| darwin-skill | Claude Code 环境下的 Skill 优化实践工具 |
欢迎访问 PrimeSkills —— 一个精心策划的 AI Agent 与技能市场,所有内容均经过真实企业级工作流验证。没有噱头,只有真正有效的东西。
更多实用知识和有趣产品,欢迎访问我的个人主页