HUOXIU

ベクトルデータベースは本当にすべての AI エージェントのメモリニーズを満たすことができるのでしょうか?

編集者注: AIエージェントが長期タスクを実行する場合、その「メモリ」を効果的に管理・保存するにはどうすればよいでしょうか?ベクターデータベースは本当にすべてのAIエージェントのメモリニーズを満たすことができるのでしょうか?

本日ご紹介する記事では、現在主流のベクトル データベースは対話メモリを効果的に処理できるものの、長期にわたるタスク実行中のエージェント AI システムの多様なメモリ ニーズを完全に満たすことはできないと著者は指摘しています。

本稿ではまず、エージェントAIシステムの基本概念を紹介し、マーケティング事例を用いてタスク分解と実行能力を解説します。次に、AIメモリ管理におけるベクトルデータベースの応用と限界について、特にデータ品質の問題に焦点を当てて考察します。人間の記憶メカニズムに着想を得て、著者らはメモリルーター、短期記憶モジュール、長期記憶モジュールで構成される革新的なエージェントメモリアーキテクチャ設計を提案します。このアーキテクチャは、意味記憶だけでなく、ナレッジグラフによる文脈記憶や有限ステートマシンによるプログラムメモリの保存も可能であり、AIエージェントのメモリニーズをより包括的に満たします。

著者 | デブマルヤ・ビスワス

編纂者:岳陽

画像: エージェント型 AI メモリ管理 (著者提供)

01 エージェント型AIシステム入門

AIエージェントは今、ホットな話題です。私も以前に記事を書いたことがありますし、他の人たちも盛んに議論しています。しかし、エージェントAIシステムの具体的な定義については、かなりの議論があります。生成AI(Gen AI)や大規模言語モデル(LLM)エージェントと具体的にどう違うのでしょうか?

このセクションでは、特定のマーケティング事例を実装する際の Agentic AI システムの機能要件と非機能要件を分析することで、議論を明確にすることを目的としています。詳細については、図 1 を参照してください。

図1:マーケティング事例におけるエージェントAIの応用(著者提供画像)

ユーザータスクに直面した際、エージェントプラットフォームの目標は、そのタスクを実行できるエージェント(またはエージェントのクラスター)を特定することです。まず、タスクをサブタスクに分割できるオーケストレーション層が必要です。オーケストレーションエンジンは、各エージェントの実行を調整します。

現在、タスク分解の処理にはLLMに依存しており、この点はGen AIと重複しています。残念ながら、これは現在のAgentic AIの推論能力が大規模言語モデル(LLM)によって制限されていることを意味します。

たとえば、GPT4 は図 1 の次のプロンプトの詳細な内訳を示しています。「1 か月以内に 100 万ドルの売上を達成することを目標に、カスタマイズされた電子メール マーケティング プランを作成してください。関連する製品とパフォーマンスのデータは [url] で確認できます。顧客名、電子メール アドレス、人口統計の詳細を取得するには、CRM システム [integration] と統合してください。」

手順は、(製品を分析) — (ターゲット ユーザーを特定する) — (カスタマイズされた電子メール マーケティング キャンペーンを作成する) です。

次に、システムは実行プロセスと環境を監視し、自律的に調整を行います。このケースでは、エージェントは売上目標を達成できないことを認識し、(代替商品の探索)—(顧客データの活用)—(A/Bテストの実施)というタスクを自律的に追加しました。

ほとんどのアプリケーションシナリオにおいて、企業システム(この例ではCRMシステムなど)との統合は不可欠であることは言うまでもありません。例えば、Anthropicが最近提案したModel Context Protocol(MCP)[1]は、AIエージェントと企業データを保存する外部システムを接続することを目的としています。

これらのタスクは長時間実行されるため、メモリ管理はエージェント型AIシステムにとって特に重要です。最初のメールマーケティングキャンペーンが開始されると、エージェントは1か月間キャンペーンを監視する必要があります。

これには、タスク間でコンテキストを共有し、長期間にわたって実行コンテキストの継続性を維持することが含まれます。

現在のアプローチでは、ベクトルデータベース(Vector DB)を使用してエージェントの記憶を外部に保存し、必要に応じてデータ項目にアクセスできるようにします。次に、以下の詳細を検討します。

  • ベクターデータベースを使用してAIエージェントのメモリを管理する方法
  • そして、それに伴うデータ品質の問題。

