ラグ。ラグ。ラグ。
ビジネス プロセスや製品に人工知能を実装する競争において、厄介な傾向が見られます。それは、検索拡張生成 (RAG) への執着です。大規模言語モデル (LLM) と外部知識検索を組み合わせた手法である RAG は、間違いなく知識を操作するための新しい道を開拓しましたが、多くの実践者がこれに苦労しています。
今こそ、AI 実装に関する議論を再構築し、RAG への過度の依存の落とし穴を認識し、より適切でコスト効率が高く、洗練された代替アプローチを模索すべき時です。
RAG は、外部コンテキストを提供することで言語モデルの精度を向上させたいと考えている多くの AI エンジニアにとって頼りになる手法となっています。前提は非常にシンプルです。大量のテキストをベクター ストアにアップロードすることで、これらの AI システムは関連するドキュメントを検索し、データを取得し、それを言語モデルの生成能力と組み合わせて、より正確な回答を生成することができます。
しかし、RAG への熱狂により、その有用性を過大評価する実装が急増しました。エンジニアが何百万ものドキュメントをベクター ストアにダンプし、ユース ケースにそのような複雑さが必要かどうかも理解せずにクラウド ストレージと処理コストを膨らませるのを目にすることは珍しくありません。よりシンプルなソリューションで十分かどうか、あるいは特定の問題に RAG が本当に必要かどうかを検討しない人も多くいます。
さらに悪いことに、ほとんどのエンジニアは RAG 実装に素朴な考え方で取り組み、長期的なコストとメンテナンスの負担を見落としています。すべてのテキストをベクター ストアにアップロードすれば、AI が何らかの形で賢くなると信じています。しかし、多くの場合、この方法は逆の効果をもたらします。ベクター ストアが冗長で不要なドキュメントでいっぱいになると、LLM は価値を追加しないデータを取得することに圧倒されます。その結果、応答時間が遅くなり、コストが高くなり、ソリューションの効果が低下します。
RAG は、入手可能なあらゆるドキュメント ダンプの包括的な手段としてではなく、正確で関連性の高い知識を増強するために使用される場合に最も効果を発揮します。RAG による過剰なエンジニアリングは、他の主要な AI 機能の活用不足や、多くの問題がより単純なロジックと構造で解決できるにもかかわらず、検索に過度に重点を置くことにもつながります。
真実はこうです。すべてのユースケースで RAG 設定が必要なわけではありません。タスクが狭く明確に定義されている場合 (FAQ への対応、カスタマー サポートの問い合わせ、構造化された対話など)、単純なルックアップ テーブルまたはナレッジ グラフで十分な場合があります。ルールベースのシステムやエージェント フレームワークを使用してソリューションを構築できる場合、大規模なベクター ストアと数百万のパラメーター モデルを実行するオーバーヘッドを負う必要はありません。
RAG を熱心に使用するのは、データが多いほどパフォーマンスが向上するという考えに基づいています。しかし、多くの場合、質は量に勝ります。ターゲットを絞った知識を持つ微調整されたモデル、またはルールベースの機能を備えた知識認識型チャットボットは、RAG パイプラインにまったく触れなくてもパフォーマンスが向上します。RAG を実装するかどうかの決定は、AI 愛好家の間での人気ではなく、タスクの複雑さによって決定されるべきです。
肥大化した RAG システムに代わるものは、多くの場合、より洗練され、効果的です。それは、限られた正確な知識を持つ、小さくて特殊なエージェントです。これらのエージェントを連携して使用すると、テラバイト単位のテキストを詰め込んだ単一の大規模モデルよりも優れたパフォーマンスを発揮できます。各エージェントは、ワークフローの特定の部分を処理したり、特定の種類のクエリに応答するように設計できるため、モジュール式で柔軟な AI システムを実現できます。これにより、コストが削減されるだけでなく、システム全体の保守と拡張も容易になります。
あるエージェントがスケジュール管理を担当し、別のエージェントが要約を担当し、3 つ目のエージェントが Web 検索を実行するシナリオを想像してください。これらの各エージェントは、モノリシック システムのオーバーヘッドなしで、必要な知識のみを活用して連携できます。多数の小さなモデルまたはロジック ベースのエージェントを展開することで、企業は処理コストとストレージ コストを大幅に削減しながら、より正確で高速な出力を得ることができます。
最後に、単純なロジックで十分なシナリオで LLM が過剰に使用されているという問題があります。LLM は自然言語の理解と生成に非常に優れていますが、だからといってすべての自動化を LLM に置き換える必要があるわけではありません。データ検証、フォームの入力、構造化レポートの生成など、多くのタスクは、基本的なスクリプト、ルール エンジン、または決定論的システムを使用すると、より迅速かつ確実に実行できます。
典型的な例は、算術タスクやソート問題に LLM を使用することです。これは非効率的で不必要です。計算リソースを無駄にするだけでなく、単純な関数やアルゴリズムの方が正確な場合にエラーが発生する可能性が高くなります。すべてのものに LLM を実装しようとする熱意は、「LLM ハンマーが釘を探している」症候群に変わりました。この誤用は期待を膨らませ、モデルが処理するように設計されていないタスクで期待どおりに機能しない場合は最終的に幻滅につながります。
今こそ AI エンジニアリングを再考し、流行にとらわれないときです。RAG はツールキットに欠かせないものですが、万能薬ではありません。将来は、適切なタスクに適切なモデルを展開することにあります。RAG が必要な場合もありますが、そうでない場合もあります。AI の機能を細かく理解することで、エンジニアはより効果的で効率的、かつ保守しやすいシステムを設計できます。
私について: データ、AI、リスク管理、戦略、教育を組み合わせた20年以上のベテラン。ハッカソンで4回優勝し、データアドボケートとして社会に影響を与えています。現在、フィリピンのAI人材の活性化に取り組んでいます。私について詳しくは、https://docligot.comをご覧ください。