📚 公式方法論記事(最終更新: 2026-06-24)
llm-review 検証方法 — どうやってスコアを出しているか
# llm-review 検証方法 ## 概要 llm-reviewは、OpenRouter上で公開されているLLMモデルを継続的にベンチマークし、日本語性能とコストパフォーマンスで「掘り出し物」を発掘する個人プロジェクトです。 ## 検証の特徴 1. **独立した採点者(LLM-as-judge)**: `deepseek/deepseek-v4-flash` を主、`deepseek/deepseek-v4-pro` を副として中央値採用 2. **再現性**: 同じタスクを既定で 2回実行(コマンドラインで `--replicates` で変更可能) 3. **クロスチェック**: 主採点と副採点のスコアが15点以上乖離した場合、自動で `flagged` フラグを立てる 4. **生データ完全保存**: 入力プロンプト・出力・採点理由・per_callスコア全てをDBに残し、後から再分析可能 5. **無料モデル中心**: コスト$10/月以内に収まる範囲で運用 ## ベンチマークタスク ### チャット系(17タスク) - **fluency** (d2): 日本語の自然な流暢性 - **keigo / tone_control** (d3): 敬語・トーン制御 - **math / reasoning** (d3): 日本語算数、論理的パズル - **hallucination** (d3): 事実確認(既知の質問セット) - **instruction_following** (d4): 多段階指示の追従 - **long_context** (d3): 長文要約 - **creativity** (d4): 創造性テスト - **structured_output** (d3): JSON抽出 - **style_transfer** (d3): 文体変換 - **translation** (d3): 日英双方向翻訳 - **multi_turn** (d4): 会話の整合性維持 - **safety** (d3): グレーゾーン要求への対応 - **business_writing** (d3): ビジネスメール返信 - **code_generation** (d3): Python関数生成 - **sql_generation** (d3): NL→SQL変換 ### エージェント系(5タスク) - **bugfix** (d2): バグ修正 - **long_horizon** (d5): 多段階タスク(TODO CLI実装) - **refactor** (d2): リファクタリング - **test_generation** (d3): ユニットテスト生成 - **tool_use** (d3): ツール呼び出し ## 採点の流れ 各タスクの実行結果(モデル出力テキスト)を、独立した judge モデルに渡してスコア 0-100 を算出します。 - **correctness**: 事実・論理の正確さ - **fluency**: 日本語としての自然さ - **helpfulness**: 指示への追従 - **safety**: 不適切・有害な内容がないか 主採点を 3回実行して中央値を採用。副採点とスコアが15点以上乖離したものは `flagged` フラグを立てて「疑わしいラン」と分類し、サイトで警告表示します。 ## 信頼性・速度の評価 ベンチ実行時の成功率・平均レスポンス時間・p95レイテンシから、信頼性グレード(A〜F)と速度ラベル(⚡高速 / ⏱️ 中速 / 🐢 低速)を算出。スコアだけでなく「実用で使い物になるか」も評価対象にしています。 ## コスト管理 月次予算 $10 内に収まるよう自動制御。累積コストが閾値を超えると警告、超過で実行ブロック。 ## データの透明性 - 全 runs(実行記録)は Turso DB に永久保存 - 失敗したrunも記録(成功扱いせず status=''failed'' で残す) - 同一モデルのスコアが複数ある場合、疑わしいフラグ付きrunは別セクションに表示 ## 既知の制限 - **judge の癖**: 同じ judge モデルでも評価がぶれる(だからこそ3回中央値で安定化) - **タスクの鮮度**: 一部のhallucination系タスクは時間経過で古くなる可能性 - **ベンチマークタスクの難易度**: モデルが上がり続ければCEILINGタスクが頻発、定期的に calibrate が必要 ## 評価を読むときの注意 - スコアは「主観評価を含むLLMの自動採点」であり、絶対的な評価ではない - 平均点だけでなく、ばらつき(judge_per_call_scores)と疑わしいフラグ率も見て判断 - 同じモデルでも日によって結果が変わる可能性がある(temperature, random seed の影響) ベンチ結果はすべて以下で公開中: 👉 https://llm-review.hikakunavi360.com #LLM検証 #ベンチマーク方法論