Communitygithub.com

eval-harness

Claude Codeセッション向けの形式的評価フレームワーク。評価駆動開発(EDD)の原則を実装します。Claude Codeのワークフローに、信頼する前や変更を加える前に形式的な評価が必要な場合に使用します。

eval-harness とは?

eval-harnessは、AIエージェント(特にClaude Code)のタスク完了品質を測定・評価するための形式的な評価フレームワークです。評価駆動開発(EDD)の原則に基づき、コード実装前に評価基準を定義し、継続的に評価を実行することで、エージェントの信頼性を向上させます。主な機能として、Capability Eval(新機能の実行能力テスト)とRegression Eval(既存機能の回帰テスト)の2種類の評価タイプをサポートし、コードベースの評価、モデルベース(LLM-as-Judge)評価、人手評価の3つの評価方法を提供します。pass@kメトリクスを使用してエージェントの信頼性を数値化し、典型的な目標としてpass@3 > 90%を推奨しています。このスキルは、Claude Codeのワークフロー開発時に、評価を「AI開発における単体テスト」として位置づけ、品質保証と回帰検出を自動化するために使用されます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/eval-harness

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Eval Harness スキル

Claude Codeセッション向けの形式的評価フレームワーク。評価駆動開発(EDD)の原則を実装します。

使用するタイミング

  • AI支援ワークフローに評価駆動開発(EDD)を設定する場合
  • Claude Codeのタスク完了に対する合格/不合格基準を定義する場合
  • pass@kメトリクスでエージェントの信頼性を測定する場合
  • プロンプトやエージェントの変更に対する回帰テストスイートを作成する場合
  • モデルバージョン間でのエージェントパフォーマンスをベンチマークする場合

哲学

評価駆動開発(EDD)は、評価を「AI開発における単体テスト」として扱います:

  • 実装の前に期待される動作を定義する
  • 開発中に継続的に評価を実行する
  • 各変更で回帰を追跡する
  • pass@kメトリクスで信頼性を測定する

評価の種類

Capability Eval(能力評価)

Claudeが以前できなかったことを実行できるかテストする:

[CAPABILITY EVAL: 機能名]
タスク: Claudeが達成すべきことの説明
成功条件:
  - [ ] 条件1
  - [ ] 条件2
  - [ ] 条件3
期待される出力: 期待される結果の説明

Regression Eval(回帰評価)

変更が既存機能を壊していないことを確認する:

[REGRESSION EVAL: 機能名]
ベースライン: SHAまたはチェックポイント名
テスト:
  - 既存テスト1: PASS/FAIL
  - 既存テスト2: PASS/FAIL
  - 既存テスト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: 1回目の試行成功率
  • pass@3: 3回以内の成功
  • 典型的な目標: pass@3 > 90%

pass^k

「k回すべての試行が成功」

  • 信頼性に対するより高い基準
  • pass^3: 3回連続成功
  • クリティカルパスに使用

評価ワークフロー

1. 定義(コーディング前)

## EVAL DEFINITION: 機能-xyz

### Capability Evals
1. 新しいユーザーアカウントを作成できる
2. メール形式を検証できる
3. パスワードを安全にハッシュ化できる

### Regression Evals
1. 既存のログインが引き続き機能する
2. セッション管理が変更されていない
3. ログアウトフローがそのまま機能する

### 成功メトリクス
- Capability Evals: pass@3 > 90%
- Regression Evals: pass^3 = 100%

2. 実装

定義された評価に合格するコードを書く。

3. 評価

# Capability Evalsを実行
[各Capability Evalを実行し、PASS/FAILを記録]

# Regression Evalsを実行
npm test -- --testPathPattern="既存"

# レポートを生成

4. レポート

EVAL REPORT: 機能-xyz
========================

Capability Evals:
  ユーザー作成:     PASS (pass@1)
  メール検証:  PASS (pass@2)
  パスワードハッシュ化:   PASS (pass@1)
  合計:         3/3 合格

Regression Evals:
  ログインフロー:      PASS
  セッション管理:    PASS
  ログアウトフロー:     PASS
  合計:         3/3 合格

メトリクス:
  pass@1: 67% (2/3)
  pass@3: 100% (3/3)

ステータス: レビュー準備完了

統合パターン

実装前

/eval define 機能名

.claude/evals/機能名.md に評価定義ファイルを作成します。

実装中

/eval check 機能名

現在の評価を実行し、ステータスを報告します。

実装後

/eval report 機能名

完全な評価レポートを生成します。

評価の保存

プロジェクト内に評価を保存する:

