Agentic RAG、どこで効くのか実際に走らせてみた

Agentic RAG、どこで効くのか実際に走らせてみた

社内文書をAIに検索させて答えさせる仕組みを「RAG」と言います。その進化版が「Agentic RAG」です。

で、実際に両方を走らせて比べてみました。Agentic RAGが勝ったのは1種類だけでした。

次に何を調べたらいいかが、1回調べてみないと分からない質問。

たとえばこういうやつです。

MP-200の代わりの機種、注文してからどのくらいかかる?

「代わりの機種」が何なのかは、調べるまで分かりません。分からないと次に何で検索したらいいかも分からない。普通のRAGはここで詰みます。

それ以外の質問では、答えは普通のRAGと同じで、料金だけ5〜7倍でした。

もうひとつ意外だったこと。無関係な文書を足して5,000件まで水増ししても、検索の精度は1ポイントも落ちませんでした。 落ちたのは、旧版とか改定前とかの紛らわしい文書を混ぜたときです。そのとき、正解の資料が512番目まで沈みました。

「文書が多いから難しい」んじゃなくて「紛らわしいから難しい」。これが一番の発見でした。

そもそもRAGって何をしてるのか

AI(ChatGPTとかClaude)は、あなたの会社の就業規則も製品カタログも知りません。学習してないので当たり前です。

なので質問が来たら、まず社内文書を検索して、見つかった数件を質問と一緒にAIへ渡します。要するにAIにカンニングペーパーを渡す仕組みです。これがRAG。

このとき「何件渡すか」を決める必要があります。検索エンジンは全文書に点数をつけて順位をつけるので、その上から何件をAIに渡すか、という設定です。3件なのか、20件なのか。

この記事ではこれを**「拾う件数」と呼びます。「文書の総数」とは別物**なので、そこだけ混ぜないでください。文書が5,000件あっても、AIに渡すのはそのうち上位3件、ということが起こります。ここ、あとで効いてきます。

普通のRAGと、Agentic RAGの違い

普通のRAGは一直線です。

1回検索する → 出てきた数件だけ読んで答える → 終わり

人にたとえると、キャビネットを1回だけ漁って、出てきた書類だけで答える新人です。足りなくても、もう一度探しに戻りません。

Agentic RAGは、ここをぐるぐる回します。

質問を小さく分ける → 検索する → 「これで答えられる?」を自分で確かめる → ダメなら言い方を変えて探し直す → 揃ったら答える

太字のところが本体です。「まだ足りてないな、探し直そう」と自分で気づける新人になった、という話です。

分かりやすい失敗例をひとつ。「有給は年間何日」と聞いたら、普通のRAGは**「保守契約についてのFAQ」を1位で返してきました**。レーザー加工機の保守契約です。有給と1ミリも関係ありません。

理由はこうです。検索エンジンには「珍しい言葉ほど重要」という考え方があります。この会社の文書だと「年間」という言葉が保守契約にしか出てこない。だから検索が**「この質問のキモは"年間"やな」と勘違いした**わけです。「有給」のほうは色んな文書に出てくるので、逆に軽く扱われました。

正解の日数表は4番目。3件しか拾わない設定だったので、届きませんでした。

Agentic RAGだと、質問を分ける段階で検索の言葉がこう変わりました。


これで日数表が4位から1位に。検索する前に事故が消えてます。

何を検索させているのか

検索対象は、架空の製造業「ミナト製作所」の社内文書です。レーザー加工機を作って売っている会社という設定で、社員向けの規程と、お客さん向けのカタログ・FAQが1つの検索窓に混ざっています(社内ナレッジベースあるあるです)。

雰囲気が伝わるように、実際の中身をいくつか貼ります。1文書はこのくらいの分量です。


こんな調子で、就業規則・経費規程・IT規程・品質基準・製品カタログ12機種・FAQ・営業ルールが合わせて67件。全部あわせても原稿用紙10枚ちょっとです。

わざと架空にしています。 実在の文書だと「この質問の正解はこれ」と断言できないからです。67件なら全部読めるので、正解を人間が確定できます。

「正解」はこう決めた

質問を作るだけでは採点できません。1問ごとに2種類の正解を先に用意しました。

  1. 答えが書いてある文書はどれか(文書名)

  2. 答えの中身は何か(文章)

そして検索の良し悪しは①だけで測ります。上位何件かの中に①が入っていたかを数えるだけ。だからAIを呼ばずに、無料で数秒で終わります。②は最後にAIの回答文を目で確かめるのに使います。

この先の表では、正解を「文書名 → 中身」の形で書きます。「該当なし」は、文書のどこにも書いていない=「分かりません」と答えるのが正解という意味です。

この表を作るのが、今回いちばん時間がかかった作業です。逆に言うと、ここさえ作れば残りは全部自動になります。

1回目:文書を見ずに書いた10問

まず、文書の中身を一切見ずに質問を書きました。書いたのはこの10問です。


