Eval-DrivenDevelopment(EDD)框架 edd

EDD框架是一个以质量为先的开发模式,通过定义-实施-验证的工作流程来强化结构化的评估。关键词包括:评估、定义、实施、验证、能力检查、行为检查、非功能性检查、模板、质量保证、测试驱动、规范。

测试 0 次安装 0 次浏览 更新于 3/4/2026

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 提供了一种系统化的方法来进行软件开发,分为三个阶段:

  1. 定义 - 使用 TEMPLATE.md 创建结构化的评估规范
  2. 实施 - 根据评估定义构建功能
  3. 验证 - 根据评估标准验证实现

检查类型

前缀 类型 目的
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/:评估定义的目录

模板结构

每个评估定义包括:

  1. 能力检查(CC-)-功能能做什么
  2. 行为检查(BC-)-功能的行为
  3. 非功能性检查(NFC-)-性能,安全性等
  4. 实施说明 - 技术指导
  5. 验证证据 - 测试结果

示例:memory-search.md

# 内存搜索评估

**状态**:草稿
**创建**:2026-01-30

## 能力检查
- [ ] CC-1:跨语义内存搜索
- [ ] CC-2:支持按类型过滤

## 行为检查
- [ ] BC-1:返回排名结果
- [ ] BC-2:优雅地处理空查询

## 非功能性检查
- [ ] NFC-1:搜索在 <2s 内完成
- [ ] NFC-2:内存使用 <100MB

## 实施说明
- 使用并行搜索以提高性能
- 缓存频繁查询

## 验证证据
- 附加测试结果

与 Orchestrator 的集成

EDD 与 orchestrator 工作流程集成,以确保以质量为先的开发:

  1. 澄清 阶段 - 定义评估
  2. 计划 阶段 - 审查评估要求
  3. 实施 阶段 - 根据评估规范构建
  4. 验证 阶段 - 根据评估验证

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)

此技能生成完整的自动报告 以进行可追溯性:

自动报告

当此技能完成时,会自动生成:

  1. 在 Claude 对话中:可见结果
  2. 在存储库中docs/actions/edd/{timestamp}.md
  3. 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" "摘要" "建议"

系统参考