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

228 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: eval-harness
description: Claude Codeセッションの正式な評価フレームワークで、評価駆動開発EDDの原則を実装します
tools: Read, Write, Edit, Bash, Grep, Glob
---
# Eval Harnessスキル
Claude Codeセッションの正式な評価フレームワークで、評価駆動開発EDDの原則を実装します。
## 哲学
評価駆動開発は評価を「AI開発のユニットテスト」として扱います
- 実装前に期待される動作を定義
- 開発中に継続的に評価を実行
- 変更ごとにリグレッションを追跡
- 信頼性測定にpass@kメトリクスを使用
## 評価タイプ
### 能力評価
Claudeが以前できなかったことができるようになったかをテスト
```markdown
[CAPABILITY EVAL: feature-name]
タスク: Claudeが達成すべきことの説明
成功基準:
- [ ] 基準1
- [ ] 基準2
- [ ] 基準3
期待される出力: 期待される結果の説明
```
### リグレッション評価
変更が既存の機能を破壊しないことを確認:
```markdown
[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. コードベース評価者
コードを使用した決定論的チェック:
```bash
# ファイルに期待されるパターンが含まれているかチェック
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を使用して自由形式の出力を評価
```markdown
[MODEL GRADER PROMPT]
次のコード変更を評価してください:
1. 記述された問題を解決していますか?
2. 構造化されていますか?
3. エッジケースは処理されていますか?
4. エラー処理は適切ですか?
スコア: 1-51=不良、5=優秀)
理由: [説明]
```
### 3. 人間評価者
手動レビューのためにフラグを立てる:
```markdown
[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. 定義(コーディング前)
```markdown
## 評価定義: feature-xyz
### 能力評価
1. 新しいユーザーアカウントを作成できる
2. メール形式を検証できる
3. パスワードを安全にハッシュ化できる
### リグレッション評価
1. 既存のログインが引き続き機能する
2. セッション管理が変更されていない
3. ログアウトフローが維持されている
### 成功メトリクス
- 能力評価で pass@3 > 90%
- リグレッション評価で pass^3 = 100%
```
### 2. 実装
定義された評価に合格するコードを書く。
### 3. 評価
```bash
# 能力評価を実行
[各能力評価を実行し、PASS/FAILを記録]
# リグレッション評価を実行
npm test -- --testPathPattern="existing"
# レポートを生成
```
### 4. レポート
```markdown
評価レポート: 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. **コードと一緒に評価をバージョン管理** - 評価はファーストクラスの成果物
## 例:認証の追加
```markdown
## 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%
ステータス: 出荷可能
```