Eval-Driven Development (EDD) Framework v2.88.0
Eval-Driven Development 是一种以质量为先的开发模式,它通过结构化的评估来强化定义在实施之前的工作流程。
v2.88 主要变更(模型无关)
- 模型无关:使用在
~/.claude/settings.json或 CLI/env 变量中配置的模型 - 无需标志:与配置的默认模型一起工作
- 灵活:与 GLM-5, Claude, Minimax 或任何配置的模型一起工作
- 设置驱动:通过
ANTHROPIC_DEFAULT_*_MODEL环境变量选择模型
什么是 EDD?
EDD 提供了一种系统化的方法来进行软件开发,分为三个阶段:
- 定义 - 使用 TEMPLATE.md 创建结构化的评估规范
- 实施 - 根据评估定义构建功能
- 验证 - 根据评估标准验证实现
检查类型
| 前缀 | 类型 | 目的 |
|---|---|---|
CC- |
能力检查 | 功能能力和功能 |
BC- |
行为检查 | 预期行为和响应 |
NFC- |
非功能性检查 | 性能,安全性,可维护性 |
使用方法
# 调用 EDD 工作流程
/edd "定义内存搜索功能"
# CLI 脚本(如果可用)
ralph edd define memory-search
ralph edd check memory-search
组件
- TEMPLATE.md:创建评估定义的模板
- edd.sh:评估管理的 CLI 脚本
- /edd 技能:从 Claude Code 调用技能
- ~/.claude/evals/:评估定义的目录
模板结构
每个评估定义包括:
- 能力检查(CC-)-功能能做什么
- 行为检查(BC-)-功能的行为
- 非功能性检查(NFC-)-性能,安全性等
- 实施说明 - 技术指导
- 验证证据 - 测试结果
示例:memory-search.md
# 内存搜索评估
**状态**:草稿
**创建**:2026-01-30
## 能力检查
- [ ] CC-1:跨语义内存搜索
- [ ] CC-2:支持按类型过滤
## 行为检查
- [ ] BC-1:返回排名结果
- [ ] BC-2:优雅地处理空查询
## 非功能性检查
- [ ] NFC-1:搜索在 <2s 内完成
- [ ] NFC-2:内存使用 <100MB
## 实施说明
- 使用并行搜索以提高性能
- 缓存频繁查询
## 验证证据
- 附加测试结果
与 Orchestrator 的集成
EDD 与 orchestrator 工作流程集成,以确保以质量为先的开发:
- 澄清 阶段 - 定义评估
- 计划 阶段 - 审查评估要求
- 实施 阶段 - 根据评估规范构建
- 验证 阶段 - 根据评估验证
Swarm 模式集成(v2.81.1)
EDD 框架现在支持 swarm 模式,用于跨多个检查类型的并行评估。
自动生成配置
当通过 /edd 调用时,框架自动生成一个专门的评估团队:
任务:
subagent_type: "通用"
model: "sonnet"
team_name: "edd-evaluation-team"
name: "edd-coordinator"
mode: "delegate"
run_in_background: true
prompt: |
为:$ARGUMENTS 执行 Eval-Driven Development 工作流程
EDD 模式:
1. 定义 - 创建结构化的评估规范
2. 分配 - 将检查类型分配给专家
3. 验证 - 根据评估标准验证
4. 合并 - 合并所有评估者的结果
团队组成
| 角色 | 目的 | 专业化 |
|---|---|---|
| 协调员 | EDD 工作流程协调 | 管理评估生命周期,合并结果 |
| 队友 1 | 能力检查专家 | CC- 前缀:功能能力和功能 |
| 队友 2 | 行为检查专家 | BC- 前缀:预期行为和响应 |
| 队友 3 | 非功能性检查专家 | NFC- 前缀:性能,安全性,可维护性 |
Swarm 模式工作流程
用户调用:/edd "定义内存搜索功能"
1. 创建团队 "edd-evaluation-team"
2. 协调员(edd-coordinator)接收任务
3. 生成 3 名具有检查类型专业化的队友
4. 分配评估定义:
- 队友 1 → 能力检查(CC-)
- 队友 2 → 行为检查(BC-)
- 队友 3 → 非功能性检查(NFC-)
5. 队友并行工作(后台执行)
6. 协调员监控进度并收集结果
7. 将结果合并到单一评估规范中
8. 返回最终评估文件
并行评估模式
每个队友专注于他们的检查类型:
# 队友 1:能力检查
CC-1:功能可以执行 X
CC-2:功能支持 Y 配置
CC-3:功能与 Z 系统集成
# 队友 2:行为检查
BC-1:功能优雅地处理错误情况 A
BC-2:功能返回 B 的预期响应
BC-3:功能在 C 中保持状态
# 队友 3:非功能性检查
NFC-1:响应时间 < 100ms
NFC-2:内存使用 < 50MB
NFC-3:安全漏洞扫描通过
队友间的沟通
队友使用内置的邮箱系统:
# 队友向协调员发送发现
SendMessage:
type: "message"
recipient: "edd-coordinator"
content: "CC-3 定义:功能通过 OAuth2 与认证系统集成"
任务列表协调
所有队友共享一个统一的任务列表:
# 位置:~/.claude/tasks/edd-evaluation-team/tasks.json
# 示例任务:
[
{"id": "1", "subject": "定义能力检查", "owner": "teammate-1"},
{"id": "2", "subject": "定义行为检查", "owner": "teammate-2"},
{"id": "3", "subject": "定义非功能性检查", "owner": "teammate-3"},
{"id": "4", "subject": "合并评估规范", "owner": "edd-coordinator"}
]
手动覆盖
要禁用 swarm 模式:
/edd "定义功能 X" --no-swarm
输出位置
# 评估保存到 ~/.claude/evals/
ls ~/.claude/evals/
# 查看最后一次评估
cat ~/.claude/evals/latest.md
测试
测试套件:tests/test_v264_edd_framework.bats(33 个测试)
运行测试:
bats tests/test_v264_edd_framework.bats
Swarm 模式测试
swarm 模式集成的额外测试:
# 测试 swarm 团队创建
tests/edd/test-swarm-team-creation.sh
# 测试并行评估
tests/edd/test-parallel-evaluation.sh
状态
当前:定义了带 swarm 模式集成的框架(v2.81.1) 注意:TEMPLATE.md 和评估目录结构已准备好使用
版本:v2.64 | 状态:草稿 | 测试:33 个通过 <claude-mem-context>
最近活动
<!-- 此部分由 claude-mem 自动生成。在标签外编辑内容。 -->
无最近活动 </claude-mem-context>
动作报告(v2.93.0)
此技能生成完整的自动报告 以进行可追溯性:
自动报告
当此技能完成时,会自动生成:
- 在 Claude 对话中:可见结果
- 在存储库中:
docs/actions/edd/{timestamp}.md - JSON 元数据:
.claude/metadata/actions/edd/{timestamp}.json
报告内容
每个报告包括:
- ✅ 摘要:执行的任务描述
- ✅ 执行细节:持续时间,迭代次数,修改的文件
- ✅ 结果:发现的错误,建议
- ✅ 下一步:建议的后续行动
查看先前报告
# 列出此技能的所有报告
ls -lt docs/actions/edd/
# 查看最新的报告
cat $(ls -t docs/actions/edd/*.md | head -1)
# 搜索失败的报告
grep -l "Status: FAILED" docs/actions/edd/*.md
手动生成(可选)
source .claude/lib/action-report-lib.sh
start_action_report "edd" "任务描述"
# ... 执行 ...
complete_action_report "success" "摘要" "建议"
系统参考
- Action Reports System - 完整文档
- action-report-lib.sh - 辅助库
- action-report-generator.sh - 生成器