你的 Skill 写得再漂亮,跑出来效果差就是零
Agent Skill 生态正在爆发。Claude Code、Codex、OpenClaw、Trae、CodeBuddy 等工具都支持 SKILL.md 格式。当你有 10 个 Skill 可以手动维护,当你有 60+ 个时,你需要一个系统。传统 Skill 审查是纯结构性的——检查格式对不对、步骤有没有编号、路径能不能访问。但一个格式完美的 Skill,跑出来的效果可能很差。darwin.skill 同时评估结构质量和实际效果,然后只保留真正有改进的修改。 受 Andrej Karpathy autoresearch 启发,它把”只保留可测量改进”的棘轮机制从模型训练搬到了 Skill 优化领域。
像训练模型一样优化 Skill
darwin.skill 的核心思路来自 Karpathy 的 autoresearch:定义目标和约束,让 agent 自主生成和测试变更,只保留可测量的改进。区别在于:autoresearch 完全自主(loss 只是个数字),Skill 质量有时需要人的判断,所以 darwin.skill 在关键阶段强制暂停等人确认。
整个优化循环分 5 个阶段:
| 阶段 | 做什么 | 人参与度 |
|---|---|---|
| Phase 0 初始化 | 扫描 Skill、创建 git 分支、初始化结果文件 | 低 |
| Phase 0.5 测试 Prompt 设计 | 为每个 Skill 设计 2-3 个典型测试 prompt | 高(需确认) |
| Phase 1 基线评估 | 9 维度打分,子 agent 跑实测对比 | 中(审报告) |
| Phase 2 优化循环 | 诊断短板 → 改一个维度 → 独立评委打分 → 保留/回滚 | 高(每轮 CHECKPOINT) |
| Phase 3 回归测试 | 涨幅低于阈值自动停手 | 低 |
棘轮机制是核心:分数只能上升。每一轮要么改进 Skill,要么干净地回滚。不会随时间积累局部退化。v2.1 引入了 paired 同-judge 比较(奇数 N 多数决),解决绝对分数 ±8 的 judge 噪音问题——同一份未改文字换个 judge 评,总分可摆动 ±8 分,全是 judge 换尺,不是真实退步。
独立评分是另一个关键设计:评分用子 agent,避免”自己改自己评”的偏差。SkillLens 论文实证 LLM 自评准确率仅 46.4%(接近随机),加入 meta-skill 三维度后升到 73.8%。每轮启动 2 个独立评委,下一轮换全新评委,避免锚定效应。
9 维度评估体系:结构 + 效果 + 反模式
总分 100。v2.0 吸收微软研究院 SkillLens 和 SkillOpt 两篇论文后,从 8 维升级到 9 维:
结构维度(59分)— 静态分析
| # | 维度 | 权重 | 一句话 |
|---|---|---|---|
| 1 | Frontmatter 质量 | 7 | name 规范、description 包含做什么+何时用+触发词 |
| 2 | 工作流清晰度 | 12 | 步骤明确可执行、有序号、每步有输入/输出 |
| 3 | 失败模式编码 | 12 | 必须显式编码”如果 X 失败 → Y”,只写正向流程扣 ≥3 分 |
| 4 | 检查点设计 | 6 | 关键决策前有用户确认,必须显性标记(🔴/STOP) |
| 5 | 可执行具体性 | 18 | 禁止”建议/可以考虑/根据情况/灵活把握”等模糊词 |
| 6 | 资源整合度 | 4 | references/scripts/assets 引用正确、路径可达 |
效果维度(35分)— 需要实测
| # | 维度 | 权重 | 一句话 |
|---|---|---|---|
| 7 | 整体架构 | 12 | 结构层次清晰、不冗余不遗漏 |
| 8 | 实测表现 | 23 | 跑测试 prompt,对比有/无 Skill 的输出质量 |
Meta-skill 维度(6分)— 反模式防护
| # | 维度 | 权重 | 一句话 |
|---|---|---|---|
| 9 | 反例与黑名单 | 6 | 必须有”不要做什么”的反例清单,只写”应该做”扣 ≥3 分 |
v2.0 新增的三个维度直接来自 SkillLens 论文:
- 失败模式编码:不只是”告诉 agent 别犯错”,而是把已知失败路径显式编码进 Skill
- 可执行具体性:明文禁止模糊措辞,出现 ≥3 处扣 ≥3 分
- 高风险行动黑名单:rm / git reset –hard / force push 等破坏性操作必须显式列禁
实测表现权重最高(23分)。一个格式完美的 Skill,跑出来效果不好就是零。这就是 darwin.skill 与纯结构审查的本质区别。
实测数据:从 80.8 到 91.65 的进化路径
darwin.skill 提供了两个实测案例:
| Skill | 基线分 | 优化后 | 最终分 | 增益 | 评委数 |
|---|---|---|---|---|---|
| huashu-gpt-image | 80.8 | 91.5 | 91.65 | +10.85 | 6 个独立评委共识 |
| darwin-skill(自评) | 86.05 | 92.05 | 92.7 | +6.65 | 独立评委 |
关键数字:
- 8 条反例黑名单(明文禁止的反模式)
- 5 条核心原则(单一可编辑资产、双重评估、棘轮机制、独立评分、人在回路)
- v2.1 改为 paired 比较后,false-revert 率显著下降
- 每轮涨幅 < 1 分自动早停,避免凑分堆冗余
- 干跑比例 > 30% 自动告警
before vs after 示例(huashu-gpt-image):
- before(80.8):结构基本完整,但缺乏失败模式编码,实测输出质量不稳定
- after(91.65):失败路径显式编码,模糊措辞清除,实测一致性提升
作者还做了 controlled study:对 huashu-research 做 4 类 degradation,5 个独立 judge 盲测一致判定 V1>V2,Δ 均值 +46.5(5/5 high confidence)。结论:rubric 能识别 gross degradation,但 fine-grained quality difference 仍不可信,重要决策必须人审。
安装、适用场景与结语
安装
npx skills add alchaincyf/darwin-skill
安装后在任何支持 Skill 的 Agent 工具中说”优化所有 skills”或”优化某个 skill”就行。无法访问 GitHub 的朋友,可以下载 zip 包解压放到 ~/.claude/skills/darwin-skill/。
前置条件:在 git 仓库里跑优化,先 commit 或 stash 本地改动,darwin.skill 才能干净地保留或回滚实验改动。
适合谁
| 角色 | 价值 |
|---|---|
| Skill 开发者(60+ 个 Skill) | 批量优化,自动回滚,不再手动维护 |
| Claude Code / Codex 深度用户 | 提升日常使用 Skill 的输出质量 |
| AI Agent 研究者 | 9 维度 rubric 可作为评估框架参考 |
| 团队 Skill 管理者 | 棘轮机制确保质量只升不降 |
不适合谁
- 只有 1-2 个简单 Skill 的用户(手动改改就够了)
- 没有 git 基础的用户(需要 git 操作能力)
- 期望完全自动化的人(人在回路是核心设计,不是缺陷)
内链
- Archify 实测:34k Star 的 AI 架构图生成器 — 同样是 Agent 生态的工具类 Skill
- Humanizer-zh 实测:24 条规则去除 AI 痕迹 — 同属 Skill 生态,关注输出质量
评分
8.5/10
| 维度 | 分数 | 说明 |
|---|---|---|
| 概念创新度 | 9 | autoresearch + SkillOpt 映射,棘轮机制新颖 |
| 功能完整度 | 9 | 5 阶段循环 + 9 维评估 + 人类检查点,设计完整 |
| 文档质量 | 8.5 | SKILL.md 519 行/31KB,详尽但偏长 |
| 安装便捷度 | 9 | 一行 npx install,开箱即用 |
| 实测数据 | 8 | 有 controlled study,但样本有限(2 个 Skill) |
| 社区认可 | 9 | 微软 SkillOpt 官方集成、5.8k Star |
| 局限性 | – | SKILL.md 31KB 偏重、需要 git 基础、人在回路设计牺牲自动化 |
一句话总结:darwin.skill 是目前 Agent Skill 优化领域最系统的开源方案,微软官方背书 + autoresearch 灵感 + 9 维度 rubric 构成了扎实的理论基础。它的核心价值不在于”自动改 Skill”,而于”只保留可测量的改进”——棘轮机制让质量只升不降。
—
合规披露:本文基于 darwin-skill 公开 README、SKILL.md 及 Trendshift 数据撰写,未接受作者资助。