我ながら突拍子もない。10問中8問が「文書に載ってない質問」になってしまいました。

普通のRAGに投げた結果がこれです。

質問

正解(文書 → 中身)

AIの答え

判定

MP-200の重さは?

製品カタログ MP-200 → 112kg

本体重量は112kgです

MP-300はどのくらいの電力を使う

該当なし → 「分かりません」

MP-100とMP-200の記載のみで、MP-300の記載はありません

MP-400はあるの?

該当なし → 「分かりません」

MP-400に関する記載はありません

有給は年間何日

就業規則 別表2 → 勤続年数により10〜20日

一律の日数を定めた記載はありません

ここ何の会社?

該当なし → 「分かりません」

(検索ヒット0件。AIに渡す材料すらない)

求人はやってる?

該当なし → 「分かりません」

(検索ヒット0件)

リモートで働けるの?

該当なし → 「分かりません」(VPN規程は別の話)

リモート勤務の可否を定めた規定は含まれていません。あるのはVPN接続の技術規程のみ

資本金はいくら?

該当なし → 「分かりません」

記載がないためお答えできません

社内イベントはあるの?

該当なし → 「分かりません」

記載がありません

安売りの商品は?

該当なし → 「分かりません」(消耗品20%引きは別の話)

「安売り商品」の記載はありません。保守契約加入で消耗品20%割引の記載のみ

10問中9問は問題なし。

注目してほしいのが「リモートで働けるの?」です。検索はVPNの規程を掴んでいます。それでも**「それはリモート勤務の可否の話じゃない」と切り分けて**います。私が一番心配していた「似た文書を根拠にでっち上げる」が、ここで起きませんでした。

そして唯一の失敗が「有給は年間何日」。記事の最初に出した、保守契約のFAQが1位に来たやつです。

つまりあの事故を出したのは、文書を読まずに書いたこの10問でした。文書の中身を知ってたら、私は絶対に「勤続3年目の有給は何日?」と書いてます。そしたらあのバグは永久に見つかってません。

突拍子もない質問は、結果的に一番リアルな負荷試験になりました。実運用の社内チャットボットに来る質問って、だいたい作った人の想定外なので。

2回目:文書を読んでから書いた9問

次に、文書を全部読んだ上で、現場の人が実際に聞きそうな言い方で9問作り直しました。


ルールはひとつだけ決めました。文書に書いてある言葉をそのまま使わない。 「年次有給休暇の付与日数は?」と聞いたら、そりゃ当たります。それは試験になりません。

結果はこうでした。

質問

正解(文書 → 中身)

AIの答え

判定

入社5が月目やけど有給とってもいい?

就業規則 第32条 → まだ付与されていない

まだ付与されていません(6か月継続勤務が条件)

海外出張費はでる?

該当なし → 「分かりません」

国内出張の規程のみで、海外の規定は含まれていません

MP-100とMP-200どっちが大きいものに対応している?

両方のカタログ → MP-200(1,200mm 対 600mm)

MP-200。MP-100の2倍の加工幅です

年間保守契約ってなに?消耗品が安くなるって聞いたんやけど

FAQ 年間保守契約 → 本体価格の8%が年額、消耗品20%割引

本体価格の8%が年額。お聞きの通り消耗品は20%割引です

卓上型モデルを受注して5ヶ月経ちますが届きません

FAQ 納期 → 標準4週間。遅れの理由は文書に無い

標準納期は4週間。5ヶ月かかる理由は文書からは判断できません

お葬式に出席するんですけど有給使える?

用語集 → 慶弔休暇は特別休暇で、年休とは別枠

慶弔休暇は年次有給休暇とは別枠。年休を充てられるかは記載がありません

福岡に出張する場合いくらでる?

経費規程 第8条 → 日当2,000円/日 + 宿泊上限10,000円/泊

福岡は「その他の地域」に該当。1泊2日なら最大14,000円

継続勤務年数に応じて…どのくらい増えていく?

就業規則 別表2 → 6か月10日 〜 6年6か月以上20日

6か月10日、1年6か月11日…6年6か月以上20日(表で回答)

出張費の領収書はレシートでも大丈夫?

経費規程 第9条 → 領収書必須。レシート可否は書かれていない

「領収書の添付は必須」の記載はありますが、レシート可否は記載がありません

9問とも正解。 「お葬式」から慶弔休暇にたどり着くのも、「福岡」を「その他の地域」に当てはめるのも通りました。

最後の行が地味に大事です。「レシートでも大丈夫?」は、関連する文書はあるのに、聞かれたことズバリは書いてない。こういう半分だけ答えられる質問が実務では一番多いと思います。ここは正解を「書いてある範囲を答えて、書いてない部分は書いてないと言う」と定義しました。

検証が閉まらなかったので、質問を作り直した

ここで手が止まりました。

ここまでで19問測って、18問は普通のRAGで正解。Agentic RAGが勝った質問が1問もない。 これだと「Agentic RAGは要らない」としか書けませんが、それは負ける場面を用意できてないだけかもしれません。検証として閉じてない。

