本文へ移動
cccskills
無料GitHub で公開

eval-harness

克劳德代码会话的正式评估框架,实施评估驱动开发(EDD)原则

インストール方法を見る

含まれるファイル(1)

  • SKILL.md5.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Eval Harness 技能

一个用于 Claude Code 会话的正式评估框架,实现了评估驱动开发 (EDD) 原则。

何时激活

  • 为 AI 辅助工作流程设置评估驱动开发 (EDD)
  • 定义 Claude Code 任务完成的标准(通过/失败)
  • 使用 pass@k 指标衡量代理可靠性
  • 为提示或代理变更创建回归测试套件
  • 跨模型版本对代理性能进行基准测试

理念

评估驱动开发将评估视为 "AI 开发的单元测试":

  • 在实现 之前 定义预期行为
  • 在开发过程中持续运行评估
  • 跟踪每次更改的回归情况
  • 使用 pass@k 指标来衡量可靠性

评估类型

能力评估

测试 Claude 是否能完成之前无法完成的事情:

[能力评估:功能名称]
任务:描述 Claude 应完成的工作
成功标准:
  - [ ] 标准 1
  - [ ] 标准 2
  - [ ] 标准 标准 3
预期输出:对预期结果的描述

回归评估

确保更改不会破坏现有功能:

[回归评估:功能名称]
基线:SHA 或检查点名称
测试:
  - 现有测试-1:通过/失败
  - 现有测试-2:通过/失败
  - 现有测试-3:通过/失败
结果:X/Y 通过(之前为 Y/Y)

评分器类型

1. 基于代码的评分器

使用代码进行确定性检查:

# Check if file contains expected pattern
grep -q "export function handleAuth" src/auth.ts && echo "PASS" || echo "FAIL"

# Check if tests pass
npm test -- --testPathPattern="auth" && echo "PASS" || echo "FAIL"

# Check if build succeeds
npm run build && echo "PASS" || echo "FAIL"

2. 基于模型的评分器

使用 Claude 来评估开放式输出:

[MODEL GRADER PROMPT]
评估以下代码变更:
1. 它是否解决了所述问题?
2. 它的结构是否良好?
3. 是否处理了边界情况?
4. 错误处理是否恰当?

评分:1-5 (1=差,5=优秀)
推理:[解释]

3. 人工评分器

标记为需要手动审查:

[HUMAN REVIEW REQUIRED]
变更:对更改内容的描述
原因:为何需要人工审核
风险等级:低/中/高

指标

pass@k

"k 次尝试中至少成功一次"

  • pass@1:首次尝试成功率
  • pass@3:3 次尝试内成功率
  • 典型目标:pass@3 > 90%

pass^k

"所有 k 次试验都成功"

  • 更高的可靠性门槛
  • pass^3:连续 3 次成功
  • 用于关键路径

评估工作流程

1. 定义(编码前)

## 评估定义:功能-xyz

### 能力评估
1. 可以创建新用户账户
2. 可以验证电子邮件格式
3. 可以安全地哈希密码

### 回归评估
1. 现有登录功能仍然有效
2. 会话管理未改变
3. 注销流程完整

### 成功指标
- 能力评估的 pass@3 > 90%
- 回归评估的 pass^3 = 100%

2. 实现

编写代码以通过已定义的评估。

3. 评估

# Run capability evals
[Run each capability eval, record PASS/FAIL]

# Run regression evals
npm test -- --testPathPattern="existing"

# Generate report

4. 报告

评估报告:功能-xyz
========================

能力评估:
  创建用户:    通过(通过@1)
  验证邮箱:    通过(通过@2)
  哈希密码:    通过(通过@1)
  总计:         3/3 通过

回归评估:
  登录流程:     通过
  会话管理:     通过
  登出流程:     通过
  总计:         3/3 通过

指标:
  通过@1: 67% (2/3)
  通过@3: 100% (3/3)

状态:准备就绪,待审核

