让 AI 自己优化自己:darwin-skill 全解析

文章目录
一、先问你一个问题
你有没有过这种感觉:给 AI 装了一堆"技能"(skill),刚开始还挺好用,但越用越觉得不对劲?
写个报告,它啰嗦半天;让它总结,它抓不住重点;换个场景,它又一本正经地跑偏。你以为是模型不行,其实很可能是——你的 skill 写得太糙了。
skill 这东西,说白了就是给 AI 的"岗位说明书"。说明书写得好不好,直接决定 AI 干活的质量。可问题是:大部分人写完 skill 就扔在那儿,从不迭代。就像招了个员工,上岗那天发份入职手册,之后就再也不管了——时间一长,手册过时了、流程僵化了,员工自然越干越差。
那有没有办法,让 AI 自己评估、优化、验证、回滚自己的 skill?
有。这就是今天要聊的 darwin-skill。
二、darwin-skill 是什么?
一句话:借鉴 Karpathy autoresearch 思想 和 微软的 SkillOpt 的自主 skill 优化器——让 AI 像生物进化一样,持续优化自己的技能,保留进步、淘汰退步。
光看名字就很有讲究。"darwin"取自达尔文,核心思想就是进化论:评估现状 → 尝试改进 → 验证效果 → 留下好的、砍掉坏的。
它跟市面上那些"skill 检查工具"最大的区别是:不是只看格式规不规范,而是真的跑一遍,看改完效果是不是更好。
三、核心思想:五步进化循环

