「RAGの精度は90%近い」という評価結果が出たのに、本番で使ってみると外れが多い——RAG(検索で根拠を集め、それをもとにAIに答えさせたり判定させたりする仕組み)を業務に載せる段階で、よく起きることです。原因は、モデルや検索の設定よりも手前にあることが少なくありません。結論から言うと、RAGの精度は、何を分母にして数えるかで別物になります。そして改善の出発点は、評価を始める前に、出力ゼロの扱い・正解のない問いの扱い・数える単位を本番に合わせて決めておくことです。
この記事では、私たち DeploAI が営業支援AI「IntelligentSales(インテリジェントセールス)」の開発で、実際の商談の文字起こしを使って確かめた「分母のずれ」を、数式・図・グラフで紹介します。数値はいずれも、評価用に用意した商談データで測った値です(営業支援AIのタイプの違いは営業支援AIの選び方も参照)。
RAGの精度は何で割るかで変わる?——同じ出力の精度が87%にも30%にもなる
精度と再現率は、式の形は決まっていても、何を1件と数え、どこまでを分母に入れるかは決まっていません。 まず、この記事で使う言葉を図と式で揃えます。
外枠が評価の母集団。AIが採用した集合と正解の集合が重なった部分が当たり、採用だけの部分が外れ、正解だけの部分が見逃し。
TP=当たり(True Positive)、FP=外れ(False Positive)、FN=見逃し(False Negative)。
精度は「採用したうち、どれだけ当たったか」、再現率は「正解のうち、どれだけ拾えたか」です。式だけを見ると迷う余地はなさそうですが、評価データは問い(クエリ)の集まりなので、問いごとの値をどう合算するかで結果が変わります。
開発の途中、私たちは次の形で精度を測っていました。正解(営業担当者がその確認項目を聞いた発話)が付いた営業の発話のそれぞれについて、AIに「どの確認項目に当たるか」を判定させます。下のグラフは、まったく同じ判定結果を、3通りの分母で集計し直したものです。
同じ判定結果を、3通りの分母で集計した精度と再現率
精度(採用したうち当たった割合)再現率(正解のうち拾えた割合)
A. 1件以上採用した発話だけで平均(全体の34.5%)
B. 採用0件の発話も含めて平均(すべての発話)
C. 平均せず件数で集計(採用・正解の件数で割る)
評価用の商談データでの実測。AIが何も採用しなかった約3分の2の発話を平均から外すと(A)、再現率が80%台に見える。
3つの集計は、式で書くと何が違うのか?
違いは、どの問いを分母に入れ、何で割るかだけです。 評価した問いの集合を Q、そのうち1件以上採用した問いを Q⁺、問い q の当たりを TP_q、正解の数を G_q とすると、3つの再現率は次のように書けます。
A は出力があった問いだけの平均、B はすべての問いの平均、C は件数を足し上げてから割る(micro)。
何も採用しなかった問いは当たりも0件なので、B の合計は A の合計と同じです。違うのは割る数だけで、次の関係がぴったり成り立ちます。
|Q⁺|/|Q| は1件以上採用した問いの割合(34.5%)。精度も同じで、87.2% × 0.345 ≈ 30.1%。グラフの B の値と一致する。
平均の分母から「何も答えなかった問い」を落とすと、再現率は「出力があった問いの割合」で割り戻した分だけ高く出ます。 Aの再現率83.3%は、「答えた発話の中では、正解の多くを拾えていた」という意味にすぎません。約3分の2の発話でAIは何も採用しておらず、その分の見逃しがまるごと分母から消えています。
| 集計 | 分母 | この数字が表すもの |
|---|---|---|
| A | AIが1件以上採用した発話 | 答えたときに、どれだけ当たりやすいか |
| B | 正解が付いた発話すべて | 発話1件あたりの平均的な出来 |
| C | 採用した件数・正解の組の件数 | 全体でいくつ拾い、いくつ外したか |
営業の現場で使う人が気にするのは、「その商談で、AIはいくつ拾い、いくつ見逃したか」です。これに近いのはCです。私たちはこの経験から、件数で集計するmicroを主指標にし、商談や問いごとのmacro平均は偏りを見つける補助にすると決めました。出力が0件だった問いの精度をどう扱うかは流儀が分かれるため、件数で数えるほうが解釈で迷いません。
何を評価しているのか?——商談から「確認項目を聞いた発話」を探す
評価の前提として、私たちが測っているのは「確認項目ごとに、その項目を聞いた営業の発話を商談の中から見つける」処理です。
IntelligentSales の SFRA(セールスフレーム分析)は、商談の発話から、課題・決裁者・時期などの条件が押さえられているかを分析します。その土台にあるのが、MEDDIC や SPIN などの営業フレームワークをもとに整理した確認項目のそれぞれについて、「その項目を実際に聞いた営業の発話」を見つける処理です。
1件の商談を、確認項目と営業の発話の表として描くと、次のようになります。
説明用の模式図(実際の項目数・発話数とは異なる)。正解は表の中にまばらにしかなく、正解が1つもない項目(該当なし)も多い。1つの発話が2つの項目の正解になることもある。
この図が、この記事のずれをすべて含んでいます。正解の点はまばらで、塗った列(正解が付いた発話)はごく一部です。「該当なし」の行も少なくありません。
営業の発話のうち、正解が付いているのは約4%です。 残りの約96%は、本番では「拾ってはいけない発話」として評価の対象に入ってきます。最初の章の評価は、塗った列(正解が付いた発話)だけを問いに使っていたので、この96%から生まれる外れを最初から数えていませんでした。しかも向きは「発話 → 確認項目」で、本番とは逆です。私たちは評価の向きと候補の範囲を本番と同じにして測り直し、それ以降の比較はすべてこの条件で行っています。次の章の数字は、すべてこの本番と同じ条件で測ったものです。
分母はどこでずれるのか?——正解のない問いと、数える単位
最初の章のずれは「平均の取り方」でした。本番と同じ条件で測り直すと、分母がずれる場所はほかにもあります。ここでは、本番と同じ条件で測った結果を使って、2つのずれを示します。
ずれ1:正解のない問いを、評価から外していないか
本番では、多くの確認項目はその商談でそもそも聞かれていません。正解のない問いを外して測ると、誤検出の大半が見えなくなります。
確認項目と商談の組のうち、正解がある組は22%だけでした。残りの78%は「該当なし」が正しい答えです。測ってみると、外れの80%は、正解がない組から出ていました。
採用したものの内訳——当たりと外れの出どころ
当たり外れ
正解がある組 採用の22.0%:当たり2.6%/外れ19.4%
正解がない組 採用の78.0%:当たり0%/外れ78.0%
採用したもの全体を100%とした割合。外れ(19.4%+78.0%)のうち80%は、正解がない組から出ている。
この差は式で確かめられます。全体の採用件数を A_全体、そのうち正解がある問いからの採用件数を A_正解あり とすると、精度は次のように書けます。
s は採用のうち正解がある問いから出た割合。当たり TP は正解がある問いからしか出ないので、分子は同じで分母だけが 1/s 倍になる。
全体の精度は、正解がある組だけで測った精度に、採用のうち正解がある組から出た割合 s を掛けた値になります。 一方、再現率の分母は正解の数なので、どちらで測っても30.5%のまま変わりません。
| 評価に含めた組 | 精度 | 再現率 |
|---|---|---|
| 正解がある組だけ | 11.9% | 30.5% |
| すべての組 | 2.6% | 30.5% |
再現率だけを見ていると、この4.5倍(=1/s)の差には気づけません。 しかも s は業務によって大きく違い、正解がない問いが多い業務ほど小さくなります。正解がある組だけで作った評価データは、「該当なしの組で余計なものを拾わないか」をまったく測れないのです。
ずれ2:1つの発話が複数の項目の正解になるとき、何を1件と数えるか
営業の1回の発話が、複数の確認項目にまとめて触れることがあります。このとき「1件」の定義を決めないと、同じ結果でも数字が変わります。
正解が付いた発話の約17%は、複数の確認項目の正解でした。正解の組の約31%が、この重なりから来ています。模式図の発話7のように、1回の発話で複数の項目に触れるのは、商談ではごく自然なことです。たとえばSaaSの商談で「来期の予算に組み込むには、いつまでに導入を決める必要がありますか」と聞けば、BANTでいう予算(Budget)と導入時期(Timeline)の両方を確認したことになります。
そこで私たちは、2つの単位で数えています。同じ結果でも、単位を変えると再現率はこれだけ違います。
組の単位は「発話×確認項目」の組を1件、項目の単位は「商談×確認項目」を1件と数え、根拠の発話を1つでも拾えれば当たりとする。
| 数える単位 | 1件の定義 | 向いている問い |
|---|---|---|
| 組の単位 | 発話×確認項目の組 | 根拠の発話まで正しく特定できたか |
| 項目の単位 | 商談×確認項目(1回でも拾えたか) | 「この項目は聞けていた」と正しく判断できたか |
外れも、2種類に分けて数えます。先ほどの外れの内訳は次のとおりでした。
- どの項目の正解でもない発話を拾った外れ:約81%。雑談や相づちなど、ノイズを拾っている。
- 別の項目の正解発話を拾った外れ:約19%。発話としては重要だが、項目の区別を誤っている。
前者はノイズを落とす工夫で減り、後者は項目どうしを見分ける工夫で減ります。原因が違うので、1つの数字にまとめると、どちらの対策が効いたのかが分からなくなります。
正解データは信じてよいか?——誤検出を見直したら約4割が正解だった
分母を本番に揃えたら、次は正解データそのものを疑います。正解データに抜けがあれば、正しい出力が「外れ」として数えられます。
別の評価データで、誤検出と判定されたものを人が見直したところ、約4割は実際には正解として扱うべき発話でした。正解データを作る段階で見落としていたものです。外れのうち割合 ε が実は正解だったとすると、本来の精度 P′ は次のようになります。
最後の行は、見直し前の精度を P=50% とした説明用の計算。ε が4割あると、正解データの抜けだけで精度が20ポイント低く見える。
精度が低いほど外れが多いので、正解データの抜けは精度を大きく押し下げます。 手法を改善する前に、正解データを直すだけで数字が動くことがあるのです。
正解データの抜けを減らし、見つけ、扱うための3つの手順。
正解データは、どう作れば抜けにくいのか?
AIが出した候補を人が採点するだけの正解データでは、AIが見逃した正解は分母に入りません。 候補の採点は作業が軽い一方、AIが一度も候補に挙げなかった正解は、誰の目にも触れないまま残ります。そこで私たちは、商談の全文を見て、確認項目ごとに該当する発話をすべて記録し、なければ「該当なし」と明示して記録する正解データを別に作っています。「該当なし」を記録しておくと、ずれ1で見た「正解のない問い」を、評価の中で正しく扱えます。
見直しにLLMを使うとき、どこまで任せられるか?
誤検出の見直しでは、LLMに「実は正解かもしれないもの」を先に挙げさせ、人が確定しました。LLMは、人が正解と判断したものをすべて候補に挙げましたが、それ以外も余分に挙げていました。人の判断を基準にすると、LLMの適合率は68%、再現率は100%です。見落としを減らす一次判定には使えますが、確定は人が行う、というのが私たちの結論です。
修正した正解データは、元の正解データとは別の評価データとして扱います。修正後の正解で測った数値を、修正前の数値と並べて「改善した」と読むと、手法の改善と正解の修正が混ざってしまうからです。
本番と同じ条件で測るには?——商談データで使うチェックリスト
評価の条件は、結果を見る前に決めて固定します。結果を見てから分母を選ぶと、都合のよい数字を選べてしまいます。
商談データでRAGを評価するとき、私たちが実験の前に確認している項目をまとめます。
| 確認すること | 本番と揃える中身 |
|---|---|
| 評価の向き | 本番が「確認項目 → 発話」なら、評価も同じ向きで問い合わせる |
| 評価の母集団 | 正解のない発話も含め、本番で対象になる発話をすべて入れる |
| 正解のない問い | 「該当なし」が正しい組も評価に含める |
| 出力0件の扱い | 平均の分母から外さない。主指標は件数で数えるmicro |
| 数える単位 | 組の単位と項目の単位の両方で出し、外れは2種類に分ける |
| 正解データ | 全文を見て「該当なし」まで記録する。見直し版は別の評価データにする |
| 評価条件の自動確認 | 評価の対象に正解のない発話が入っているか、評価の向きが本番と同じかを実行前に機械的に確かめ、満たさなければ評価を止める |
最後の自動確認は、地味ですが効きます。評価データを作り直したり、切り出し方を変えたりしたときに、いつの間にか「正解が付いた発話だけ」の評価データができてしまうことがあるからです。条件を満たさない評価は、結果を出す前に止めるようにしておくと、ずれた物差しで比べる事故を防げます。
IntelligentSales の開発では、どう測っているか
IntelligentSales の SFRA は、前の章のチェックリストの条件で評価しながら開発しています。 本番と同じ向きと母集団で測り、出力0件の問いも含めて件数で集計しています。正解データは商談の全文を見て「該当なし」まで記録し、評価の条件は実行前に機械的に確かめています。
弊社(株式会社 DeploAI)が開発する IntelligentSales は、行動介入型のプロアクティブセールスAIです。SPIN・BANT・MEDDIC などの営業フレームワークから本当に必要な要素を抽出・体系化したあるべき営業の理想形を起点に、そこから逆算して取るべき行動を示すバックキャスト型の設計を採っています。SFRA を含む6つの専門AIが、商談前の準備から商談後の分析・次商談の行動提案までを支援します。
まとめ
- RAGの精度は、何を分母にして数えるかで別物になる。同じ判定結果でも、集計しだいで精度は87%から30%に、再現率は83%から28%に変わった。
- 平均の分母から出力0件の問いを外すと、再現率は出力があった問いの割合で割り戻した分だけ高く出る。主指標は件数で数えるmicroにし、macroは偏りを見つける補助にする。
- 本番では多くの問いに正解がない。全体の精度は、採用のうち正解がある問いから出た割合を掛けた値まで下がる(私たちのデータでは11.9%が2.6%に。外れの80%は正解のない組から)。
- 正解データも疑う。全文を見て「該当なし」まで記録し、見直しはLLMの一次判定と人の確定で行い、見直し版は別の評価データにする。
営業支援AIのタイプの違いは営業支援AIの選び方で、確認項目のもとになるフレームワークはMEDDIC・BANT・SPIN話法で紹介しています。IntelligentSales の機能の詳細は機能ページを、導入のご相談は資料請求・無料デモ相談からどうぞ。