Files
everything-claude-code/docs/ja-JP/skills/eval-harness/SKILL.md
Hirokazu Tanaka bf7ed1fce2 docs(ja-JP): translate plain text code blocks to Japanese
Translate English prose inside plain text code blocks (```text, ```)
across ja-JP documentation to Japanese, following the same approach
as PR #753 (zh-CN translation).

Translated content includes:
- Output template labels and status messages
- Folder tree inline comments
- CLI workflow descriptions
- Error/warning message examples
- Commit message templates and PR title examples

Technical identifiers, file paths, and actual code remain untranslated.
2026-03-25 08:20:14 +09:00

6.2 KiB
Raw Blame History

name, description, tools
name description tools
eval-harness Claude Codeセッションの正式な評価フレームワークで、評価駆動開発EDDの原則を実装します Read, Write, Edit, Bash, Grep, Glob

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-51=不良、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       # リグレッションベースライン

ベストプラクティス

  1. コーディング前に評価を定義 - 成功基準について明確に考えることを強制
  2. 頻繁に評価を実行 - リグレッションを早期に検出
  3. 時間経過とともにpass@kを追跡 - 信頼性のトレンドを監視
  4. 可能な限りコード評価者を使用 - 決定論的 > 確率的
  5. セキュリティは人間レビュー - セキュリティチェックを完全に自動化しない
  6. 評価を高速に保つ - 遅い評価は実行されない
  7. コードと一緒に評価をバージョン管理 - 評価はファーストクラスの成果物

例:認証の追加

## 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%
ステータス: 出荷可能