4 分で読めます

エージェント評価コストを抑える——judge 選択とサンプリング設計

エージェント評価コスト管理LLM-as-judgeサンプリング設計

「エージェントに eval を入れたら月のAPI請求が跳ね上がった」——AIエージェントの品質管理を始めようとして、コストに驚いてやめてしまう事例は珍しくありません。しかし評価コストを適切に設計すれば、中小規模チームでも月数千円程度で継続的な品質監視を実現できます。judge モデルの選択とサンプリング率の設定が、コストの大半を左右します。

エージェント評価コストが高くなる原因は何か

evalコストの8割はjudgeモデルの選択と評価対象件数で決まります。フロンティアモデルで本番全件を採点し続けると月10万円規模になることがあります。

eval を初めて導入したチームが陥りやすいのが「高性能モデルで全件採点」というパターンです。エージェントが月10万件の応答を生成し、Sonnet クラスのモデルで全件を judge すると、以下のようなコストが発生します。

入出力トークン数の概算(1件の評価)

項目トークン数
評価プロンプト(ルーブリック + 会話履歴)2,000〜3,000
judge の採点出力(スコア + 理由)300〜500

Claude Sonnet 5(入力 $2.00・出力 $10.00 / 百万トークン)で1件2,500入力・400出力と仮定すると:

  • 入力: 2,500 × $2.00 / 1,000,000 = $0.005
  • 出力: 400 × $10.00 / 1,000,000 = $0.004
  • 合計: 1件あたり約$0.009(1.4円)

月10万件を全件評価すると約$900(13万円)。これは明らかに過剰です。コスト管理の核心は「どのモデルで」「何件を」採点するかの設計にあります。

コスト効率の高い judge モデルはどれか

Claude Haiku 4.5($1.00/$5.00 per million tokens)はフロンティアモデルの1/5以下のコストで、定型ルーブリック評価では同等の判定精度が得られます。

judge 用途に特化すれば、フロンティアモデルと小型モデルの精度差は小さくなります。arxiv の論文「On Cost-Effective LLM-as-a-Judge Improvement Techniques」では、タスク固有のルーブリックを注入したミニクラスモデルが、より大きなモデルと同等の判定精度(85.8%)を約1/4のコストで達成することが示されています。

Claude Haiku 4.5(2026年7月時点)の特徴

  • 入力: $1.00 / 100万トークン
  • 出力: $5.00 / 100万トークン
  • 定型採点(正確性・ツール選択・出力フォーマット)に最適
  • 複雑な倫理判断や多段階推論には向かない

同じ条件(2,500入力・400出力)でHaiku 4.5を使うと:

  • 入力: 2,500 × $1.00 / 1,000,000 = $0.0025
  • 出力: 400 × $5.00 / 1,000,000 = $0.002
  • 合計: 1件あたり約$0.0045(0.7円)

Sonnet クラスと比較して約1/3のコストになります。ただし判断が難しいケース(曖昧な応答・境界事例)については Sonnet を使う2段階評価が有効です。

judge を2段階に分ける設計

```python
def judge_response(exchange, rubric):
# まず Haiku で採点
score = haiku_judge(exchange, rubric)

スコアが境界値(0.3〜0.7)の場合のみ Sonnet で再採点

if 0.3 <= score <= 0.7: score = sonnet_judge(exchange, rubric)

return score
```

境界値ケースは全体の15〜25%程度です。この設計により、Sonnet 呼び出しを全体の2割以下に抑えながら精度を維持できます。

本番トラフィックのサンプリング率をどう決めるか

本番evalは10〜20%のサンプリング、CIテストは100%の全件採点が費用対効果を最大化する設計の基本です。

全件を採点する必要はありません。目的別に採点対象を分ける「2層サンプリング」が標準的な設計です。

本番トラフィック(オンライン評価)

本番からのサンプリングは10〜20%を目安とします。ランダムサンプリングではなく、層別サンプリングが推奨されます。

```python
def should_evaluate(interaction):
# エラーや低スコア応答は100%評価
if interaction.has_error or interaction.user_rating < 3:
return True

新しいツール呼び出しパターンは100%評価

if interaction.uses_new_tool: return True

それ以外は10%サンプリング

return random.random() < 0.10 ```