なので、素のRAGが原理的に届かない質問を、意図的に設計することにしました。それが次のやつです。

勝負がついた質問

さっきの「代わりの機種、どのくらいかかる?」です。答えるのに3段いります。


ポイントは、「MP-250」という単語が、質問文のどこにも出てこないこと。①を調べるまで、②③で何を検索したらいいか決まりません。1回の検索で終わらせる方法が、そもそも存在しないんです。

普通のRAG(8件拾う設定)の答え:

MP-200の後継機種はMP-250です。ただし「注文してからどのくらいかかるか」については、参考文書に具体的な日数の記載がありません。

後継機までは分かってる。でもそこで止まります。探しに戻る機能がないので。

エージェントの独り言が面白い

Agentic RAGのほうも、1周目と2周目は外してます。ただ途中の判断が面白かったので、そのまま貼ります。


2周目がいいんですよ。カタログの「大型レーザー加工機 MP-250」という1行を見て、型番で探すのをやめて、分類名で探し直そうと自分で決めてます。

1回きりの検索では絶対に出てこない発想です。しかも人間が事前に「こういうときはこう言い換えろ」とルールを書いておくのも難しい。

結果はこうなりました。

MP-200の後継機はMP-250です。MP-250は大型モデルに該当し、標準納期は受注後12週間です。年末年始および8月の連休期間は2週間程度加算されます。

何周させるかで結果が変わる

これは走らせるまで気づきませんでした。

最初は「小さい質問ひとつにつき最大2周まで」という設定にしてたんです。この設定だと、さっきの質問は解けません。 3周目でやっと届いてる。

Agentic RAGにしただけでは足りなくて、何周まで許すかで結果が変わる。しかも周回数はそのまま料金です。導入するなら絶対に触ることになる場所だと思います。

「拾う件数を増やせばいいのでは」が死ぬところ

Agentic RAGの話をすると、必ず言われるのがこれです。3件じゃなくて10件拾えば済むやろ、と。

で、小さい文書セット(10件)だと本当にそのとおりでした。普通のRAGが落とした質問、拾う件数を3から5に増やすだけで全部解けます。Agentic RAGを回しても答えは同じで、料金だけ5〜6倍。

ただ、10件しかない中から5件拾うって、半分まるごとAIに渡してるってことなんですよね。そりゃ当たります。

そもそも67件という文書数自体が少なすぎます。実際の社内文書は数千件あるはずで、その規模で同じことが言えるのか確かめないと意味がありません。

なので文書を増やしながら測り直しました。ここはAIを一度も使いません。検索だけの話なので、無料で数秒です。

やり方はこうです。答えが載っている67件はそのまま固定して、その周りに自動生成のダミー文書を足していく。 5,000件まで増やしたときは、うち4,933件がダミーです。

全部を本物にしないのは、答え合わせができなくなるからです。さっきの正解表を5,000件ぶん作るのは現実的じゃありません。なので今回測れているのは、上位の枠を奪い合う相手が増えたときに、正解が沈むかどうかです。ここは正直に書いておきます。

実験A:AIに渡す件数を変えてみる

まず、文書は67件のまま固定して、AIに渡す件数だけを変えます。

AIに渡す件数

必要な資料がそろった割合

3件

50%

5件

60%

8件

60%

20件

80%

割合の意味から書きます。 対象は答えがある10問。「必要な資料がそろった」とは、その質問に答えるのに要る文書が全部、AIに渡ったということです。50%なら10問中5問。

たとえば「お葬式で休むとき何日もらえる?」に答えるには、用語集(お葬式=慶弔休暇=特別休暇)と就業規則 第33条(父母なら3日)の2つが要ります。片方しか渡らなければ失敗です。

結果は素直でした。渡す件数を増やせば良くなる。 50%から80%へ、30ポイント上がります。たくさん渡すほど当たりが混ざるので、当然といえば当然です。

ただし80%で止まります。20件渡しても解けない質問が2つ残りました。「年休は何日もらえる」と「お葬式で休むとき何日もらえる?」です。

この2つ、実は順位が低いんじゃなくて検索結果に1件も出てきません。規程には「年次有給休暇」「慶弔休暇」としか書いてなくて、質問の言葉と文字が1つも重ならないからです。

渡す量をいくら増やしても届かない。 ここは後半で効いてきます。

実験B:文書の総数を変えてみる

次は逆です。渡す件数を20件で固定して、文書の総数だけを増やします。無関係な他部署の文書(業務マニュアル、議事録、月次報告とか)で水増ししました。

文書の総数

必要な資料がそろった割合

67件

80%

500件

80%

5,000件

80%

74倍にしても80%のまま。1ポイントも落ちません。 これは意外でした。

「文書が増えたら検索が難しくなるはず」と思っていたんですが、そうはならなかった。