.claude/
  evals/
    機能-xyz.md      # 評価定義
    機能-xyz.log     # 評価実行履歴
    baseline.json       # 回帰ベースライン

ベストプラクティス

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

例:認証機能の追加

## EVAL: 認証機能の追加

### フェーズ1: 定義(10分)
Capability Evals:
- [ ] ユーザーがメール/パスワードで登録できる
- [ ] ユーザーが有効な認証情報でログインできる
- [ ] 無効な認証情報は適切なエラーで拒否される
- [ ] セッションがページリロード後も持続する
- [ ] ログアウトでセッションがクリアされる

Regression Evals:
- [ ] 公開ルートが引き続きアクセス可能
- [ ] APIレスポンスが変更されていない
- [ ] データベーススキーマに互換性がある

### フェーズ2: 実装(変動)
[コードを書く]

### フェーズ3: 評価
実行: /eval check 認証機能の追加

### フェーズ4: レポート
EVAL REPORT: 認証機能の追加
==============================
Capability: 5/5 合格 (pass@3: 100%)
Regression: 3/3 合格 (pass^3: 100%)
ステータス: リリース可能

ローカルフレームワークユーティリティ

機械的なユーティリティは scripts/lib/eval-harness/ に同梱されています:

node scripts/eval-harness.js example
  • Capsule: ハッシュリンクされたジャーナルで、5つの系統とローカル整合性チェックを持ちます。
  • Inspection: ソースダイジェスト、検証済みバリアントパス、および構文警告。
  • Replay: 宣言されたツールとコンテンツアドレス指定されたフィクスチャ。不足しているフィクスチャはクローズドに失敗します。SE3以上はリプレイで拒否されます。レコードモードは登録された実装を呼び出すため、信頼できる関数のみを登録してください。
  • Receipt: カプセルとアーティファクトのバイトをオフラインで検証し、名前付きチェックを行います。
  • Retrospective preparation: node scripts/eval-harness.js capsule group <dir> [<dir> ...] は、1から100までの明示的に選択された、検証済みのローカルカプセルスナップショットを1つのタスクファミリーから宣言されたハーネスバージョンでグループ化します。重複したスナップショットは1回としてカウントされ、競合するIDや無効なカプセルはレポート全体を拒否します。これは読み取り専用のレコードカウントであり、新しいロールアウト、スコア、プロモーションは含まれません。小さくて静的なカプセルを使用してください。ペイロード、ディレクトリ引数、および生の実行/カプセルIDは省略されますが、タスクファミリー/バージョンラベルはそのまま表示され、ダイジェスト参照はリンク可能です。共有する前にそれらをレビューしてください。運用上の検証は保留中です。

検証済みのOSコンテインメントバックエンドが実装されていないため、すべてのOSで候補の実行は無効になっています。gate run、runGate、runVariant、直接の子プロセス起動、および廃止されたエフェクトプリロードは、gate.isolation_required で拒否されます。信頼フラグや呼び出し元が提供するexecutorはこの拒否を回避できません。この例ではその拒否を記録し、ソースを実行やスコアリングなしで検査します。

静的な警告、カプセルのレシート、または成功したユーティリティテストを、候補のコンテインメントやプロモーションの証拠として提示しないでください。将来のゲートには、独立してレビューされたOS境界、保護されたチェッカーと監査チャネル、および致命的なベースライン拒否が必要です。docs/architecture/eval-harness-frameworks.md を参照してください。

プロダクト評価(v1.8)

単体テストだけでは振る舞いの品質を捉えられない場合に、プロダクト評価を使用します。

評価方法の種類

  1. コード評価(決定論的アサーション)
  2. ルール評価(正規表現/スキーマ制約)
  3. モデル評価(LLM-as-Judge ルーブリック)
  4. 人手評価(曖昧な出力に対する手動判定)

pass@k ガイダンス

  • pass@1: 直接的な信頼性
  • pass@3: 制御された再試行下での実用的な信頼性
  • pass^3: 安定性テスト(3回すべての実行が合格する必要がある)

推奨しきい値:

  • Capability Evals: pass@3 >= 0.90
  • Regression Evals: リリースクリティカルパスでは pass^3 = 1.00

評価のアンチパターン

  • 既知の評価例にプロンプトを過学習させる
  • ハッピーパス出力のみを測定する
  • pass率を追求する一方で、コストとレイテンシの変動を無視する
  • リリースゲートに不安定な評価を許可する

最小限の評価アーティファクト構成

  • .claude/evals/<機能>.md 定義
  • .claude/evals/<機能>.log 実行履歴
  • docs/releases/<バージョン>/eval-summary.md リリーススナップショット

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

関連スキル