前言
上次我们分享了女娲Skill:输入一个名字,就能把任何人的思维方式提取成一套可调用的AI Skill。女娲负责“造人”,但造出来的 Skill 质量参差不齐,质量好坏还得靠人工逐个判断。
达尔文Skill 解决的就是这个问题:让 Skill 自己进化。当你有 10 个 Skill 时,手动维护还勉强可以;当你有 60 个 Skill 时,你就需要一个系统。传统的 Skill审查只看格式对不对、步骤有没有编号,但格式完美不代表效果好。达尔文 Skill 同时评估结构质量和它的实际效果,只保留真正有改进的修改。
项目地址:https://github.com/alchaincyf/darwin-skill
像训练模型一样优化 Skill
达尔文的灵感来自 Andrej Karpathy 的 autoresearch 项目,让 AI 自主生成和测试代码变更,只保留可测量的改进。达尔文把同样的思路搬到了 Skill 优化上。
它的核心机制是一个“只能向前转的棘轮”,每一轮优化要么改进 Skill,要么干净地回滚。分数只升不降,不会随时间积累局部退化。
以下是 autoresearch 与达尔文 Skill 的对比:
| autoresearch | 达尔文 Skill | |
|---|---|---|
| 核心目标 | 优化代码 | 优化 Skill |
| 被优化的资产 | train.py | 每个待优化的SKILL.md |
| 优化目标 | val_bpb(可量化指标) | 9 维加权总分(满分 100) |
| 保留机制 | git ratchet | keep / revert 机制 |
| 验证方式 | test set | test-prompts.json |
| 运行方式 | 全自主 | 人在回路(关键阶段暂停确认) |
“人在回路(Human-in-the-Loop,HITL)”指的是:让人类参与到一个自动化系统或 AI Agent 的执行流程中,在关键环节由人进行确认、决策、纠正或干预。Skill 的好坏比代码的 loss 值更微妙,所以达尔文在关键阶段会停下来等人确认,这是它和全自动系统的核心区别。
五条核心原则
| 原则 | 说明 |
|---|---|
| 单一可编辑资产 | 每次只改一个SKILL.md,改进可归因 |
| 双重评估 | 结构评分(静态分析)加效果验证(跑测试看输出) |
| 棘轮机制 | 只保留改进,自动回滚退步,分数只升不降 |
| 独立评分 | 用子 agent 评分,避免“自己改自己评”的偏差(LLM 自评准确率仅 46.4%) |
| 人在回路 | 每个 Skill 优化完后暂停,等你确认再继续 |
九维度评估体系
总分 100 分,结构维度靠静态分析,效果维度必须实测。以下三个维度来自微软研究院 SkillLens 论文的实证验证(73.8% 的优化效果来自这套评估标准):
| 维度 | 说明 |
|---|---|
| 失败模式编码 | 显式编码已知失败路径,不是简单“别犯错”式叮嘱 |
| 可执行具体性 | 禁用“建议”“可以考虑”“根据情况”“灵活把握”等模糊措辞 |
| 高风险行动黑名单 | rm、git reset --hard、force push等破坏性操作必须明文列禁 |
优化循环:五个阶段
Phase 1:基线评估
自动扫描目标 Skill,给出 9 个维度的初始分数和诊断报告。你需要审核报告,决定优先优化哪个维度。
Phase 2:单维度优化
系统找出加权短板最大的维度,针对该维度生成 1 个具体改进方案,编辑 SKILL.md,提交 git commit,然后启动 2 个独立子 agent 重新评分。新分高于旧分则保留,否则 git revert 回滚。单轮涨幅低于 1 分自动早停。
🔴 CHECKPOINT 强制暂停,展示 diff 和分数变化,等用户确认。
Phase 2.5:测试提示词跑(可选)
你可以手动跑几个测试用例,验证优化后的效果。
Phase 3:回归测试
多评委独立审查,涨幅低于阈值强制停手。
反例黑名单(明文禁止的反模式)
- 同一个 AI 又改又评(自评准确率仅 46.4%)
- 用 git reset --hard 当回滚手段(应用 git revert)
- 为凑分堆冗余
- 跳过测试提示词直接评分
- 一轮内改多个维度
- 干跑比例超过 30%
- 静默跳过异常
- 忽视维度相关簇
实操体验
下面以 Codex 为例,走一遍从安装到优化的流程。
安装达尔文 Skill
如果你的服务器上已经安装了 Codex,直接在对话框里执行:
npx skills add alchaincyf/darwin-skill执行前会询问确认,确认后安装完成,就可以正常调用了。
安装完成后,告诉 Codex 你想优化哪个 Skill,比如:
优化 wang-yangming-perspective 这个skill优化流程展示
Phase 1:基线评估
达尔文先检查环境并读取目标Skill,给出初步诊断结果。
Phase 2:单维度优化
达尔文针对“失败模式编码”短板,在 SKILL.md 中补充了显式 CHECKPOINT、事实边界检查、失败分支与兜底表格。
补丁通过所有检查,备份已完成,达尔文请求确认将优化后的 SKILL.md 和 test-prompts.json 正式写入目标目录。
Phase 3:回归测试(本轮单轮优化未触发)
当多轮优化累积后,达尔文会进入回归测试阶段,由多评委独立审查,涨幅低于阈值强制停手。
结语
达尔文 Skill 的功能不止于此,本篇简单分享了 Skill 优化的过程和方式。当你的 Skill 数量越来越多,手动维护越来越吃力时,达尔文能帮你自动评估、改进、验证,只保留有效的优化。