エージェントメモリとRAGコンテキストの違いとは?

エヴァ・ウォンテクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

エージェントメモリは過去の対話から再利用可能な状態を保持し、RAGコンテキストは現在回答している質問のために、情報源に裏付けられた情報を検索します。

家庭用AIサーバーでは、両者がローカルに保存され、意味検索され、同じモデルプロンプトに挿入される場合があるため、見かけ上は非常によく似ています。「摂氏を使う」といった記憶された好みと、検索されたマニュアルの一節は、どちらも1つの回答に影響を与えます。しかし、書き込みルール、権限、保持期間、障害時の処理は同じであるべきではありません。重要な違いは、テキストがプロンプトのどこにあるかではなく、その情報がなぜ存在し、何によって変更できるのかです。

エージェントメモリは対話状態を保持し、RAGコンテキストは外部の証拠を提供する

エージェントメモリは、作成された瞬間を過ぎても有用な状態を保持するために存在します。その状態には、ユーザーの好み、修正、未完了のタスク、繰り返し適用される制約、またはユーザーが毎回言い直さなくても後のやり取りに影響を与えるべき別の事実などが含まれます。

したがって、長期メモリは通常、会話や実行をまたいだ永続化を中心に構成され、ユーザー、エージェント、アプリケーション、またはタスクのスコープを持つことが多いです。重要なのは継続性です。後から同じ人物やワークフローが戻ってきたとき、以前のやり取りで作成された状態を復元し、再利用できます。

RAGコンテキストは、別の目的を果たします。現在の質問に、アクティブなモデルコンテキストにまだ存在しない根拠が必要なため、検索によって外部のナレッジソースから文章を選択します。検索されたテキストは、マニュアル、メモ、ポリシー、トランスクリプト、データベース、その他のインデックス化された情報源に由来する場合があり、その信頼性は会話から独立して存在します。

両方のレイヤーが同じプロンプトに有用なテキストを提供できますが、それぞれが表す主張は異なります。「この家庭では静かなハードウェアが好まれている」は対話から導き出された状態ですが、「このドライブは特定の動作温度に対応している」は、その内容を記載した情報源に結び付けておくべきです。

側面 エージェントメモリ RAGコンテキスト
主な目的 継続性、パーソナライズ、タスクの状態、再利用可能な対話履歴 外部の証拠に基づいて現在の回答を補強すること
一般的な起点 過去の会話、修正、ツールの実行結果、保存されたエージェント状態 ファイル、メモ、マニュアル、データベース、インデックス化されたドキュメント
書き込み先 記憶された状態を保存、抽出、更新、統合、または削除する ソース資料の取り込み、解析、チャンク化、埋め込み、インデックス化、更新、または廃止
一般的なスコープ ユーザー、世帯、セッション、タスク、エージェント、アプリケーション 文書コレクション、フォルダー、データベース、権限の境界
権限に関する問い この状態は明示されたものか、推測されたものか、最新のものか、適切なスコープが設定されているか? この文章を裏付けるソースと改訂版はどれか?
よくある失敗 誤った状態や古い状態が、その後の行動に影響し続ける 不足している、古い、無関係な、または不適切に処理された証拠が取得される

書き込み経路が、実務上最も強力な境界となる

エージェントメモリシステムは、どのインタラクションの詳細を再利用可能な状態にする価値があるかを判断する必要があります。ユーザーからの直接的な訂正、ゲストからの一時的な指示、モデルによる推論、ツールの結果は、1つの会話内にすべて現れる可能性があります。しかし、それらを永続的なメモリに昇格させると、後で生じる影響はそれぞれ大きく異なります。

そのため、メモリシステムには、保存された情報の追加、更新、検索、削除を行う操作が必要です。インタラクションから得られた事実が永続的な状態になると、同じメモリが今後のセッションで繰り返し呼び出される可能性があるため、スコープと訂正のルールが重要になります。

このため、弱い推論が永続的な状態として保存され、繰り返し取得されると、より危険になります。問題の根本は取得ステップそのものではありません。重要なのは、不確かなインタラクションの証拠に、より長い有効期間と、その後の行動に影響し続けるだけの権限が与えられたことです。

RAGの取り込みには別のライフサイクルがあります。ソースファイルは解析され、検索単位に分割されてインデックス化され、その後、元のソースが変更されたときに更新または廃止されます。マニュアル、ポリシー、プロジェクト文書に新しい改訂版が追加されたからといって、システムがエージェントの個人的なメモリを書き換える必要はありません。

RAGのコンテキストは、メモリにはないソースとの関係を保持する

RAGが有用なのは、取得した文章をモデル内の追跡不能な事実に変えるのではなく、外部ソースとのつながりを維持できるためです。プライベートなナレッジベースでは、文書識別子、改訂メタデータ、タイムスタンプ、権限、チャンクの出典情報を保持できるため、回答の根拠となった資料に照らして評価できます。

クエリ時の検索は、関連する外部知識を見つけ、選択した抜粋をモデルのコンテキストに配置することを中心に構成されます。モデルは現在のリクエストのためにそれらの抜粋を受け取りますが、情報源のドキュメント群は会話の外部に残り、独立して更新できます。