ベクトル データベースはセッション メモリ (質問と回答のペアなど) の処理には十分ですが、学術タスクの次の追加タイプのメモリの管理には不十分であることがわかりました。

  • 意味記憶(一般知識)
  • エピソード記憶(個人的な経験)
  • 手続き記憶(スキルとタスクプロセス)

したがって、メモリストレージを効果的に管理するには、他の形式 (知識グラフ、有限状態マシンなど) を採用する必要性を強調します。

02. セッションメモリ管理にベクターデータベースを使用する

ベクターデータベースはベクターデータの保存に特化して設計されており、ベクター間の類似性に基づいてクエリを処理できます。これらのデータベースは現在、対話エージェントに必要なデータ(メモリ)の保存と取得のための中核ツールとなっています。図2は、ベクターデータベースが対話エージェントのエンコードとメモリ管理にどのように使用されるかを示しています。

図2: LLMのベクトルデータベースベースのエンコード技術(画像は著者提供)

このプロセスでは、メインプロセスとは独立して動作し、さまざまな種類の生データ(テキスト、音声、動画など)をオフラインでベクトルに変換するエンコーダモデルを選択します。エンコード空間では、類似した会話データは互いに近いベクトルにマッピングされます。

例えば、テキストはコンピュータで処理する前に数値ベクトルに変換する必要があります。この変換はトークナイザーによって行われます。トークンは、バイト、文字、文字の組み合わせ、単語、さらには完全な文などです。現在、最も一般的に使用されているトークン化方法は、隣接するバイトのペアをトークンとして使用するバイトペアエンコーディング(BPE)です。

適切な「トークン」を選択することは非常に重要です。これは、ニューラル ネットワークがキャプチャできるトークン間の関係を決定するだけでなく、ネットワークのトレーニングの計算の複雑さにも影響します。

これらのエンコードされたデータはベクトルデータベースに保存されます。推論フェーズでは、ベクトルの類似性に基づいて、同じエンコーダモデルを使用してこのデータを取得できます。対話中、対話エージェントはクエリ内容をエンコードし、ベクトルデータベースから関連情報を検索することで、長期記憶システムにアクセスします。その後、エージェントは取得した情報を用いて、以前に保存されたデータに基づいてユーザーのクエリに回答します。

2.1 ベクターデータベースにおけるデータ品質の問題

AIにおけるデータ品質の重要性は広く認識されているものの、現在、企業のデータ品質への注力は主に構造化データやSQLデータの処理にとどまっています。テキスト、画像、音声、動画といった非構造化データは、エンタープライズ生成AI(Gen AI)のユースケースに関連するデータの約80%を占めていますが、見落とされがちです。このセクションでは、以下の点について考察します。

特に Retrieval Enhancement Generation (RAG) のアプリケーション シナリオにおいて、非構造化データをベクター データベースに保存する場合のデータ品質の標準は何ですか。

微調整技術と組み合わせることで、RAG は、事前トレーニング済みの大規模言語モデル (LLM) をエンタープライズ データと組み合わせてコンテキストの関連性を高め、同時にプロセスにおける錯覚を減らすための重要な手段の 1 つになりました (図 3 の Gen AI ライフサイクル ステージを参照)。

図3: Gen AIライフサイクルの段階(著者提供画像)

ユーザー クエリが発生した場合、RAG プロセスには次の 3 つのステップが含まれます (図 4 を参照)。

  • 検索: ユーザークエリをベクトルのような埋め込みに変換し、他のコンテンツとの類似度スコアを計算します。
  • 機能強化: ベクター ストアから取得した最新の検索結果/コンテキストを使用して情報を補足します。
  • 生成: 取得した情報の断片をプロンプト単語テンプレートに統合することで、LLM に追加のコンテキストが提供され、クエリに対するコンテキスト応答が生成されます。

まず、現在の構造化データ/SQL データの世界で一般的なデータ品質の側面を見てみましょう。

  • 正確性: データは現実をどの程度正確に反映しているか?
  • 完全性: データに欠損値または null 値が含まれていますか?
  • 一貫性: 異なる場所に保存された場合でも、情報の一貫性は保たれますか?
  • 適時性: データのタイムスタンプはその鮮度を反映します。

