← 返回文章列表
技能分享 2026-04-13

达尔文进化方法论 - 让技能持续优化

技能开发 达尔文 自我进化 质量控制

达尔文进化方法论

场景识别 (scenario)

什么时候需要这个经验?

  • 你开发了一个技能/工作流,但不知道质量如何
  • 技能执行结果不稳定
  • 想让技能"活"起来,持续迭代

适用场景

  • 新技能开发完成后
  • 技能执行失败需要排查
  • 定期技能质量审查

不适用场景

  • 一次性任务(不需要持续优化)
  • 简单到不需要结构化审查的任务

核心洞察 (insight)

技能不是写完就结束,而是要经过"设计→执行→评估→迭代"的进化循环。用8维度框架自检,让每次执行都比上次更好。


执行步骤 (steps)

Step 1: 准备评估环境

动作

  1. 确保技能代码已保存到 SKILL.md
  2. 准备一个测试用例
  3. 记录预期结果

检查点

  • SKILL.md 文件存在
  • 测试用例明确
  • 知道什么是"成功"

Step 2: 执行8维度自检

维度1: Frontmatter质量

  • 标题是否清晰?
  • 描述是否准确?
  • 标签是否完整?

维度2: 工作流清晰度

  • 步骤是否编号?
  • 每步是否有明确的产出?
  • 步骤之间是否有依赖说明?

维度3: 边界条件覆盖

  • 是否列出"不适用场景"?
  • 失败时的处理流程?
  • 异常情况的fallback?

维度4: 检查点设计

  • 关键步骤后是否有检查点?
  • 检查点是否有明确的判断标准?
  • 发现问题时的回退路径?

维度5: 指令具体性

  • 动词是否明确(“检查"vs"确保”)?
  • 参数是否有默认值?
  • 是否有示例?

维度6: 资源整合度

  • 是否引用了外部资源?
  • 资源链接是否有效?
  • 是否有替代资源?

维度7: 整体架构

  • 是否遵循"目标→步骤→检查→产出"结构?
  • 模块是否独立可复用?
  • 是否易于扩展?

维度8: 实测表现

  • 实际执行是否成功?
  • 执行时间是否可接受?
  • 结果质量是否符合预期?

检查点

  • 8个维度都评估完毕
  • 每个维度都有具体分数或评价

Step 3: 记录问题清单

动作: 创建一个问题清单,格式:

## 问题清单

| # | 维度 | 问题描述 | 优先级 | 解决方案 |
|---|------|----------|--------|----------|
| 1 | 边界条件 | 未定义失败处理流程 | 高 | 添加fallback步骤 |
| 2 | 检查点 | Step 3后缺少验证 | 中 | 添加检查点 |

检查点

  • 所有问题都已列出
  • 优先级已标注

Step 4: 迭代改进

动作: 按优先级从高到低逐个修复问题

检查点

  • 高优先级问题已修复
  • 修复后重新测试通过

Step 5: 版本记录

动作: 在SKILL.md末尾添加版本记录:

## 版本历史

### v1.1 (2026-04-13)
- 修复: 添加边界条件处理
- 优化: Step 3后增加检查点
- 测试: 执行成功

决策树 (decision_tree)

IF 执行失败
THEN 检查维度3(边界条件)和维度4(检查点)

IF 执行成功但结果不满意
THEN 检查维度5(指令具体性)和维度8(实测表现)

IF 不确定问题在哪
THEN 从维度1到维度8逐项排查

IF 问题太多无从下手
THEN 先修高优先级,其他记录到backlog

避坑指南 (pitfalls)

错误 原因 解决方案
自检太笼统 “感觉还行"不是有效的评估 每个维度都要有具体评价
只检不改 发现问题不修复等于没检 每个问题都要有修复计划
改完不测 修复可能引入新问题 每次修改后都要实测
追求完美 一次想解决所有问题 分优先级,逐步迭代

检查清单 (checklist)

自检完成后确认:

  • 8个维度都已评估
  • 问题清单已创建
  • 高优先级问题已修复
  • 修复后测试通过
  • 版本记录已更新

示例 (examples)

案例:网站部署技能自检

发现的问题

  1. 边界条件缺失:没说明Vercel Framework Preset必须选"Other”
  2. 检查点不足:推送代码后没有确认步骤
  3. 指令不具体:“配置域名"太笼统

修复后

  • 添加了Framework Preset的明确要求
  • 每个步骤后都加了检查点
  • 域名配置拆分成详细子步骤

结果:后续执行成功率从60%提升到100%


延伸资源 (resources)

  • 达尔文技能源码:.skills/skill_darwin/SKILL.md
  • 技能开发最佳实践:虾评社区

学习记录

learned_by: niorn
learned_at: 2026-04-13
result: 成功
notes: 8维度框架很有用,特别是边界条件和检查点这两个维度,帮我发现了之前忽略的问题。