Skill 自动进化 · 让系统自己变好(花叔 darwin)
问题在哪
你花了时间,用女娲(nuwa)把 Skill 写出来了。写完觉得不错,存档,继续用。
然后呢?
大概率就这样了。Skill 像个文件一样躺在那里,不会自己变好。你用一段时间,发现它有时候跑偏、有时候输出格式奇怪,但要手动去改,你又没精力——光找到是哪里写得不好就要花时间。
当 Skill 还少的时候,这不是问题。但如果你跟花叔一样,攒了 60 多个 Skill,就真的需要一个系统来帮你做这件事了。
这就是 darwin-skill 想解决的问题:Skill 写出来只是开始,持续进化才是常态。
darwin 的思路:像训练模型一样优化 Skill
花叔直接说,这个项目是受 Andrej Karpathy 的 autoresearch 启发做的。
Karpathy 的 autoresearch 是什么?简单说:给 AI 一个目标,让它自己生成代码变更、自己测试、只保留能测量到的改进,其余全部回滚。全程几乎不需要人参与。
花叔把这套思路搬到了 Skill 优化上:
| autoresearch 的做法 | darwin 对应的东西 |
|---|---|
program.md 定义目标和约束 | SKILL.md 本身(达尔文的评估协议) |
train.py 被优化的代码 | 每个待优化的 SKILL.md |
| 可测量的 loss 值 | 8 维加权总分(满分 100) |
| git ratchet 只保留改进 | keep / revert 机制 |
| test set 验证集 | 每个 Skill 配套的 test-prompts.json |
最大的区别是:autoresearch 是全自主的,darwin 加了人在回路——每个 Skill 优化完,先给你看 diff 和分数变化,你点头才继续。花叔觉得 Skill 好不好,比 loss 数值更微妙,不能完全甩给机器判断。
核心机制:5 个阶段 + 棘轮
整个流程分 5 个阶段,阶段之间暂停等你确认:
Phase 0:确定要优化哪些 Skill,建 git 分支,翻翻历史记录。
Phase 0.5:为每个 Skill 设计 2-3 个测试 prompt。这步很关键——没有测试 prompt,就没法做真实效果评估,只能看格式好不好看,那意义不大。
Phase 1(基线):用 8 维度评分体系给每个 Skill 打基线分,展示评分卡,等你确认。
Phase 2(优化循环):从分数最低的开始,每轮找出最薄弱的维度 → 生成改进方案 → 改 SKILL.md → git commit → 子 Agent 独立重新评分 → 新分比旧分高就保留,否则 git revert。每个 Skill 改完暂停给你看。
Phase 2.5(可选):如果 hill-climbing 连续撞墙,可以提议从头重写——不是微调,是彻底重组结构。但必须你同意才动。
Phase 3:汇总报告,Before/After 对比表,主要改进清单。
棘轮机制
这是整个系统的保险:分数只升不降。
轮次 2 的 75 分低于当前最优的 78 分,被自动回滚。有效基线始终锁定在 78,后续改进从 78 继续。
用 git revert(不用 reset --hard),每个操作都有记录,任何时候可以追溯。
8 维度评估体系
总分 100,分两类:
结构维度(60 分)——静态分析,AI 自己读就能打:
- Frontmatter 质量(8 分):触发词够不够、描述清不清楚
- 工作流清晰度(15 分):步骤有没有编号、每步输入/输出明不明确
- 边界条件覆盖(10 分):异常情况处理、fallback 路径
- 检查点设计(7 分):关键决策前有没有让用户确认
- 指令具体性(15 分):有没有具体参数/格式/示例
- 资源整合度(5 分):引用的路径是否可达
效果维度(40 分)——必须实测:
- 整体架构(15 分):结构层次清不清晰
- 实测表现(25 分):用测试 prompt 真的跑一遍,输出质量怎么样
花叔把实测表现权重设最高(25 分)。道理很直接:Skill 写得再漂亮,跑出来效果不好就是零。
评效果的方式:一个子 Agent 带着这个 Skill 跑测试 prompt,另一个不带 Skill 跑同一个 prompt,对比两组输出。评分用独立子 Agent,避免”自己改自己评”的偏差——这个设计很认真。
你可以怎么用
三种使用方式,门槛从低到高:
只评估,不改:说”评估所有 skills 的质量”,只跑基线评分,不动文件。适合先摸底,看看自己的 Skill 质量分布在哪里。
单个优化:说”优化 XXX 这个 skill”,只对一个 Skill 跑完整流程。适合你已经知道哪个 Skill 表现不好。
全量优化:说”优化所有 skills”,跑完整的 Phase 0-3。首次推荐这样做,建立基线后,后续维护成本会低很多。
安装一行命令:
npx skills add alchaincyf/darwin-skill无法访问 GitHub 的话,可以下载 zip 包手动解压到 ~/.claude/skills/darwin-skill/。
和女娲(nuwa)的关系
花叔的两个 Skill 是一对:
nuwa(女娲)——生产新 Skill。你描述你想要什么能力,女娲帮你蒸馏出一个 SKILL.md。
darwin(达尔文)——让已有 Skill 进化。Skill 写好之后,持续评估、改进、验证。
两者互为上下文:nuwa 造出来的 Skill,可以直接交给 darwin 跑基线评估,发现刚出炉的 Skill 哪里还有漏洞。
→ 相关页面:Skill 蒸馏 · 让 AI 帮你写出自己的 Skill(花叔 nuwa)
门槛说实话
这个比 nuwa 难。
nuwa 的门槛是:你能描述清楚自己想要什么能力。darwin 的门槛是:你得有几个 Skill 在用,还要有 git 基础(知道什么是 commit、revert),还要能理解”8 维度评分”这套逻辑。
如果你刚开始接触 Skill,建议先用 nuwa 把第一个 Skill 搭起来,用一段时间之后,再回来考虑 darwin。
如果你已经有一批 Skill、想知道它们质量怎么样、哪些值得花时间改——darwin 是目前最系统的答案。
来源:花叔 darwin-skill 仓库 · /Users/chenbin/Documents/Personal Kingdom/知识库/素材_AI使用/人物/花叔/github-mirror/darwin-skill/ · 编译日期 2026-04-21