再現可能な評価プロトコル

サイト独自のベンチマークは、モデル間の「順位」ではなく、誰でも再現できる手順として公開する。実測値は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/ に保存(ページ本文へは埋め込まない)。

taskIdcategorytask概要scoringseed
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キーなし・捏造せず)。