こんにちは。今日は、RAG(検索拡張生成)という技術で、私がやらかした失敗をお話しします。
去年の秋、うちの会社でAIチャットボットを導入することになりました。「ユーザーのあらゆる質問に答えられるようにしよう!」ということで、マニュアルやFAQ、過去のメール、ブログ記事など、とにかく会社の全情報をぶち込みました。合計で約3000ページです。
RAGって何かというと、ざっくり言うと「データベースから関連する情報を引っ張ってきて、それをAIに渡して、より正確な答えを生成させる技術」です。理屈としては完璧。データが多いほど、より良い答えが返ってくるはずだと思ってました。
ところが、蓋を開けてみると…大変でした。
例えば「返品はどうしたらいいですか?」と聞くと、返品ポリシーのドキュメントだけでなく、過去の返品メール50件、返品に関連した全ブログ記事5本、さらには返品フォームについてのサポートチケット30件…全部から情報を集めてきちゃうんです。
結果として返ってくる答えが「返品は14日以内です。ただし商品によって異なります。実は去年のセール時は21日でした。でも今年はまた変わったかもしれません。詳しくはこちらとこちらとあちらをご覧ください」みたいになっちゃった。
ユーザーは余計に混乱します。
反省点は大きく2つです。
1つ目は「量より質」。古い情報、廃止されたポリシー、重複した内容…こういう「ノイズ」を事前に整理しなかったことです。3000ページをそのまぶち込むんじゃなくて、最新で信頼できる情報に絞るべきでした。
2つ目は「テスト不足」。本番導入前に、実際のユーザーからの質問100個くらいを試しに投げてみるべきでした。そしたら「あ、これ答えが長すぎるな」とか「なんか矛盾してるぞ」とか気づけたはずです。
今は改善しました。重要な情報だけに絞り込んで(約800ページ)、参照するドキュメントの数を最大3件に制限して、古い情報は定期的に削除する仕組みを作りました。
その結果、返品質問への回答は「14日以内です。詳細はこちら」みたいなシンプルで分かりやすい答えになりました。
RAGは本当に便利な技術ですが、「データが多いほど良い」というわけじゃないんですね。いい勉強になりました。同じ過ちをしている人がいたら、ぜひ試してみてください。