Agent skill
eval-harness
Claude Codeセッションの正式な評価フレームワークで、評価駆動開発(EDD)の原則を実装します
Install this agent skill to your Project
npx add-skill https://github.com/affaan-m/everything-claude-code/tree/main/docs/ja-JP/skills/eval-harness
SKILL.md
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. 人間評価者
手動レビューのためにフラグを立てる:
[HUMAN REVIEW REQUIRED]
変更内容: 何が変更されたかの説明
理由: 人間のレビューが必要な理由
リスクレベル: LOW/MEDIUM/HIGH
メトリクス
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)
ステータス: レビュー準備完了
統合パターン
実装前
/eval define feature-name
.claude/evals/feature-name.mdに評価定義ファイルを作成
実装中
/eval check feature-name
現在の評価を実行してステータスを報告
実装後
/eval report feature-name
完全な評価レポートを生成
評価の保存
プロジェクト内に評価を保存:
.claude/
evals/
feature-xyz.md # 評価定義
feature-xyz.log # 評価実行履歴
baseline.json # リグレッションベースライン
ベストプラクティス
- コーディング前に評価を定義 - 成功基準について明確に考えることを強制
- 頻繁に評価を実行 - リグレッションを早期に検出
- 時間経過とともに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%)
ステータス: 出荷可能
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
python-testing
Python testing best practices using pytest including fixtures, parametrization, mocking, coverage analysis, async testing, and test organization. Use when writing or improving Python tests.
golang-patterns
Go-specific design patterns and best practices including functional options, small interfaces, dependency injection, concurrency patterns, error handling, and package organization. Use when working with Go code to apply idiomatic Go patterns.
e2e-testing
Playwright E2E testing patterns, Page Object Model, configuration, CI/CD integration, artifact management, and flaky test strategies.
agentic-engineering
Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when AI agents perform most implementation work and humans enforce quality and risk controls.
api-design
REST API design patterns including resource naming, status codes, pagination, filtering, error responses, versioning, and rate limiting for production APIs.
python-patterns
Python-specific design patterns and best practices including protocols, dataclasses, context managers, decorators, async/await, type hints, and package organization. Use when working with Python code to apply Pythonic patterns.
Didn't find tool you were looking for?