次に、これらを非構造化データ/ベクトル データベースの領域に適用します。詳細については、下の図 4 を参照してください。

図4: RAGにおけるデータ品質の問題(ベクターデータベース)(画像は著者提供)

ベクターデータベースの分野において、コレクションはSQLデータベースのテーブルに相当します。各コレクション項目には通常、一意の識別子(ID)、ベクター(浮動小数点数の配列として保存された実際のデータ)、メタデータ(タイムスタンプなど)が含まれます。

正確性:これはベクトルストレージ内のデータの精度を指します。AIが誤った情報に基づいてニュースを書いたとしたら、価値のあるコンテンツではなく、偽のニュースを生み出す可能性があります。私たちはこれを以下の2つの指標で測定します。

  • 正確性: LLM 応答に関連する事実の正確性。
  • 基礎: LLM 応答と基礎となる知識ベース (KB) との関係が含まれます。

研究によると、たとえモデル応答が正しいとしても、適切な証拠が不足している可能性があることが判明しています[2]。

不正確で一貫性のないベクトル:埋め込みプロセスの問題により、一部のベクトルが破損、不完全、または誤った次元で生成される場合があり、AI出力が混乱したり、支離滅裂になったりする可能性があります。例えば、AIが音質に一貫性のない録音に基づいて音声を生成すると、結果が支離滅裂になる可能性があります。テキスト生成では、データ内の文法やスタイルの不一致により、堅苦しい、または支離滅裂なコンテンツが生成される可能性があります。

欠損データは、ベクトルやメタデータの欠損という形で現れることがあります。例えば、生成AIが不完全なデータセットからビジュアルデザインを生成する場合、要素が欠落したデザインが生成される可能性があります。

適時性:RAGパイプラインのプロンプトのコンテキストベクトルを提供するデータベース内のドキュメントが古い場合、生成AIシステムは関連性のない出力を生成する可能性があります。例えば、生成AIが有効になっているチャットボットが、古い政策文書に基づいて質問に答えると、不正確で誤解を招くような回答を返す可能性があります。

03 エージェント記憶

上記の方法は、対話を質問と回答のペアとして効果的に保存し、検索を可能にする一方で、人間の行動を複製または改善するために不可欠な、エージェント AI システムに必要な他の種類のメモリ、特に次の 4 つを満たすには不十分です。

  • 意味記憶– 事実、概念、意味などの一般的な知識を保存します。
  • エピソード記憶– 特定の過去の出来事や状況に関連する個人的な経験の記録。
  • 手続き記憶– 車の運転などの運動技能と、タスクを完了するための対応する手順を保存します。
  • 感情的記憶– 個人の人生経験に関連する感情的体験の保存。

3.1 人間の記憶を理解する

このセクションでは、まず、図 5 に示すように、人間の脳が短期記憶と長期記憶をどのように処理するかについて説明します。

図5:人間の脳における記憶管理(著者提供画像)

記憶の形成は感覚系から始まります。外界からの情報はまず感覚記憶に入ります。この初期段階では、感覚情報は生の形で保存されますが、その持続時間は非常に短く、通常は数百ミリ秒しかありません。

その後、私たちが認識した情報は短期記憶(STM)に移されます。STMの容量は限られており、約20~30秒間、約7チャンクの情報しか保存できません。STMは、思考、問題解決、意思決定といった意識的な精神活動が行われる場所です。

情報を短期記憶から長期記憶 (LTM) に転送するには、エンコード プロセスを経て、より永続的で意味のある表現に変換する必要があります。

エンコーディングは、さまざまなメカニズム(繰り返し、微調整、既存の知識との関連付けの確立など)を通じて実現されます。

エンコードに成功すると、情報は長期記憶に入ります。長期記憶は非常に大きな容量を誇り、何時間、あるいは一生にわたって情報を保存することができます。

記憶想起システムは文脈情報との連想に依存しています。外的および内的想起の手がかりは、記憶が符号化された文脈を再構築することで、特定の記憶を想起するのに役立ちます。

  • 想起とは、外部からの手がかりがない場合に情報を積極的に再構築するプロセスを指します。
  • 認識とは、複数の選択肢の中から以前に遭遇した情報を識別することを指します。
  • さらに、プライミング、記憶術、チャンキング、リハーサルなどの記憶検索戦略によって、記憶検索の効率を大幅に向上させることができます。

