Skip to content
cccskills
FreePublished on GitHub

eval-harness

适用于 Claude Code 会话的正规评测框架(Evaluation Framework),实现了评测驱动开发(Eval-Driven Development, EDD)原则

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md5.8 KB
  • agents/openai.yaml255 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

评测框架(Eval Harness)技能(Skill)

一个用于 Claude Code 会话的正规评测框架(Evaluation Framework),旨在落实评测驱动开发(Eval-Driven Development, EDD)原则。

何时激活

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

核心理念

评测驱动开发(Eval-Driven Development)将评测(Eval)视为“AI 开发中的单元测试”:

  • 在实现之前定义预期行为
  • 在开发过程中持续运行评测(Evals)
  • 跟踪每次变更带来的回归(Regressions)
  • 使用 pass@k 指标进行可靠性度量

评测类型

能力评测(Capability Evals)

测试 Claude 是否能够完成其之前无法完成的任务:

[CAPABILITY EVAL: feature-name]
Task: 描述 Claude 应该完成的任务
Success Criteria:
  - [ ] 准则 1
  - [ ] 准则 2
  - [ ] 准则 3
Expected Output: 预期结果的描述

回归评测(Regression Evals)

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

[REGRESSION EVAL: feature-name]
Baseline: SHA 或检查点(checkpoint)名称
Tests:
  - existing-test-1: PASS/FAIL
  - existing-test-2: PASS/FAIL
  - existing-test-3: PASS/FAIL
Result: X/Y 通过 (之前为 Y/Y)

评分器(Grader)类型

1. 基于代码的评分器(Code-Based Grader)

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

# 检查文件是否包含预期模式
grep -q "export function handleAuth" src/auth.ts && echo "PASS" || echo "FAIL"

# 检查测试是否通过
npm test -- --testPathPattern="auth" && echo "PASS" || echo "FAIL"

# 检查构建是否成功
npm run build && echo "PASS" || echo "FAIL"

2. 基于模型的评分器(Model-Based Grader)

使用 Claude 对开放式输出进行评估:

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

Score: 1-5 (1=差, 5=优秀)
Reasoning: [解释]

3. 人工评分器(Human Grader)

标记以供人工复核:

[HUMAN REVIEW REQUIRED]
Change: 变更内容描述
Reason: 为何需要人工复核
Risk Level: LOW/MEDIUM/HIGH

指标(Metrics)

pass@k

“在 k 次尝试中至少成功一次”

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

pass^k

“所有 k 次试验均成功”

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

评测工作流(Eval Workflow)

1. 定义(编码前)

## EVAL DEFINITION: feature-xyz

### 能力评测(Capability Evals)
1. 能够创建新用户账号
2. 能够验证邮箱格式
3. 能够安全地哈希密码

### 回归评测(Regression Evals)
1. 现有登录功能仍然正常
2. 会话管理未改变
3. 注销流程完好无损

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

2. 实现

编写代码以通过定义的评测(Evals)。

3. 评测

# 运行能力评测
[运行每个能力评测,记录 PASS/FAIL]

# 运行回归评测
npm test -- --testPathPattern="existing"

# 生成报告

4. 报告

EVAL REPORT: feature-xyz
========================

Capability Evals:
  create-user:     PASS (pass@1)
  validate-email:  PASS (pass@2)
  hash-password:   PASS (pass@1)
  Overall:         3/3 passed

Regression Evals:
  login-flow:      PASS
  session-mgmt:    PASS
  logout-flow:     PASS
  Overall:         3/3 passed

Metrics:
  pass@1: 67% (2/3)
  pass@3: 100% (3/3)

Status: READY FOR REVIEW

集成模式(Integration Patterns)

实现前

/eval define feature-name

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

实现中

/eval check feature-name

运行当前评测并报告状态

实现后

/eval report feature-name

生成完整的评测报告

评测存储(Eval Storage)

在项目中存储评测(Evals):

.claude/
  evals/
    feature-xyz.md      # 评测定义
    feature-xyz.log     # 评测运行历史
    baseline.json       # 回归基准

最佳实践

  1. 在编码之前定义评测 - 强制对成功标准进行清晰思考
  2. 频繁运行评测 - 尽早发现回归问题
  3. 长期跟踪 pass@k - 监控可靠性趋势
  4. 尽可能使用代码评分器 - 确定性 > 概率性
  5. 安全相关的由人工复核 - 绝不要完全自动化安全检查
  6. 保持评测速度快 - 慢的评测不会被经常运行
  7. 评测与代码版本同步 - 评测是一等公民(First-class Artifacts)

示例:添加身份验证(Authentication)

## EVAL: add-authentication

### 阶段 1:定义 (10 分钟)
能力评测:
- [ ] 用户可以使用邮箱/密码注册
- [ ] 用户可以使用有效凭据登录
- [ ] 无效凭据被拒绝并返回正确错误
- [ ] 会话在页面重新加载后保持
- [ ] 注销会清除会话

回归评测:
- [ ] 公共路由仍然可以访问
- [ ] API 响应未改变
- [ ] 数据库架构兼容

### 阶段 2:实现 (时间视情况而定)
[编写代码]

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

### 阶段 4:报告
EVAL REPORT: add-authentication
==============================
Capability: 5/5 passed (pass@3: 100%)
Regression: 3/3 passed (pass^3: 100%)
Status: SHIP IT (可以发布)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

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

The English summary is being prepared. Showing the original description.

xu-xiang/everything-claude-code-zh2KUpdated Mar 5, 2026

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

The English summary is being prepared. Showing the original description.

xu-xiang/everything-claude-code-zh2KUpdated Mar 5, 2026

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

The English summary is being prepared. Showing the original description.

xu-xiang/everything-claude-code-zh2KUpdated Mar 5, 2026

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

The English summary is being prepared. Showing the original description.

xu-xiang/everything-claude-code-zh2KUpdated Mar 5, 2026

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

The English summary is being prepared. Showing the original description.

xu-xiang/everything-claude-code-zh2KUpdated Mar 5, 2026

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

The English summary is being prepared. Showing the original description.

xu-xiang/everything-claude-code-zh2KUpdated Mar 5, 2026

See all skills by xu-xiang

Report a problem with this skill