再現可能な評価プロトコル
サイト独自のベンチマークは、モデル間の「順位」ではなく、誰でも再現できる手順として公開する。実測値はAPIキーなしでは捏造せず、harnessと手順だけを完成させる。
方針
- 評価は順位付けではなく、タスク・scoring・条件を固定したプロトコルとして公開する。
- objective task は deterministic checker で採点。subjective task は rubric + human review。
- LLM-as-a-judge 単独では公開スコアを決めない(Loop 3/4 の研究参照)。
- API 実行は明示的フラグと環境変数のみ。自動CIでは有料APIを呼ばない。
Protocol schema
各 run は以下のメタデータを記録する(raw results は API 実行時のみ、Git には fixture と手順のみ)。
- protocolVersion / taskId / taskCategory
- prompt / reference(fixture ファイルへ外部化)
- scoringMethod / automaticChecks / humanReviewRequired
- modelId / provider / endpoint
- runDate / temperature / reasoning / reasoningEffort / maxTokens / seed / attempts / region
- latencyMethod / tokenUsage / cost / rawOutputPath / reviewer / limitations
Dry-run fixtures(公開済み)
以下は API キー不要で deterministic に検証可能な構造です。実際の prompt/reference は src/data/eval/fixtures/ に保存(ページ本文へは埋め込まない)。
| taskId | category | task概要 | scoring | seed |
|---|---|---|---|---|
coding-fizzbuzz | coding | 指定シグネチャでFizzBuzzを実装 | deterministic(出力が1..15の期待列と一致) | 1 |
longctx-middle-fact | long-context | 長文の中央に埋めた事実を抽出 | exact match(埋めた値との一致) | 7 |
ja-intent-form | japanese | 日本語指示から構造化フォームを生成 | schema一致(必須フィールド存在) | 3 |
tool-use-select | tool-use | 与えられた関数群から適切な1つを選択して呼び出し | function_name一致 | 5 |
Scoring ルール
- objective task: 決定的チェッカー(exact match / schema 一致 / 単体アサーション)。
- subjective task: rubric による人間レビュー。LLM judge のみでの公開順位は禁止。
- failed requests は除外せず、result count とともに記録。
- cost を含め、protocol 変更時は version を更新。
実行方法
# dry-run(API不要・構造検証のみ)
npm run eval:dry-run
# 実API実行(要 OPENROUTER_API_KEY と --run フラグ)
node scripts/eval/run.mjs --run --model openai/gpt-5.6-sol 自動CIでは eval:dry-run のみ実行。有料API呼び出しは行わない。
研究との関連
更新日: 2026-07-16。現時点では実API実行によるスコアは未公開(APIキーなし・捏造せず)。