著者 | デブマルヤ・ビスワス 編纂者:岳陽 画像: エージェント型 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)を使用してエージェントの記憶を外部に保存し、必要に応じてデータ項目にアクセスできるようにします。次に、以下の詳細を検討します。
ベクトル データベースはセッション メモリ (質問と回答のペアなど) の処理には十分ですが、学術タスクの次の追加タイプのメモリの管理には不十分であることがわかりました。
したがって、メモリストレージを効果的に管理するには、他の形式 (知識グラフ、有限状態マシンなど) を採用する必要性を強調します。 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 を参照)。
まず、現在の構造化データ/SQL データの世界で一般的なデータ品質の側面を見てみましょう。
次に、これらを非構造化データ/ベクトル データベースの領域に適用します。詳細については、下の図 4 を参照してください。 図4: RAGにおけるデータ品質の問題(ベクターデータベース)(画像は著者提供) ベクターデータベースの分野において、コレクションはSQLデータベースのテーブルに相当します。各コレクション項目には通常、一意の識別子(ID)、ベクター(浮動小数点数の配列として保存された実際のデータ)、メタデータ(タイムスタンプなど)が含まれます。 正確性:これはベクトルストレージ内のデータの精度を指します。AIが誤った情報に基づいてニュースを書いたとしたら、価値のあるコンテンツではなく、偽のニュースを生み出す可能性があります。私たちはこれを以下の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 に示すように、次のメモリ タイプを考慮する必要があります。
意味記憶は、事前トレーニングと埋め込みを通じて 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 |
01 エージェント型AIシステム入門02. セッションメモリ管理にベクターデータベースを使用する2.1 ベクターデータベースにおけるデータ品質の問題03 エージェント記憶3.1 人間の記憶を理解する3.2 エージェント記憶へのマッピング04 結論 |