集成模式

实施前

/eval define feature-name

在 .claude/evals/feature-name.md 处创建评估定义文件

实施过程中

/eval check feature-name

运行当前评估并报告状态

实施后

/eval report feature-name

生成完整的评估报告

评估存储

将评估存储在项目中:

.claude/
  evals/
    feature-xyz.md      # Eval definition
    feature-xyz.log     # Eval run history
    baseline.json       # Regression baselines

最佳实践

  1. 在编码前定义评估 - 强制清晰地思考成功标准
  2. 频繁运行评估 - 及早发现回归问题
  3. 随时间跟踪 pass@k - 监控可靠性趋势
  4. 尽可能使用代码评分器 - 确定性 > 概率性
  5. 对安全性进行人工审查 - 永远不要完全自动化安全检查
  6. 保持评估快速 - 缓慢的评估不会被运行
  7. 评估与代码版本化 - 评估是一等工件

示例:添加身份验证

## EVAL:添加身份验证

### 第 1 阶段:定义 (10 分钟)
能力评估:
- [ ] 用户可以使用邮箱/密码注册
- [ ] 用户可以使用有效凭证登录
- [ ] 无效凭证被拒绝并显示适当的错误
- [ ] 会话在页面重新加载后保持
- [ ] 登出操作清除会话

回归评估:
- [ ] 公共路由仍可访问
- [ ] API 响应未改变
- [ ] 数据库模式兼容

### 第 2 阶段:实施 (时间不定)
[编写代码]

### 第 3 阶段:评估
运行:/eval check add-authentication

### 第 4 阶段:报告
评估报告:添加身份验证
==============================
能力:5/5 通过 (pass@3: 100%)
回归:3/3 通过 (pass^3: 100%)
状态:可以发布

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

REST API设计模式,包括资源命名、状态码、分页、过滤、错误响应、版本控制和生产API的速率限制。

日本語の概要は準備中です。原文の説明を表示しています。

xu-xiang/everything-claude-code-zh1,9872026年3月5日 更新

生产级 API 的 REST API 设计模式,包括资源命名、状态码、分页、过滤、错误响应、版本控制和速率限制。

日本語の概要は準備中です。原文の説明を表示しています。

xu-xiang/everything-claude-code-zh1,9872026年3月5日 更新

撰写文章、指南、博客、教程、时事通讯等长篇内容,并根据提供的示例或品牌指南呈现独特的语言风格。当用户需要篇幅超过一段的精炼文字,且重视风格一致性、结构和可信度时,请使用此技能。

日本語の概要は準備中です。原文の説明を表示しています。

xu-xiang/everything-claude-code-zh1,9872026年3月5日 更新

根据提供的示例或品牌指导,以独特的语气撰写文章、指南、博客帖子、教程、新闻简报等长篇内容。当用户需要超过一段的精致书面内容时使用,尤其是当语气一致性、结构和可信度至关重要时。

日本語の概要は準備中です。原文の説明を表示しています。

xu-xiang/everything-claude-code-zh1,9872026年3月5日 更新

编写文章、指南、博客帖子、教程、新闻通讯(newsletter)以及其他长篇内容。这些内容具有从提供的示例或品牌指南中提取出的独特语气。当用户需要比段落更长的精美文案,且对语气一致性、结构和可信度有要求时,请使用此技能(Skill)。

日本語の概要は準備中です。原文の説明を表示しています。

xu-xiang/everything-claude-code-zh1,9872026年3月5日 更新

编写文章、指南、博客、教程、时事通讯(Newsletter)等长内容,支持从示例或品牌指南中提取独特的语感语调。适用于需要撰写超过一个段落的精炼文本,尤其是对语气一致性、结构和可信度有较高要求时。

日本語の概要は準備中です。原文の説明を表示しています。

xu-xiang/everything-claude-code-zh1,9872026年3月5日 更新

xu-xiang のスキルをすべて見る

このスキルの問題を報告する