核心用法
darwin-skill 是一套受Karpathy autoresearch启发的自主skill优化系统,核心流程为「评估→改进→实测验证→人类确认→保留或回滚」。当用户触发"优化skill"、"skill评分"、"自动优化"等关键词时启动。
8维度评估体系(总分100)
- 结构维度60分:Frontmatter质量、工作流清晰度、边界条件覆盖、检查点设计、指令具体性、资源整合度
- 效果维度40分:整体架构、实测表现(关键差异点——用测试prompt跑真实输出对比baseline)
三阶段工作流
1. Phase 0.5:设计2-3个测试prompt,用户确认后进入评估
2. Phase 1:基线评估,生成评分卡,等用户确认
3. Phase 2:hill-climbing优化循环,每轮只改一个维度,用独立子agent重跑测试,总分严格提升才保留,否则git revert
关键设计
- 棘轮机制:只保留改进,自动回滚退步
- 评分独立性:效果维度必须用子agent或干跑验证,避免「自己改自己评」
- 人在回路:每个skill优化完展示git diff和分数变化,等用户确认再继续
- 探索性重写:连续瓶颈时可选全盘重构,突破局部最优
显著优点
- 实测驱动:不只看写得规不规范,更看改完后实际跑出来的效果是否更好
- 可解释性强:每轮改动单一维度,归因清晰,results.tsv完整记录历史
- 风险可控:git分支隔离,revert而非reset,用户随时可介入回滚
- 与花叔生态对齐:尊重中文为主、简洁为上的风格
潜在缺点
- 资源消耗大:每个skill需跑2-3次子agent测试,全量优化成本较高
- 测试prompt质量依赖人:设计不佳会导致优化方向偏差
- 效果评分主观性:即使子agent评分,「输出质量」判断仍有主观成分
- 收敛速度不确定:局部最优时需要探索性重写,增加不确定性
适合人群
- 拥有5个以上skills、需要系统化管理质量的中高级用户
- 愿意投入时间理解评估逻辑、参与人在回路确认的技术型用户
- 追求"可测量改进"而非"感觉变好"的数据驱动型用户
常规风险
- 过度优化:可能为追求分数提升而牺牲skill简洁性(有文件大小150%约束缓解)
- 测试泛化不足:测试prompt覆盖不全时,优化后的skill在真实场景中可能退化
- 子agent失败降级:资源不足时退化为干跑验证,评分可靠性下降
- git操作依赖:环境若无git或分支冲突,可能中断流程