Wave Project Evaluator

对项目进行结构化评估与优化,借鉴达尔文技能的质量方法论。 2026-05-14 v0.2.0: 新增过程级评估维度(借鉴 AgentLens 方法论)。 Trigger: "评估项目", "项目健康检查", "project review", "项目评分", "优化项目", "项目质量检查" Best for: 评估项目交付质量、识别改进方向、项目收口把关 Not for: 代码审查(用原生工具)、项目管理(用 JIRA/其他) Version: 0.2.0

Audits

Pass

Install

openclaw skills install wave-project-evaluator

Project Evaluator — 项目评估优化器 v0.2.0

将达尔文的评估→改进→验证→棘轮方法论应用到项目任务。不只是给项目打分,更要指出具体改什么、怎么改、改完验证。

v0.2.0 新特性:借鉴 AgentLens 论文(微软×伯克利,arXiv:2605.12925),引入过程级评估 发现 10.7% 的「幸运通过」——只看结果不看过程会产生错误的可靠性判断。


评估 Rubric(9 维度,总分 110)

1. 目标锚定 (权重 10) — 方向是否清晰

评分标准:

  • 项目目标可验证(有明确 success criteria)
  • "不做什么"有定义(避免 scope creep)
  • 用户/受众明确
1分5分10分
目标模糊,无验收标准有大致目标,但无法定量验证目标可衡量、不做什么明确、成功标准量化

2. 架构可运行 (权重 15) — 能否跑起来

评分标准:

  • 代码/构建无崩溃级错误
  • 依赖完整可安装
  • 核心路径可执行
1分5分10分
代码有崩溃 bug,无法运行能运行但有报错构建通过、核心功能端到端可用

3. 边界条件覆盖 (权重 10) — 异常处理

评分标准:

  • 错误/异常路径有处理
  • 已知限制有文档
  • 用户误操作有恢复路径
1分5分10分
无任何错误处理部分关键路径有处理完整错误处理 + 边界文档

4. 交付完成度 (权重 10) — 是不是成品

1分5分10分
只有概念/设计稿,无可运行产出有部分实现但有 TODO/占位符残留核心功能完整、无残留标记、输出可直接交付

5. 质量水位 (权重 10) — 代码/文档质量

1分5分10分
命名混乱、冗余严重、无测试大部分一致但偶有冲突、有基本验证风格统一、有测试、用户界面/术语完全一致

6. 迭代纪律 (权重 10) — 能否识别"够了"

1分5分10分
无限加功能、无止境、无收口计划有收口意识但执行不彻底明确的冻结→收口→交付节奏,能判断"够了"的时机

7. 工具匹配度 (权重 10) — 用对工具了吗

1分5分10分
技术栈不合适、重复造轮子部分合理但可优化技术选型最优、已安装 skill 充分利用

8. 可维护性 (权重 10) — 后续能续

1分5分10分
无文档、无注释、无结构有基本说明但缺少深入记录完整文档+知识已沉淀(Memory Wiki)、新成员可上手

9. 过程质量 (权重 15,v0.2.0 新增) — 不是只看结果

借鉴 AgentLens(微软×伯克利,arXiv:2605.12925)方法论。 通过项目/产物中有 10.7% 属于「幸运通过」——结果正确但过程有问题。 只看最终结果不看过程,会产生错误的可靠性判断。

评分标准:

  • 过程中的决策路径可追溯、可审计
  • 无回归循环(反复在同一个问题上打转)
  • 无盲目重试(失败后不是换参数再试,而是先诊断根因)
  • 验证环节完整(修改后有验证,不是"看起来对了就行")
  • 中间状态可复现(不是"跑了一次出了结果,但没法再跑一次")
1分5分10分
过程不可追溯,结果全靠运气部分步骤可追溯但验证缺失完整可追溯、无盲目重试、全部验证通过

AgentLens 轨迹分级参考

等级特征判定
🎲 Lucky通过了但轨迹有回归循环、盲目重试、验证缺失<5分
🟢 Solid过程干净,验证完整,可复现5-8分
🔷 Ideal过程最优,无冗余步骤,每步都有明确目的9-10分

工作流

Phase 0: 项目扫描

读取项目目录结构,确定项目类型:

ls -la projects/<project-name>/

识别:

  • 是否有 README / 产品说明书
  • 代码文件类型(JS/Python/HTML 等)
  • 依赖清单(package.json / requirements.txt)
  • 测试文件
  • 上次修改时间(是否活跃)

