Eval Harness 技能¶
Claude Code 会话的正式评估框架,实现评估驱动开发(EDD)原则。
哲学¶
评估驱动开发将评估视为“AI 开发的单元测试”: - 在实现之前定义预期行为 - 在开发过程中持续运行评估 - 每次变更都跟踪回归 - 使用 pass@k 指标衡量可靠性
评估类型¶
能力评估¶
测试 Claude 是否获得了此前无法完成的能力:
[CAPABILITY EVAL: feature-name]
タスク: Claudeが達成すべきことの説明
成功基準:
- [ ] 基準1
- [ ] 基準2
- [ ] 基準3
期待される出力: 期待される結果の説明
回归评估¶
确认变更不会破坏现有功能:
[REGRESSION EVAL: feature-name]
ベースライン: SHAまたはチェックポイント名
テスト:
- existing-test-1: PASS/FAIL
- existing-test-2: PASS/FAIL
- existing-test-3: PASS/FAIL
結果: X/Y 成功(以前は Y/Y)
评估器类型¶
1. 基于代码的评估器¶
使用代码进行确定性检查:
# ファイルに期待されるパターンが含まれているかチェック
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. 基于模型的评估器¶
使用 Claude 评估自由格式输出:
[MODEL GRADER PROMPT]
次のコード変更を評価してください:
1. 記述された問題を解決していますか?
2. 構造化されていますか?
3. エッジケースは処理されていますか?
4. エラー処理は適切ですか?
スコア: 1-5(1=不良、5=優秀)
理由: [説明]
3. 人工评估器¶
为人工审查设置标记:
指标¶
pass@k¶
“k 次尝试中至少成功 1 次” - pass@1:首次尝试的成功率 - pass@3:3 次以内成功 - 常见目标:pass@3 > 90%
pass^k¶
“k 次尝试全部成功” - 更高的可靠性标准 - pass^3:连续 3 次成功 - 用于关键路径
评估工作流¶
1. 定义(编码前)¶
## 評価定義: feature-xyz
### 能力評価
1. 新しいユーザーアカウントを作成できる
2. メール形式を検証できる
3. パスワードを安全にハッシュ化できる
### リグレッション評価
1. 既存のログインが引き続き機能する
2. セッション管理が変更されていない
3. ログアウトフローが維持されている
### 成功メトリクス
- 能力評価で pass@3 > 90%
- リグレッション評価で pass^3 = 100%
2. 实现¶
编写能够通过已定义评估的代码。
3. 评估¶
# 能力評価を実行
[各能力評価を実行し、PASS/FAILを記録]
# リグレッション評価を実行
npm test -- --testPathPattern="existing"
# レポートを生成
4. 报告¶
評価レポート: feature-xyz
========================
能力評価:
create-user: PASS (pass@1)
validate-email: PASS (pass@2)
hash-password: PASS (pass@1)
全体: 3/3 成功
リグレッション評価:
login-flow: PASS
session-mgmt: PASS
logout-flow: PASS
全体: 3/3 成功
メトリクス:
pass@1: 67% (2/3)
pass@3: 100% (3/3)
ステータス: レビュー準備完了
集成模式¶
实现前¶
在.claude/evals/feature-name.md 中创建评估定义文件
实现中¶
运行当前评估并报告状态实现后¶
生成完整的评估报告保存评估¶
在项目中保存评估:
最佳实践¶
- 在编码前定义评估 - 强制明确思考成功标准
- 频繁运行评估 - 尽早检测回归
- 随时间跟踪 pass@k - 监控可靠性趋势
- 尽可能使用代码评估器 - 确定性 > 概率性
- 安全相关使用人工审查 - 不要完全自动化安全检查
- 保持评估快速 - 慢评估不会被执行
- 将评估与代码一起进行版本管理 - 评估是一等成果物
示例:添加认证¶
## EVAL: add-authentication
### フェーズ 1: 定義(10分)
能力評価:
- [ ] ユーザーはメール/パスワードで登録できる
- [ ] ユーザーは有効な資格情報でログインできる
- [ ] 無効な資格情報は適切なエラーで拒否される
- [ ] セッションはページリロード後も持続する
- [ ] ログアウトはセッションをクリアする
リグレッション評価:
- [ ] 公開ルートは引き続きアクセス可能
- [ ] APIレスポンスは変更されていない
- [ ] データベーススキーマは互換性がある
### フェーズ 2: 実装(可変)
[コードを書く]
### フェーズ 3: 評価
Run: /eval check add-authentication
### フェーズ 4: レポート
評価レポート: add-authentication
==============================
能力: 5/5 成功(pass@3: 100%)
リグレッション: 3/3 成功(pass^3: 100%)
ステータス: 出荷可能
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC