RAG評価設計
RAGは「測れないと上がらない」— 評価セットの作り方と、人間監査を「卒業」する設計
「精度が出ないんです」。RAGの相談は、たいていこの一言から始まります。けれど「では、何問中何問が正解で、どの種類の質問で外していますか」と聞くと、答えが返ってこないことがほとんどです。
正直に書くと、私も昔は評価を後回しにしていました。とりあえず動かして、出力を眺めて、「なんとなく良くなった気がする」で直す。それで一度は良くなっても、別の質問が悪化し、どこをいじったから何が変わったのか分からなくなる。この当て推量のループから抜けられたのは、コードを書く前に評価セットを作るようになってからです。
この記事は、RAGの評価セットをどう作るか、そして——ここがいちばん伝えたいのですが——評価があると人間監査をどう「卒業」して、精度の維持を自動のループに移せるか、を実装者の視点で書きます。RAGが本番で精度を落とす原因の全体像は症状から原因を引く診断ガイドにまとめていて、この記事はその第3層「評価設計」を深掘りするものです。
なぜ、コードより先に評価セットなのか
評価セットが無いまま改善を始めると、必ず当て推量になります。直した気になっては別のところが悪化し、「なんとなく」から抜け出せない。物差しが無いのだから当然です。
逆に、物差しが1つあるだけで景色が変わります。「いま外しているのは固有名詞の質問だ。原因は検索層だ」と特定できれば、全体をやみくもにいじるのではなく、一番痛いところに狙って手を入れられる。評価セットは、改善のどこに効いたかを教える目盛りです。商社の文書検索案件で私たちが最初にやったのも、コードを書くことではなく、49問の評価セットを作ることでした。
評価セットの作り方
質問を洗い出す。 まず、現場で実際にどんな質問が飛ぶのかを集めます。ここを想像で作ると評価が現実とズレるので、問い合わせ履歴や現場ヒアリングから、固有名詞を含む質問・言い換えの質問・複数条件の質問といった種類がまんべんなく入るように選びます。
「正解」の基準を決める。 各問に、何をもって正解とするかを用意します。「この文書のこの箇所が根拠として出ていれば正解」「この数値が含まれていれば正解」というレベルまで落とすと、後の採点が安定します。
検索と生成を分けて測る。 RAGの評価は、検索(正しい文書を拾えたか)と生成(拾った文書から正確に答えられたか)を分けて測るのが標準的な考え方です(RAGAS, Es et al. 2023)。分けておくと、外した原因が検索側か生成側かを切り分けられます。
| 測る対象 | 問い | 測り方の例 |
|---|---|---|
| 検索(retrieval) | 正しい文書を上位に拾えたか | 正解文書がヒット集合に入ったか(含有チェック=ルールで自動) |
| 生成・正確性 | 回答は事実として正しいか | 基準と突き合わせ/LLM審査+人手 |
| 生成・網羅性 | 関連・準用先を漏れなく拾えたか | 必須要素の含有+LLM審査 |
| 生成・整合性 | 示した根拠と回答が食い違わないか | LLM審査+人手 |
採点は「ルールで測れる所はルールで」
評価というとすぐLLMに採点させたくなりますが、その前に一度立ち止まります。決定的に測れる所は、ルールで測るほうが良いからです。
正解文書がヒット集合に入ったか、必須キーワードを含むか、数値が一致するか——こうした「答えが一意に決まる」判定は、含有チェックや完全一致・正規表現といったルールで自動採点できます。ルール採点は、ブレず・安く・速く・何度回しても同じ結果になる。回帰テストのように毎回まわせるのが強みです。
LLMを審査員に使う(LLM-as-a-Judge)のは、ルールでは測れない曖昧な質——自然さ・網羅性・根拠との整合性——に絞ります。法令案件では「正確性・網羅性・整合性・生成品質」の4軸を各5点、20点満点で採点し、16点以上を合格としました。強力なモデルの判定は人間と8割以上一致すると報告されている一方(Zheng et al. 2023)、位置バイアスや冗長性バイアスといった癖も知られているので、最終的な品質判断はドメイン有識者の人手レビューと併用します。決定的な採点はルールに任せ、LLMは曖昧な質だけを見る——この役割分担は、検索だけでなく評価でもそのまま効きます。
評価は、原因を指し示す「計器盤」になる
軸を分けて測ると、改善の効き目が軸ごとに見えます。法令案件では「網羅性」を独立の軸に置いたことで、まさに準用先の取りこぼしを数字で捕まえられました。参照をたどる検索を入れたら網羅性が上がったのか、用語のクエリ拡張で正確性が上がったのか——感覚ではなく数字で次の一手を決められる。
商社案件では、この物差しがあったからこそ「外しているのは固有名詞の質問=検索層が原因」と特定でき、正答率を38.8%から93.6%へ、回答率を42.9%から100%へ引き上げられました。数字を出せたのは、最初に評価セットを作っていたからです。
人間監査を「卒業」する — 評価があるから自動化できる
評価セットの本当の価値は、精度を上げることだけではありません。精度を保つ運用を、人手依存から自動へ移していく土台になることです。私たちが描く道筋は3段階あります。
はじめは人がAIの回答をチェックする人間監査(human-in-the-loop)を挟みます。ここで大事なのは、監査を「作業」で終わらせないことです。監査で1問の外れを見つけたら、その質問を評価セットに1問足し、正解の基準まで書いて資産にする。評価セットが厚くなるほど、次からは同じ誤りをルールや自動採点で捕まえられるようになります。そうして評価の数字が「監査が求める品質」を安定して満たすようになったら——たとえば合格ラインを一定期間下回らなくなったら——監査の頻度を落とし、やがて外していい根拠が数字で立ちます。人を判断の中心に残したまま自動化へ寄せる考え方は「使われる」営業AIの作り方にも通じます。逆にこの物差しが無いと、「卒業」の判断そのものが下せず、いつまでも人手監査が運用の重石になります。
よくある落とし穴
「とりあえず動いたから評価は後で」 ── 評価を後回しにすると、改善のたびに何が良くなったのか分からなくなります。コードより先に物差しを。
「総合スコアを1つ見れば十分」 ── 1つの数字だけでは、どの層が原因かが見えません。検索と生成、正確性と網羅性を分けて初めて原因を指せます。
「LLM審査の点数を鵜呑みにする」 ── バイアスがあります。特に合否の境目は人手レビューと併用してください。
「評価セットを一度作って放置する」 ── 文書が更新されれば正解も変わります。評価セットも運用対象です。
評価設計のチェックポイント
- 現場の実際の質問から評価セットを作ったか(想像で作っていないか)。
- 各問に「正解」の判断基準があるか。
- 検索と生成を分けて測っているか。
- 決定的に測れる所はルールで自動採点しているか。
- 曖昧な質はLLM審査+人手で測っているか。
- 評価の数字で「人間監査を卒業できるか」を判断できる設計か。
評価から始めませんか
RAGの精度が上がらないと感じているなら、まず評価セットから始めるのがいちばんの近道です。いまの構成と、どの種類の質問で外しているのかを聞かせていただければ、評価をどう組み、どこから直すかの当たりをつけられます。RAG精度の全体像は診断ガイドに、評価を含む4層を実際に積み上げた顛末は商社の文書検索事例に置いています。
参考文献
- Es et al. (2023) RAGAS: Automated Evaluation of Retrieval Augmented Generation — arXiv:2309.15217
- Zheng et al. (2023) Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena — arXiv:2306.05685
- Gao et al. (2023) Retrieval-Augmented Generation for Large Language Models: A Survey — arXiv:2312.10997