Phase 1: 启动评分

第一次评估:跑全 9 维度。输出评分卡:

┌──────────────────────┬──────┬──────────────────────────────┐
│ 维度                 │ 得分 │ 短板 / 幸运通过风险          │
├──────────────────────┼──────┼──────────────────────────────┤
│ 1. 目标锚定          │  X   │ ...                          │
│ 2. 架构可运行        │  X   │ ...                          │
│ 3. 边界条件          │  X   │ ...                          │
│ 4. 交付完成度        │  X   │ ...                          │
│ 5. 质量水位          │  X   │ ...                          │
│ 6. 迭代纪律          │  X   │ ...                          │
│ 7. 工具匹配度        │  X   │ ...                          │
│ 8. 可维护性          │  X   │ ...                          │
│ 9. 过程质量          │  X   │ Lucky? 有回归/盲目重试?     │
├──────────────────────┼──────┼──────────────────────────────┤
│ 总分                 │  XX  │ 最低维度: X                 │
├──────────────────────┼──────┼──────────────────────────────┤
│ 幸运通过风险         │ 低/中/高 │ 过程质量评分 <5 时警告    │
└──────────────────────┴──────┴──────────────────────────────┘

Phase 2: 诊断 → 改进

找到最低分维度,生成 1 个具体改进方案:

维度常见改进方向
目标锚定低定义验收标准、明确不做什么
架构可运行低修复崩溃 bug、补依赖
边界条件低加 try/catch、补错误提示、加 fallback
交付完成度低补 TODO、补数据源、移除占位符
质量水位低统一命名/风格、加测试
迭代纪律低冻结功能、进入收口模式
工具匹配度低替换成更合适的 skill/工具
可维护性低写 README、沉淀知识到 Memory Wiki
过程质量低识别回归循环 → 诊断根因 → 清除盲目重试 → 补充验证步骤 → 让过程可复现

检查点:展示改进方案给用户确认再执行。展示修改预览(diff 或具体改了什么)后等待用户确认。

Phase 3: 执行改进 → 重评

  1. 执行改进(改代码/文档/配置)
  2. git commit(message: "project-eval: {项目名} 改进 {维度}"
  3. 重新评分

棘轮

  • 新分数 > 旧分数 → 保留
  • 否则 → git revert(回滚)
  • 棘轮保证分数只升不降

Phase 4: 报告生成

输出结构化报告(同时写入 memory/project-evals/<project>-<date>.md):

# 项目评估报告 — [项目名]

评估时间: YYYY-MM-DD HH:mm
项目路径: projects/[项目名]/

## 评分

| 维度 | 分数 | 改进前 | 说明 |
|------|------|--------|------|
| 1. 目标锚定 | X | Y | ... |
| 9. 过程质量 | X | Y | Lucky/Solid/Ideal? 回归循环? |

总分: XX/110(改进前 YY,Δ +Z)
幸运通过风险: 低/中/高

## 主要改进
1. [改了什么]

## 待办
- [ ] 可继续改进项

触发场景

场景触发
项目交付前检查"评估一下 XX 项目"
项目健康度周报"项目健康检查" / 每周自审触发
需要决定是否继续"XX 项目值得继续吗"(评分 <60 建议暂停)
回顾总结"给 XX 项目打分"

已验证项目类型

类型评估重点
小程序/Web 应用架构可运行 + 质量水位 + 过程质量
文档/说明书交付完成度 + 目标锚定
工具/CLI边界条件 + 可维护性 + 过程质量
AI Skill用达尔文评估(本 skill 不适用)

边界条件

场景处理
项目目录不存在提示目录不存在
只有 README 没有代码按文档类项目评估
项目长期未更新 (>30天)标注"可能已停滞",降低可维护性分
项目本身就是 skill建议用 darwin-skill 而非本 skill
多个项目需要评估逐个评估,每个有独立报告
无 git 仓库跳过棘轮机制,每次改进前手动备份当前状态

与达尔文的对比

维度darwin-skillproject-evaluator
评估对象SKILL.md项目目录(代码+文档+结构)
Rubric8 维度 skill 专用9 维度项目专用(含过程质量)
改进方式编辑 SKILL.md改代码/文档/配置
测试方法test-prompts 子 agent 跑实际运行验证
输出results.tsv + 评分卡评估报告 markdown