考えてみたら当然で、「MP-250」「年休」「慶弔」みたいな珍しい言葉は、関係ない文書を何万件積んでも薄まらないんです。むしろ全体の件数が増えるほど「この言葉が出てくる文書はレア」ということになって、探しやすくなります。

つまり、いじれるツマミが2つあって、

  • 「AIに渡す件数」のツマミ → 回すと効く(ただし天井あり)

  • 「文書の総数」のツマミ → 回しても何も起きない

ということでした。

実験C:足す文書を「紛らわしいもの」に変えてみる

実験Bで足したのは、無関係な他部署の文書でした。今度は同じ型番・同じ話題を含む文書に差し替えます。旧版の納期一覧、販売終了のお知らせ、改定前の別表、在宅勤務のトライアル報告。社内フォルダに絶対入ってるやつです。

条件は実験Bと同じで、渡す件数は20件のまま固定します。

文書の総数

必要な資料がそろった割合

67件

80%

200件

60%

500件

40%

1,000件

40%

2,000件

40%

崩れました。実験Bでは80%のまま動かなかったのが、今度は半分の40%まで落ちます。

理由は、答えの資料が下に沈むからです。例の3段の質問で、正解の資料が検索結果の何番目に来たかを追うとこうなりました。

文書の総数

答えの資料は何番目か

67件

14番目

200件

52番目

500件

131番目

1,000件

256番目

2,000件

512番目

14番目から512番目まで沈みました。 1回の検索で届かせるには512件渡すしかありません。そんな量、AIは一度に読めません。

ここが分岐点です。拾う件数を増やすという安い手は、紛らわしい文書が増えた瞬間に死にます。 Agentic RAGは件数を増やすんじゃなくて探し方のほうを変えて近づくので、この壁を越えられる。

あと、これは実務でけっこう効く話だと思うんですが、旧版・改定前・廃止済みの文書が一番の敵です。社内フォルダに一番溜まってるやつが、そのまま検索精度を殺してる。

ほとんどの質問では要らんかった

さっきの2つの表のとおり、19問中18問は普通のRAGで正解でした。Agentic RAGが要らなかった質問のほうが圧倒的に多いです。

一番驚いたのは「福岡に出張したらいくら?」でした。文書には**「東京23区・大阪市内は12,000円、その他の地域は10,000円」**としか書いてなくて、福岡という地名はどこにも出てきません。それでも自分で当てはめて、計算例まで出してきます。

心配してた「それっぽい嘘をつく」現象も起きませんでした。念のため、指示文から「推測しないでください」の一文を外して同じ質問を投げてみましたが、結果は変わらず棄権。指示が効いていたわけでもなかったということです。

つまり普通のRAGの弱点は、嘘をつくことじゃなくて取りこぼすこと。だからAgentic RAGの値打ちも、嘘の防止じゃなくて拾い直しにあります。

ここを整理しておかないと、「安全のためにAgentic RAG」という筋の悪い理由で高い構成を選ぶことになります。

値段

例の3段の質問での実測です。


普通のRAG

Agentic RAG

結果

✕ 答えられず

○ 12週間

AIに聞いた回数

1回

7回

概算コスト

1.4円

9.8円

Fig9:3段の質問を1回解くのにかかったもの

HEROZ社の公開実験でも、普通のRAGが1回・1.36円、Agentic RAGが7.1回・6.41円で、**評価点はほぼ同じ(3.1と3.2)**でした。桁は合ってます。

平均点で比べるとAgentic RAGは負けます。効く質問だけを見ないと値打ちが見えないタイプの技術です。

導入するなら、この順番

  1. まず「必要な資料が手元に来ていたか」を測る。 AI不要、数秒、無料です

  2. 来てるのに間違えるなら、Agentic RAGにしても直りません。指示文の書き方を見直すほうへ

  3. 来てないなら、まず拾う件数を増やす・検索の言葉を1回言い換える・並べ替えを入れる

  4. それでも残るのが、途中で調べる対象が変わる質問。ここがAgentic RAGの出番

  5. 周回数の上限は必ず調整する。2周と3周で解ける質問が変わります

あと、紛らわしい旧版文書を捨てるのが、どの手法より安く効くかもしれません。上の表がそれを言ってます。

Fig10:Agentic RAGに手を出す前に通る道

弱いところ

  • 検索は昔ながらのキーワード方式だけで試しました。意味で探す方式なら「年間」の事故は起きなかったかも

  • 中身のある文書は67件のままで、残りは自動生成のダミーです。 本物の文書が数千件ある状態は再現できていません

  • 本物なら「答えが2つの文書に分かれている」「同じ話題が5部署の文書に散っている」といった散らばり方が出ますが、そこは今回まったく触れていません

  • AIは1種類しか試してません。もっと軽いAIだと結論が変わる可能性があります

  • 例の3段の質問は、意図的に作ったものです。実務でこの型が何割あるかは別途調べないと分かりません

参考

社内文書をAIに検索させて答えさせる仕組みを「RAG」と言います。その進化版が「Agentic RAG」です。

