LLMを業務システムに組み込む際、必ずと言っていいほど話題になるのがRAG(Retrieval-Augmented Generation、検索拡張生成)だ。仕組みを正しく理解しておくと、ハルシネーション(AIがもっともらしい嘘をつく現象)を大きく減らすことができる。

RAGの基本的な仕組み

RAGは「質問に関連する情報を外部データベースから検索し、その情報をプロンプトに含めたうえでLLMに回答させる」という手法だ。LLM自体が持つ知識だけに頼るのではなく、社内文書や最新情報を検索結果として渡すことで、回答の正確性と最新性を担保できる。検索の仕組みには、文章をベクトル化して意味的な近さで検索する「ベクトル検索」が一般的に使われる。

精度を左右するチャンク分割

RAGの精度は、文書をどう分割するか(チャンク分割)で大きく変わる。1つのチャンクが長すぎると余計な情報が混ざって回答がぼやけ、短すぎると文脈が失われて的外れな検索結果になる。実務では300〜800文字程度を目安に、見出し単位や段落単位で意味のまとまりを崩さないように分割するのが基本的なセオリーとされている。

ハルシネーションを減らす追加の工夫

第一に、検索でヒットした情報の関連度スコアが低い場合は「わからない」と答えさせるプロンプト設計にすること。無理に答えを絞り出させないだけで、誤情報の発生率は大きく下がる。第二に、回答に使った出典(元の文書名やページ番号)を必ず併記させること。ユーザーが根拠を確認できる状態にしておくと、誤りに気づきやすくなる。第三に、検索結果を1つのソースだけでなく複数の候補から取得し、矛盾がないかをLLM自身にチェックさせる「自己検証」のステップを挟む方法も効果的だ。

運用フェーズでの注意点

RAGは一度構築して終わりではなく、元となる文書が更新されるたびにインデックスを再構築する必要がある。古い情報のまま検索対象に残ってしまうと、最新の社内規程と矛盾する回答をしてしまうリスクがあるため、更新フローの自動化までセットで設計することが、実運用で失敗しないための重要なポイントになる。

評価の仕組みも合わせて用意する

RAGシステムを本番運用する際は、回答の正確性を定期的に評価する仕組みも欠かせない。想定質問と正解の組み合わせをテストセットとして用意し、システム改修のたびに回答精度が劣化していないかを確認する運用を組み込んでおくことで、気づかないうちに品質が下がっていくという事態を防げる。