aillmopstesting
LLM評価(eval)と回帰テストのチェックリスト|プロンプト/モデル変更で品質を落とさない(2026)
|
5 min read
LLMアプリはプロンプトやモデル、RAGやツール権限の変更で静かに劣化する。小さな評価データ、バージョニング、品質/安全/コスト指標、リリースゲートで回帰を止める実務チェックリスト。
目次
AI変更を“静かな品質劣化”なしでリリースするには?
結論(Conclusion)
LLMは、何かを変えるだけで挙動が変わる。
- プロンプト/システム指示
- モデルのバージョン
- RAG(検索設定)
- ツール権限/ルート
だから必要なのは、軽量でも回る eval + 回帰ゲート。 最小で信頼できる構成はこれ。
- 固定の評価セット(50〜200件)
- プロンプト/設定のバージョニング
- 指標(品質 + 安全 + コスト)
- リリースゲート(回帰で止める)
これがないと、壊れたことに気づくのは顧客が先。
背景(Explanation)
従来のテストは決定的なコード経路を検証する。 LLMアプリは確率的。
目的は「満点」ではなく、 意味のあるドリフト(劣化)を検出すること。
回帰の典型原因:
- プロンプト修正でフォーマットや拒否が変わる
- モデル更新で精度/トーンが変わる
- retrieval調整で誤った情報源が優勢になる
- ツールが本来不要なルートで有効化される
evalが基準線、回帰テストが壊した検知。
実務手順(Practical Guide)
手順1:「良い状態」を定義する(10分)
重視する指標を3〜6個に絞る。
- タスク成功率(目的を達成したか)
- ポリシー遵守(必要な拒否ができるか)
- 幻覚率(誤った主張)
- ツール呼び出しの正しさ(正しいツール/引数)
- レイテンシ(P95)
- コスト(tokens/request)
指標は“退屈で行動可能”が良い。
手順2:小さな評価セットを作る(20分)
まず50件。
- よくある問い合わせ 30
- エッジケース 10
- adversarial/安全ケース 10
各ケースに持たせる情報:
- 入力
- 期待する形(完全一致の文章でなくてよい)
- 許可ツール(必要なら)
- RAGなら必須の引用/doc_id要件
ルール:
- サポートチケット上位を必ず入れる
手順3:挙動に影響するものは全部バージョン管理(10分)
- prompts
- model version
- retrieval config(top-k, filters)
- tool allowlists
出力が変わるならversionが必要。
手順4:採点(grading)を決める(15分)
実務で使えるのは3つ。
- 厳密チェック(JSON schema、必須フィールド)
- ヒューリスティック(禁止語の正規表現)
- LLM judge(固定rubric)
おすすめ:
- 構造は厳密チェック
- 品質はLLM judge
- judge promptは固定してversion管理
手順5:リリースゲートを入れる(10分)
must-passのルール例:
- 安全ケースの失敗ゼロ
- tool-callエラー率 < 1%
- コスト増加 < 15%
ゲートに落ちたらマージ/デプロイを止める。
手順6:リリース後のドリフトを監視(10分)
- 拒否率の変化
- tokensスパイク
- tool-callスパイク
- 低評価/苦情
evalは事前、監視は事後の保険。
落とし穴(Pitfalls)
- 毎回judge promptを変える(基準線が消える)
- happy pathだけで評価する
- 品質だけ見てコスト/遅延を無視
- evalデータがversion管理されていない
- ツール権限変更をテスト無しで出す
チェックリスト(Checklist)
- [ ] 3〜6個の成功指標(品質/安全/コスト)を定義した
- [ ] evalセット(50〜200件)がある(実ユーザー由来)
- [ ] エッジ/安全ケースが含まれる
- [ ] prompts/model/retrieval/tool policy をversion管理している
- [ ] 出力構造は厳密チェック(schema/必須フィールド)
- [ ] 安全ルールは決定的チェックがある
- [ ] judgeのrubricが固定でversion管理されている
- [ ] evalでコストと遅延も計測している
- [ ] 回帰でデプロイを止めるゲートがある
- [ ] リリース後の監視でドリフトを見ている
FAQ
1) 大規模な評価データが必要?
不要。小さく代表性のあるセットを常に回す方が強い。
2) LLM judgeは使っていい?
使っていい。ただしrubricを固定し、構造/安全は決定的チェックと併用する。
3) 最速の最初の一歩は?
失敗も含めた実クエリ50件を集め、変更前後で回して差分を見る。
内部リンク(Internal links)
- Hub: AI開発
- 関連記事:
免責
一般的なエンジニアリング指針です。