Eval (評価)
LLM アプリの品質を 継続的に測る 仕組みは不可欠です。 コードのテスト同様、Eval なしの LLM アプリは未テストのコード と思ってください。
Eval の構成
- Goldset (理想解答付きデータ) を作る (50〜500 件)。
- 指標 を定義する:
- 正答率 (exact / contain)
- LLM-as-Judge スコア
- 人手評価サンプル
- レイテンシ / コスト
- プロンプト・モデル変更時に必ず実行。
簡単な eval スクリプト
wzxhzdk:0
LLM-as-Judge
別の Claude (高性能モデル) に 採点役 をさせる手法。
wzxhzdk:1
判定モデルは 被評価モデルと別 にするのが望ましい。
Eval ツール
- Anthropic Workbench: Console 内蔵 (詳細は次レッスン)
- promptfoo: ローカル CLI
- LangSmith: クラウド + 高機能
- Inspect: 安全性評価向け
- Ragas: RAG 専用評価
Regression テスト
- CI で eval を回す。
- 一定スコアを下回ったら fail。
- 失敗例を Goldset に追加して育てる。
wzxhzdk:2
モニタリング
- Production trace logging: 実際のリクエスト/出力をサンプリング保存。
- 異常検知: 出力長・拒否率・toxicity スコアの傾き。
- ユーザーフィードバック: thumbs up/down を集める。
- 異常時に Slack 通知。
失敗例分析の重要性
スコアが上がっても、特定パターンで劣化する場合があります。 - カテゴリ別 (タスク/言語/長さ) でブレイクダウン - 失敗例を 10 件は手で読む - 新しい失敗パターンが Goldset に追加されているか
試す
Eval 設計を Claude に依頼。
▶ Eval 設計依頼
「請求書 PDF から金額・発行日・取引先名を JSON 抽出」する LLM 機能の評価セットを設計してください。境界ケース 5 種、必須指標 4 つ、判定方法 (exact / fuzzy / LLM-as-judge) を表で。