📚 公式方法論記事(最終更新: 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検証 #ベンチマーク方法論

📝 noteで読む →

📚 関連リンク