で、実際に両方を走らせて比べてみました。Agentic RAGが勝ったのは1種類だけでした。

次に何を調べたらいいかが、1回調べてみないと分からない質問。

たとえばこういうやつです。

MP-200の代わりの機種、注文してからどのくらいかかる?

「代わりの機種」が何なのかは、調べるまで分かりません。分からないと次に何で検索したらいいかも分からない。普通のRAGはここで詰みます。

それ以外の質問では、答えは普通のRAGと同じで、料金だけ5〜7倍でした。

もうひとつ意外だったこと。無関係な文書を足して5,000件まで水増ししても、検索の精度は1ポイントも落ちませんでした。 落ちたのは、旧版とか改定前とかの紛らわしい文書を混ぜたときです。そのとき、正解の資料が512番目まで沈みました。

「文書が多いから難しい」んじゃなくて「紛らわしいから難しい」。これが一番の発見でした。

そもそもRAGって何をしてるのか

AI(ChatGPTとかClaude)は、あなたの会社の就業規則も製品カタログも知りません。学習してないので当たり前です。

なので質問が来たら、まず社内文書を検索して、見つかった数件を質問と一緒にAIへ渡します。要するにAIにカンニングペーパーを渡す仕組みです。これがRAG。

このとき「何件渡すか」を決める必要があります。検索エンジンは全文書に点数をつけて順位をつけるので、その上から何件をAIに渡すか、という設定です。3件なのか、20件なのか。

この記事ではこれを**「拾う件数」と呼びます。「文書の総数」とは別物**なので、そこだけ混ぜないでください。文書が5,000件あっても、AIに渡すのはそのうち上位3件、ということが起こります。ここ、あとで効いてきます。

普通のRAGと、Agentic RAGの違い

普通のRAGは一直線です。

1回検索する → 出てきた数件だけ読んで答える → 終わり

人にたとえると、キャビネットを1回だけ漁って、出てきた書類だけで答える新人です。足りなくても、もう一度探しに戻りません。

Agentic RAGは、ここをぐるぐる回します。

質問を小さく分ける → 検索する → 「これで答えられる?」を自分で確かめる → ダメなら言い方を変えて探し直す → 揃ったら答える

太字のところが本体です。「まだ足りてないな、探し直そう」と自分で気づける新人になった、という話です。

分かりやすい失敗例をひとつ。「有給は年間何日」と聞いたら、普通のRAGは**「保守契約についてのFAQ」を1位で返してきました**。レーザー加工機の保守契約です。有給と1ミリも関係ありません。

理由はこうです。検索エンジンには「珍しい言葉ほど重要」という考え方があります。この会社の文書だと「年間」という言葉が保守契約にしか出てこない。だから検索が**「この質問のキモは"年間"やな」と勘違いした**わけです。「有給」のほうは色んな文書に出てくるので、逆に軽く扱われました。

正解の日数表は4番目。3件しか拾わない設定だったので、届きませんでした。

Agentic RAGだと、質問を分ける段階で検索の言葉がこう変わりました。


これで日数表が4位から1位に。検索する前に事故が消えてます。

何を検索させているのか

検索対象は、架空の製造業「ミナト製作所」の社内文書です。レーザー加工機を作って売っている会社という設定で、社員向けの規程と、お客さん向けのカタログ・FAQが1つの検索窓に混ざっています(社内ナレッジベースあるあるです)。

雰囲気が伝わるように、実際の中身をいくつか貼ります。1文書はこのくらいの分量です。


こんな調子で、就業規則・経費規程・IT規程・品質基準・製品カタログ12機種・FAQ・営業ルールが合わせて67件。全部あわせても原稿用紙10枚ちょっとです。

わざと架空にしています。 実在の文書だと「この質問の正解はこれ」と断言できないからです。67件なら全部読めるので、正解を人間が確定できます。

「正解」はこう決めた

質問を作るだけでは採点できません。1問ごとに2種類の正解を先に用意しました。

  1. 答えが書いてある文書はどれか(文書名)

  2. 答えの中身は何か(文章)

そして検索の良し悪しは①だけで測ります。上位何件かの中に①が入っていたかを数えるだけ。だからAIを呼ばずに、無料で数秒で終わります。②は最後にAIの回答文を目で確かめるのに使います。

この先の表では、正解を「文書名 → 中身」の形で書きます。「該当なし」は、文書のどこにも書いていない=「分かりません」と答えるのが正解という意味です。

この表を作るのが、今回いちばん時間がかかった作業です。逆に言うと、ここさえ作れば残りは全部自動になります。

1回目:文書を見ずに書いた10問

まず、文書の中身を一切見ずに質問を書きました。書いたのはこの10問です。


我ながら突拍子もない。10問中8問が「文書に載ってない質問」になってしまいました。

普通のRAGに投げた結果がこれです。

質問

正解(文書 → 中身)

AIの答え

判定

MP-200の重さは?