同じファイルの2つのバージョンが存在する場合、この分離が重要になります。意味的類似度では両方が高く評価される可能性があるため、情報源の最新性と置き換えによって、現在の状態に関する質問に対してどのバージョンが有効なのかを判断する必要があります。強い語彙的または意味的な一致であるというだけで、古い抜粋が権威性を保ち続けることを許してはなりません。

エージェントメモリも来歴を保持できますが、その中核となる役割は異なります。エージェントメモリは再利用可能な対話状態を保存します。一方、RAGは、所有者、改訂履歴、アクセスルール、保持ポリシーをそれぞれ持つ可能性があるドキュメント群との、検索可能な関係を維持します。

両方のレイヤーで埋め込みとベクトル検索を利用できても、同じシステムになるわけではない

ストレージ技術は境界を定義しません。エージェントメモリとRAGはどちらも、埋め込み、ベクトルストア、再ランキング、メタデータフィルター、ハイブリッド検索を利用できるためです。メモリレコードは、後続のリクエストで意味的に関連する設定を想起できるように埋め込まれる場合があります。一方、ドキュメントチャンクは、現在のクエリで関連する根拠情報を見つけられるように埋め込まれる場合があります。

保存されたメモリのセマンティック検索は、検索がメモリ実装の一部になり得ることを示しています。したがって、同じ最近傍探索の仕組みを、ライフサイクルと権限のルールがまったく異なる2つのレコードの基盤として使用できます。

分類では、レコードがなぜ作成されたのか、誰が変更できるのか、どのくらいの期間保持すべきか、そしてどのような種類の主張を裏付けることが許可されているのかを問うべきです。ユーザー設定とマニュアルの段落は近接したベクトルに位置していても、異なる信頼領域と保持領域に属する可能性があります。

このことは、単一の汎用的な類似度しきい値だけでは不十分な理由も説明しています。メモリは非常に関連性が高くても、別の家族に誤って適用される可能性があります。一方、ドキュメントの抜粋は非常に関連性が高くても、より新しい改訂版によって置き換えられている可能性があります。

真実の源が異なるため、障害の発生パターンも異なる

メモリの障害は通常、保存すべきでない状態が保存された、誤ったユーザーやスコープに紐付けて保存された、推測が過度に行われた、または状況が変化した後も修正されなかったことから始まります。その結果、誤った情報に継続性が適用されます。つまり、メモリが状態を引き継ぐという役割を果たしているからこそ、エラーが残り続けるのです。

RAGの障害は、取り込みと検索で発生することが多くなります。ファイルがそもそもインデックス化されていない場合や、OCRによって表が壊れる場合、チャンク分割によって修飾対象の文から限定条件が切り離される場合、メタデータによって誤った改訂版が選択される場合、あるいは検索によって実際に質問へ答える根拠よりも、近くにある別の文章が上位に表示される場合があります。

したがって、必要な是正措置は異なります。不適切なメモリには、更新、削除、適用範囲の見直し、または再度保存されないようにする対応が必要になる場合があります。一方、不適切なRAGの回答には、抽出処理の修正、コーパスの再インデックス、検索ロジックの変更、またはより権威のあるソースの選択が必要になることがあります。

確信度も分けて扱うべきです。どちらのレイヤーでも、関連性が権威性を証明するわけではありません。呼び出されたメモリは意味的には完全に一致していても誤っている可能性があり、取得された文章も質問に非常に近く見えながら、古い状態を説明していることがあります。

ローカルアシスタントは、2つのレイヤーがそれぞれの権威性を分けて保持すると最も効果を発揮する

便利なホームアシスタントは、両方のレイヤーを1つの区別のない情報プールに統合せずに組み合わせられます。メモリは、好みの単位、繰り返し行うワークフロー、確認済みの家庭内の選択など、安定したインタラクション上の制約を提供し、RAGは現在のタスクに関係するファイルやデータベースから根拠を提供します。

たとえば、メディアサーバーの設定依頼では、メモリを使って低ノイズやローカル限定アカウントといった家庭内の好みを維持し、そのうえでセマンティック検索を使い、現在のアプリケーション要件やセットアップの注意事項を取得できます。これにより回答をパーソナライズしつつ、記憶された好みで技術的なソースの根拠を置き換えることを防げます。

両者が食い違った場合、システムに必要なのは別の類似度スコアではなく、権威性のルールです。明示された現在のユーザー指示は記憶された好みより優先され、現在のソースの改訂版は置き換えられたRAGの文章より優先され、変化するデバイス状態についての質問では、リアルタイムのツール結果がメモリとドキュメントの両方に優先します。

したがって、クリーンアーキテクチャとはメモリ対RAGではありません。再利用可能なインタラクション状態はメモリに保持し、外部の根拠はRAGで取得し、両方の出所情報を保持したうえで、主張の種類ごとにどのレイヤーを信頼するかを明示的に決める、制御された組み合わせです。

テック&AIハブ

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.