CIテスト(オフライン評価)

CI パイプラインに組み込む回帰テストは、ゴールデンデータセット全件を評価します。件数は50〜200件程度に絞り、コストを予測可能に保ちます。

```yaml

# .github/workflows/eval.yml(抜粋)

  • name: Run eval suite

run: |

python eval_runner.py \

--dataset golden_dataset.jsonl \ # 100件のゴールデンデータ

--judge haiku-4-5 # コスト優先モデル

--threshold 0.80 # 合格ライン

```

月次コスト試算(Haiku 4.5 judge 使用時)

評価区分件数/月1件コスト月次コスト
本番サンプリング(10%)1,000$0.0045$4.50(675円)
CI回帰テスト(100件×週2回)800$0.0045$3.60(540円)
境界値再採点(Sonnet 5、20%)360$0.009$3.24(486円)
合計2,160$11.34(約1,700円)

月1,700〜3,000円で継続評価が回る計算になります。本番トラフィックが月10万件規模でも、サンプリングによってコストはほぼ変わりません。

評価コストを Langfuse でどう可視化するか

Langfuse の Cost フィールドにjudge呼び出しのトークンコストを記録すると、週次でevalにいくら使ったかをダッシュボードで追跡できます。

Langfuse(OSS版・無料枠あり)は eval 実行のトレースと費用を一元管理できます。judge 呼び出し後に update_generation でコストを記録します。

```python
import langfuse

client = langfuse.Langfuse()

def run_eval_with_cost_tracking(exchange, rubric, trace_id):
generation = client.generation(
name="haiku-judge",
trace_id=trace_id,
model="claude-haiku-4-5-20251001",
)

result = haiku_judge(exchange, rubric)

generation.end(
usage={
"input": result.input_tokens,
"output": result.output_tokens,
},
output=result.score,
)
return result.score
```

Langfuse の Generations ビューで model="claude-haiku-4-5-20251001" でフィルタリングすると、eval にかかったトークン量と推定コストが集計されます。週次でSlackに通知する場合は Langfuse の API から集計値を取得して投稿するシンプルなスクリプトで十分です。

月次予算アラートの設定例

```python
# 週次コスト確認スクリプト
def check_eval_budget():
weekly_cost = get_langfuse_eval_cost(days=7)
monthly_projection = weekly_cost * 4.3

if monthly_projection > BUDGET_JPY / USD_RATE:
send_slack_alert(
f"⚠️ eval月次見込み: ¥{monthly_projection * USD_RATE:.0f} "
f"(予算¥{BUDGET_JPY}に対して{monthly_projectionUSD_RATE/BUDGET_JPY100:.0f}%)"
)
```

BUDGET_JPY に月次eval予算(例: 5000円)を設定しておくと、予算超過の傾向を早期に検知できます。

参考

まとめ

エージェント評価のコストは設計次第で大きく変わります。重要なポイントを整理します。

  1. judge モデルは Haiku クラスを基本に: 定型ルーブリック採点なら Haiku 4.5 でフロンティアモデルの1/3以下のコストで同等精度が得られる
  2. 境界値のみ Sonnet で再採点: 全体の2割以下に絞ることでコストを抑えながら精度を確保
  3. 本番は10〜20%の層別サンプリング: エラーや新パターンを優先し、残りはランダム10%
  4. CI は100件程度のゴールデンデータで全件評価: 件数を絞ることでコストを予測可能に
  5. Langfuse でコストを可視化: 週次の傾向把握と月次予算アラートを設定

この設計で、月数千円の予算内で継続的な品質監視の基盤が整います。エージェントの品質管理体制の構築について、Kuu株式会社のエージェントAI運用管理サービスでサポートしています。まずはお気軽にご相談ください。

関連記事

合成評価データでエージェントテストを自動化するInspect AIでエージェント評価基盤を設計するエージェント評価のラベリング体制設計とIAA指標選定エージェント評価のフレーキーテスト対策——非決定性と再現性設計