製品カタログ MP-200 → 112kg

本体重量は112kgです

MP-300はどのくらいの電力を使う

該当なし → 「分かりません」

MP-100とMP-200の記載のみで、MP-300の記載はありません

MP-400はあるの?

該当なし → 「分かりません」

MP-400に関する記載はありません

有給は年間何日

就業規則 別表2 → 勤続年数により10〜20日

一律の日数を定めた記載はありません

ここ何の会社?

該当なし → 「分かりません」

(検索ヒット0件。AIに渡す材料すらない)

求人はやってる?

該当なし → 「分かりません」

(検索ヒット0件)

リモートで働けるの?

該当なし → 「分かりません」(VPN規程は別の話)

リモート勤務の可否を定めた規定は含まれていません。あるのはVPN接続の技術規程のみ

資本金はいくら?

該当なし → 「分かりません」

記載がないためお答えできません

社内イベントはあるの?

該当なし → 「分かりません」

記載がありません

安売りの商品は?

該当なし → 「分かりません」(消耗品20%引きは別の話)

「安売り商品」の記載はありません。保守契約加入で消耗品20%割引の記載のみ

10問中9問は問題なし。

注目してほしいのが「リモートで働けるの?」です。検索はVPNの規程を掴んでいます。それでも**「それはリモート勤務の可否の話じゃない」と切り分けて**います。私が一番心配していた「似た文書を根拠にでっち上げる」が、ここで起きませんでした。

そして唯一の失敗が「有給は年間何日」。記事の最初に出した、保守契約のFAQが1位に来たやつです。

つまりあの事故を出したのは、文書を読まずに書いたこの10問でした。文書の中身を知ってたら、私は絶対に「勤続3年目の有給は何日?」と書いてます。そしたらあのバグは永久に見つかってません。

突拍子もない質問は、結果的に一番リアルな負荷試験になりました。実運用の社内チャットボットに来る質問って、だいたい作った人の想定外なので。

2回目:文書を読んでから書いた9問

次に、文書を全部読んだ上で、現場の人が実際に聞きそうな言い方で9問作り直しました。


ルールはひとつだけ決めました。文書に書いてある言葉をそのまま使わない。 「年次有給休暇の付与日数は?」と聞いたら、そりゃ当たります。それは試験になりません。

結果はこうでした。

質問

正解(文書 → 中身)

AIの答え

判定

入社5が月目やけど有給とってもいい?

就業規則 第32条 → まだ付与されていない

まだ付与されていません(6か月継続勤務が条件)

海外出張費はでる?

該当なし → 「分かりません」

国内出張の規程のみで、海外の規定は含まれていません

MP-100とMP-200どっちが大きいものに対応している?

両方のカタログ → MP-200(1,200mm 対 600mm)

MP-200。MP-100の2倍の加工幅です

年間保守契約ってなに?消耗品が安くなるって聞いたんやけど

FAQ 年間保守契約 → 本体価格の8%が年額、消耗品20%割引

本体価格の8%が年額。お聞きの通り消耗品は20%割引です

卓上型モデルを受注して5ヶ月経ちますが届きません

FAQ 納期 → 標準4週間。遅れの理由は文書に無い

標準納期は4週間。5ヶ月かかる理由は文書からは判断できません

お葬式に出席するんですけど有給使える?

用語集 → 慶弔休暇は特別休暇で、年休とは別枠

慶弔休暇は年次有給休暇とは別枠。年休を充てられるかは記載がありません

福岡に出張する場合いくらでる?

経費規程 第8条 → 日当2,000円/日 + 宿泊上限10,000円/泊

福岡は「その他の地域」に該当。1泊2日なら最大14,000円

継続勤務年数に応じて…どのくらい増えていく?

就業規則 別表2 → 6か月10日 〜 6年6か月以上20日

6か月10日、1年6か月11日…6年6か月以上20日(表で回答)

出張費の領収書はレシートでも大丈夫?

経費規程 第9条 → 領収書必須。レシート可否は書かれていない

「領収書の添付は必須」の記載はありますが、レシート可否は記載がありません

9問とも正解。 「お葬式」から慶弔休暇にたどり着くのも、「福岡」を「その他の地域」に当てはめるのも通りました。

最後の行が地味に大事です。「レシートでも大丈夫?」は、関連する文書はあるのに、聞かれたことズバリは書いてない。こういう半分だけ答えられる質問が実務では一番多いと思います。ここは正解を「書いてある範囲を答えて、書いてない部分は書いてないと言う」と定義しました。

検証が閉まらなかったので、質問を作り直した

ここで手が止まりました。

ここまでで19問測って、18問は普通のRAGで正解。Agentic RAGが勝った質問が1問もない。 これだと「Agentic RAGは要らない」としか書けませんが、それは負ける場面を用意できてないだけかもしれません。検証として閉じてない。

なので、素のRAGが原理的に届かない質問を、意図的に設計することにしました。それが次のやつです。

勝負がついた質問