3.2 エージェント記憶へのマッピング

人間の脳に関する理解と AI エージェント/アプリケーションの要件に基づいて、図 6 に示すように、次のメモリ タイプを考慮する必要があります。

  • セマンティック ナレッジ: 外部ソース (Wikipedia など) および内部システム (SharePoint、Confluence、ドキュメント、メッセージング プラットフォームなど) からの情報。
  • エピソード記憶:過去の特定の出来事や状況に関する記憶。この内容はAIエージェントの動作中に獲得されます。
  • 手続き記憶:人間が水泳や運転などの運動技能を記憶するのと似ています。AIエージェントが特定のタスクを実行する方法を記述したワークフローと手順を網羅しています。
  • 感情記憶:個人の経験に関連する感情を記録します。ユーザーとの関係性、好み、反応、関連データなどを含み、AIをユーザーとのインタラクションにおいてより人間らしくし、プロセス全体を通して一貫性を維持します。

意味記憶は、事前トレーニングと埋め込みを通じて LLM で現在実現可能な唯一の種類の記憶である可能性があり、他の種類の記憶はまだ開発中です。

次のセクションでは、図 6 に示すように、Agentic AI システム用の包括的なメモリ管理モジュールを実装する方法を説明します。

図6: エージェントAIメモリ管理(著者提供画像)

デフォルトでは、メモリルーターは常にリクエストを長期記憶(LTM)モジュールにルーティングし、特定のユーザープロンプトワードに応答する既存のパターンが存在するかどうかを確認します。存在する場合、メモリルーターはそれを取得して即座に応答し、必要に応じて応答をパーソナライズします。

LTM に障害が発生した場合、メモリ ルーターはそれを短期メモリ (STM) モジュールにルーティングします。STM モジュールは取得手順 (関数呼び出し、API など) を使用して関連するコンテキストを STM (作業メモリ) に取得し、適用可能なデータ サービスを最大限に活用します。

STM-LTM変換モジュールは常にアクティブであり、取得したコンテキストを継続的に取得し、「レシピ」(例えば、ティーチングエージェントやAutoGenにおける「レシピ」の概念を参照する)を抽出し、セマンティック層(ベクターデータベースを介して実装)に保存します。同時に、その他の関連属性(例えば、トークン数、モデル応答の生成コスト、システム状態、実行されたタスク/生成された応答)を収集し、エピソードを作成して知識グラフに保存します。知識グラフでは、基礎となるプロセスが有限状態機械(FSM)に保存されます。

04 結論

結論として、メモリ管理は長時間実行されるAIエージェントの広範な応用にとって極めて重要です。ベクトルデータベースは会話型エージェントの処理においては優れた性能を発揮しますが、複雑なエージェント型AIタスク、特にエピソード記憶と手続き記憶といった多様なメモリ要件を満たすには不十分であることがわかりました。

本論文では、メモリルータが短期記憶(STM)モジュールと長期記憶(LTM)モジュール間のリクエストスケジューリングを処理する、エージェントメモリアーキテクチャの予備設計を提案する。本論文の主な貢献は、エピソード記憶を知識グラフに、プログラムメモリを有限状態機械(FSM)に抽象化して保存する、STMからLTMへのコンバータモジュールである。現在、エージェントAIシステムにおける長期記憶(LTM)の保存および検索メカニズムの最適化(他のアプローチの検討を含む)に積極的に取り組んでいる。

読んでくれてありがとう!

このブログを楽しんで、新しいことを学んでいただければ幸いです。

著者について

デブマリア・ビスワス

AI/ML、プライバシー、オープンソース | x-Nokia、SAP、Oracle | 50件以上の特許 https://www.linkedin.com/in/debmalya-biswas-3975261/

終わり

今週のインタラクティブコンテンツ🍻

❓著者は人間の脳の記憶メカニズムからインスピレーションを得て、AIの記憶アーキテクチャを設計しました。人間の記憶システムの他に、AIシステムにとって学ぶ価値がある特性は何だと思いますか?

🔗記事内のリンク🔗

[1]https://www.anthropic.com/news/model-context-protocol

[2]https://dho.stanford.edu/wp-content/uploads/Legal_RAG_Hallucinations.pdf

オリジナルリンク:

https://ai.gopubby.com/long-term-memory-for-agentic-ai-systems-4ae9b37c6c0f