darwin-skill 的核心是一个闭环,五个环节:
评估 → 改进 → 实测验证 → 人类确认 → 保留或回滚
- 评估:给每个 skill 打分(8 个维度,满分 100)
- 改进:找出最弱的一环,针对性改一版
- 实测验证:拿真实测试问题跑一遍,看输出质量是否真的提升
- 人类确认:改完停下来,让你过目,你说 OK 才继续
- 保留或回滚:分数涨了保留,跌了自动回滚
这里有几个很聪明的设计:
棘轮机制——只保留改进,退步自动回滚。就像棘轮只能往前转,不能倒退。用 git 管理,回滚用 git revert(生成新提交),而不是 reset --hard(抹掉历史),这样每一步都有迹可循。
独立评分——打分用独立的子 agent 来做(可以是同一个基模,但是是独立的上下文),避免"自己改自己评"的偏差。你想啊,一个人改完自己的作业再给自己打分,能客观吗?AI 也一样。
人在回路——这是它和 Karpathy autoresearch 最大的区别。autoresearch 是全自主的,让 AI 无限跑实验;但 skill 优化需要人的判断,所以每个 skill 优化完都会暂停,等你确认。AI 负责干活,你负责拍板。
四、8 维度评分表:最硬核的干货
这是整个工具最值钱的地方——一套可复用的 skill 质量评估标准。别管你用不用 darwin-skill,这套评分表本身就能帮你审视自己写的 skill。
结构维度(60 分)——静态分析,看"写得好不好"
| # | 维度 | 权重 | 看什么 |
|---|---|---|---|
| 1 | Frontmatter 质量 | 8 | name 规范、description 说清楚做什么+何时用+触发词 |
| 2 | 工作流清晰度 | 15 | 步骤明确可执行、有序号、每步有输入输出 |
| 3 | 边界条件覆盖 | 10 | 异常怎么处理、有没有 fallback、错误怎么恢复 |
| 4 | 检查点设计 | 7 | 关键决策前有没有让用户确认 |
| 5 | 指令具体性 | 15 | 不模糊、有具体参数/格式/示例 |
| 6 | 资源整合度 | 5 | references/scripts 路径对不对、可达不可达 |
效果维度(40 分)——需要实测,看"跑出来好不好"
| # | 维度 | 权重 | 看什么 |
|---|---|---|---|
| 7 | 整体架构 | 15 | 结构清晰、不冗余不遗漏 |
| 8 | 实测表现 | 25 | 用测试 prompt 跑一遍,输出质量够不够 |
总分 = Σ(维度分 × 权重) / 10,满分 100。
注意第 8 维"实测表现"权重最高(25 分),这是它跟纯结构审查最大的分水岭。怎么测?给每个 skill 设计 2-3 个典型使用场景的 prompt(不是刁钻的边角 case,是用户最常用的话),然后:
- 一个子 agent 带着 skill 跑
- 一个子 agent 不带 skill 跑(作为 baseline)
- 对比两组输出,看带 skill 到底有没有提升
如果资源紧张跑不了子 agent,就退化成"干跑验证"——读完 skill,模拟一个典型 prompt 的执行思路,判断流程合不合理。但要在结果里标注 dry_run,别假装跑过。
五、怎么用?三步上手
第一步:装好 skill
先确保你已经有了一些 skill(装多少都行),然后安装 darwin-skill,给 AI 发一句:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_df471c2d/darwin-skill
第二步:四种用法,按需选
| 用法 | 说一句话 | 它干什么 |
|---|---|---|
| 全量优化 | “优化所有 skills” | 跑完整流程,先基线评估,挑分最低的 5-10 个重点优化 |
| 单个优化 | “优化 xx 这个 skill” | 只针对指定 skill |
| 仅评估不改 | “评估所有 skills 的质量” | 只打分,不动手 |
| 查看历史 | “看看 skill 优化历史” | 展示 results.tsv 优化记录 |
第三步:在关键节点拍板
整个流程里,AI 会在两个地方停下来等你:
- 基线评估完——先给你看评分卡,你确认了才进入优化
- 每个 skill 优化完——给你看改动 diff 和分数变化,你说 OK 才继续下一个
六、为什么值得装?
1. 它解决的是"skill 越用越笨"的真问题
很多人装了 skill 就完事,从不迭代。darwin-skill 把"优化 skill"从一件靠自觉的事,变成了一套自动化的、可验证的流程。
2. 它比纯结构审查高一个段位
市面上很多工具只看你的 SKILL.md 格式规不规范、有没有触发词。但格式规整 ≠ 效果好。darwin-skill 的核心是实测——改完真的跑一遍,用输出质量说话。这才是"有效优化"。
3. 它和 Karpathy autoresearch 一脉相承
Karpathy 的 autoresearch 思想是:把目标和约束写进 program.md,让 agent 无限生成并测试代码改动,只保留能可测量提升目标的部分。darwin-skill 把这套思想搬到了 skill 优化上:
| autoresearch | darwin-skill |
|---|---|
| program.md(目标+约束) | 本文件(评估 rubric + 约束规则) |
| train.py | 每个 SKILL.md |
| val_bpb(验证指标) | 8 维加权总分(含实测) |
| git ratchet(棘轮) | 只保留有改进的 commit |
| test set(测试集) | 每个 skill 的 test-prompts.json |
4. 它适合谁?
- 装了一堆 skill 但从不管理的人
- 想让 AI 干活更稳定、更高效的开发者
- 对"AI 自我进化"这个话题感兴趣的人
七、避坑指南 + 一句话收尾
用的时候,记住这几条底线(也是它内置的约束规则):
- 别改核心功能——只优化"怎么写",不改"做什么"
- 别乱加依赖——不引入原本没有的 scripts/references
- 每轮只改一个维度——改多了没法归因
- 控制体积——优化后别超过原来的 150%
- 保持简洁——中文为主,别堆砌
- 可回滚——所有改动都在 git 分支上
- 评分要独立——效果维度必须子 agent 或至少干跑验证,不能"改完直接评"
最后,送你一句话:
AI 的技能,也应该像生物一样进化——保留进步,淘汰退步。这就是 darwin 的意义。
你的 skill 不是写一次就完事的。让它活起来,让它自己长。
更多推荐



所有评论(0)