さっきの「代わりの機種、どのくらいかかる?」です。答えるのに3段いります。


ポイントは、「MP-250」という単語が、質問文のどこにも出てこないこと。①を調べるまで、②③で何を検索したらいいか決まりません。1回の検索で終わらせる方法が、そもそも存在しないんです。

普通のRAG(8件拾う設定)の答え:

MP-200の後継機種はMP-250です。ただし「注文してからどのくらいかかるか」については、参考文書に具体的な日数の記載がありません。

後継機までは分かってる。でもそこで止まります。探しに戻る機能がないので。

エージェントの独り言が面白い

Agentic RAGのほうも、1周目と2周目は外してます。ただ途中の判断が面白かったので、そのまま貼ります。


2周目がいいんですよ。カタログの「大型レーザー加工機 MP-250」という1行を見て、型番で探すのをやめて、分類名で探し直そうと自分で決めてます。

1回きりの検索では絶対に出てこない発想です。しかも人間が事前に「こういうときはこう言い換えろ」とルールを書いておくのも難しい。

結果はこうなりました。

MP-200の後継機はMP-250です。MP-250は大型モデルに該当し、標準納期は受注後12週間です。年末年始および8月の連休期間は2週間程度加算されます。

何周させるかで結果が変わる

これは走らせるまで気づきませんでした。

最初は「小さい質問ひとつにつき最大2周まで」という設定にしてたんです。この設定だと、さっきの質問は解けません。 3周目でやっと届いてる。

Agentic RAGにしただけでは足りなくて、何周まで許すかで結果が変わる。しかも周回数はそのまま料金です。導入するなら絶対に触ることになる場所だと思います。

「拾う件数を増やせばいいのでは」が死ぬところ

Agentic RAGの話をすると、必ず言われるのがこれです。3件じゃなくて10件拾えば済むやろ、と。

で、小さい文書セット(10件)だと本当にそのとおりでした。普通のRAGが落とした質問、拾う件数を3から5に増やすだけで全部解けます。Agentic RAGを回しても答えは同じで、料金だけ5〜6倍。

ただ、10件しかない中から5件拾うって、半分まるごとAIに渡してるってことなんですよね。そりゃ当たります。

そもそも67件という文書数自体が少なすぎます。実際の社内文書は数千件あるはずで、その規模で同じことが言えるのか確かめないと意味がありません。

なので文書を増やしながら測り直しました。ここはAIを一度も使いません。検索だけの話なので、無料で数秒です。

やり方はこうです。答えが載っている67件はそのまま固定して、その周りに自動生成のダミー文書を足していく。 5,000件まで増やしたときは、うち4,933件がダミーです。

全部を本物にしないのは、答え合わせができなくなるからです。さっきの正解表を5,000件ぶん作るのは現実的じゃありません。なので今回測れているのは、上位の枠を奪い合う相手が増えたときに、正解が沈むかどうかです。ここは正直に書いておきます。

実験A:AIに渡す件数を変えてみる

まず、文書は67件のまま固定して、AIに渡す件数だけを変えます。

AIに渡す件数

必要な資料がそろった割合

3件

50%

5件

60%

8件

60%

20件

80%

割合の意味から書きます。 対象は答えがある10問。「必要な資料がそろった」とは、その質問に答えるのに要る文書が全部、AIに渡ったということです。50%なら10問中5問。

たとえば「お葬式で休むとき何日もらえる?」に答えるには、用語集(お葬式=慶弔休暇=特別休暇)と就業規則 第33条(父母なら3日)の2つが要ります。片方しか渡らなければ失敗です。

結果は素直でした。渡す件数を増やせば良くなる。 50%から80%へ、30ポイント上がります。たくさん渡すほど当たりが混ざるので、当然といえば当然です。

ただし80%で止まります。20件渡しても解けない質問が2つ残りました。「年休は何日もらえる」と「お葬式で休むとき何日もらえる?」です。

この2つ、実は順位が低いんじゃなくて検索結果に1件も出てきません。規程には「年次有給休暇」「慶弔休暇」としか書いてなくて、質問の言葉と文字が1つも重ならないからです。

渡す量をいくら増やしても届かない。 ここは後半で効いてきます。

実験B:文書の総数を変えてみる

次は逆です。渡す件数を20件で固定して、文書の総数だけを増やします。無関係な他部署の文書(業務マニュアル、議事録、月次報告とか)で水増ししました。

文書の総数

必要な資料がそろった割合

67件

80%

500件

80%

5,000件

80%

74倍にしても80%のまま。1ポイントも落ちません。 これは意外でした。

「文書が増えたら検索が難しくなるはず」と思っていたんですが、そうはならなかった。

考えてみたら当然で、「MP-250」「年休」「慶弔」みたいな珍しい言葉は、関係ない文書を何万件積んでも薄まらないんです。むしろ全体の件数が増えるほど「この言葉が出てくる文書はレア」ということになって、探しやすくなります。

つまり、いじれるツマミが2つあって、

  • 「AIに渡す件数」のツマミ → 回すと効く(ただし天井あり)

  • 「文書の総数」のツマミ → 回しても何も起きない

ということでした。

実験C:足す文書を「紛らわしいもの」に変えてみる

実験Bで足したのは、無関係な他部署の文書でした。今度は同じ型番・同じ話題を含む文書に差し替えます。旧版の納期一覧、販売終了のお知らせ、改定前の別表、在宅勤務のトライアル報告。社内フォルダに絶対入ってるやつです。

条件は実験Bと同じで、渡す件数は20件のまま固定します。

文書の総数

必要な資料がそろった割合

67件

80%

200件

60%

500件

40%

1,000件

40%

2,000件

40%

崩れました。実験Bでは80%のまま動かなかったのが、今度は半分の40%まで落ちます。

理由は、答えの資料が下に沈むからです。例の3段の質問で、正解の資料が検索結果の何番目に来たかを追うとこうなりました。

文書の総数

答えの資料は何番目か

67件

14番目

200件

52番目

500件

131番目

1,000件

256番目

2,000件

512番目

14番目から512番目まで沈みました。 1回の検索で届かせるには512件渡すしかありません。そんな量、AIは一度に読めません。

ここが分岐点です。拾う件数を増やすという安い手は、紛らわしい文書が増えた瞬間に死にます。 Agentic RAGは件数を増やすんじゃなくて探し方のほうを変えて近づくので、この壁を越えられる。

あと、これは実務でけっこう効く話だと思うんですが、旧版・改定前・廃止済みの文書が一番の敵です。社内フォルダに一番溜まってるやつが、そのまま検索精度を殺してる。

ほとんどの質問では要らんかった

さっきの2つの表のとおり、19問中18問は普通のRAGで正解でした。Agentic RAGが要らなかった質問のほうが圧倒的に多いです。

一番驚いたのは「福岡に出張したらいくら?」でした。文書には**「東京23区・大阪市内は12,000円、その他の地域は10,000円」**としか書いてなくて、福岡という地名はどこにも出てきません。それでも自分で当てはめて、計算例まで出してきます。

心配してた「それっぽい嘘をつく」現象も起きませんでした。念のため、指示文から「推測しないでください」の一文を外して同じ質問を投げてみましたが、結果は変わらず棄権。指示が効いていたわけでもなかったということです。

つまり普通のRAGの弱点は、嘘をつくことじゃなくて取りこぼすこと。だからAgentic RAGの値打ちも、嘘の防止じゃなくて拾い直しにあります。

ここを整理しておかないと、「安全のためにAgentic RAG」という筋の悪い理由で高い構成を選ぶことになります。

値段

例の3段の質問での実測です。


普通のRAG

Agentic RAG

結果

✕ 答えられず

○ 12週間

AIに聞いた回数

1回

7回

概算コスト

1.4円

9.8円

Fig9:3段の質問を1回解くのにかかったもの

HEROZ社の公開実験でも、普通のRAGが1回・1.36円、Agentic RAGが7.1回・6.41円で、**評価点はほぼ同じ(3.1と3.2)**でした。桁は合ってます。

平均点で比べるとAgentic RAGは負けます。効く質問だけを見ないと値打ちが見えないタイプの技術です。

導入するなら、この順番

  1. まず「必要な資料が手元に来ていたか」を測る。 AI不要、数秒、無料です

  2. 来てるのに間違えるなら、Agentic RAGにしても直りません。指示文の書き方を見直すほうへ

  3. 来てないなら、まず拾う件数を増やす・検索の言葉を1回言い換える・並べ替えを入れる

  4. それでも残るのが、途中で調べる対象が変わる質問。ここがAgentic RAGの出番

  5. 周回数の上限は必ず調整する。2周と3周で解ける質問が変わります

あと、紛らわしい旧版文書を捨てるのが、どの手法より安く効くかもしれません。上の表がそれを言ってます。

Fig10:Agentic RAGに手を出す前に通る道

弱いところ

  • 検索は昔ながらのキーワード方式だけで試しました。意味で探す方式なら「年間」の事故は起きなかったかも

  • 中身のある文書は67件のままで、残りは自動生成のダミーです。 本物の文書が数千件ある状態は再現できていません

  • 本物なら「答えが2つの文書に分かれている」「同じ話題が5部署の文書に散っている」といった散らばり方が出ますが、そこは今回まったく触れていません

  • AIは1種類しか試してません。もっと軽いAIだと結論が変わる可能性があります

  • 例の3段の質問は、意図的に作ったものです。実務でこの型が何割あるかは別途調べないと分かりません

参考

AI・システム開発のこと、VISKにご相談ください

「自社の業務にAIを活かせないか」「この作業、自動化できないか」——

そんな漠然とした段階からで大丈夫です。大阪のAI・システム開発会社VISKが、御社の課題に合わせて、企画から開発・検証までサポートします。