🟡 🤝 エージェント 公開日: · 3 分で読めます ·

AWSがBedrock、Neptune、Mem0を通じた企業全体のAIエージェントメモリアーキテクチャを公開

エディトリアルイラスト:AIエージェント——agenti

AWSは、Amazon Bedrock、NeptuneグラフDBおよびMem0フレームワークを組み合わせて、企業全体のAIエージェントに永続的なメモリを提供するアーキテクチャを公開しました。これはセッション間およびユーザー間でのコンテキスト損失という問題を解決するものです。

🤖

この記事はAIにより一次情報源から生成されました。

エージェントの根本的な問題

現在のAIエージェントには共通の欠点があります。インタラクション間でコンテキストを失うことです。セッション終了後、エージェントはユーザーが言ったこと、担当するプロジェクト、すでに下された決定を忘れてしまいます。エンタープライズ環境では、これは常にコンテキストを繰り返す必要があるため受け入れられません。

AWSは、3つのコンポーネントを組み合わせてこの問題を解決するリファレンスアーキテクチャを公開しました。Amazon Bedrockが基盤となる言語モデル(Claude、Llama、Titan)を提供し、Amazon Neptuneが長期メモリのグラフDBとして機能し、Mem0フレームワークがメモリのライフサイクル——何を覚えるか、いつ取得するか、いつ忘れるか——を管理します。

なぜベクターDBではなくグラフDBなのか

AIメモリの既存ソリューションのほとんどは、テキストの埋め込みを保存するベクターDB(Pinecone、Weaviate)を使用しています。このアプローチはセマンティック検索——「類似した会話を見つける」——には適していますが、構造化された関係には不向きです。

Amazon Neptuneは異なるアプローチをもたらします。エンティティ(従業員、プロジェクト、ドキュメント、クライアント)がノードとして保存され、それらの間の関係がエッジとして保存されます。エージェントは「Anaが率いるAlfaプロジェクトに関連するドキュメントは何か」と問い合わせて、ハルシネーションなしで正確な回答を得られます。これは信頼性が求められるエンタープライズにとって重要です。

Mem0フレームワークの役割

Mem0は、エージェントがメモリを管理する方法を標準化するオープンソースフレームワークです。新しい事実の書き込み、コンテキストで関連情報を取得、古いデータを消去という3つの基本操作のためのAPIを提供します。Mem0なしでは、各チームがそのようなロジックを自分で書かなければなりません。

AWSのアーキテクチャは、Mem0がBedrockモデルとNeptuneデータベースと連携する方法を示しています。エージェントがクエリを受け取ると、Mem0はまずNeptuneグラフから関連するメモリを取得し、それをBedrockモデルのプロンプトに挿入します。レスポンス後、新しい事実が新しいノードとエッジとしてNeptuneに書き戻されます。

人間によるループ検証

アーキテクチャの重要な要素は人間によるループ検証です。エージェントが学習したすべてのことを自動的に保存するのではなく、重要な事実が永続的なメモリの一部になる前に人間がレビューし承認します。これにより、悪いまたは誤った情報によるメモリの汚染を防ぎます。

このアプローチは、監査可能性が義務付けられている金融や医療などの規制された業界で特に有用です。メモリ内のすべての事実には、誰がいつ検証したかに関するメタデータがあり、後の監査を容易にします。

よくある質問

AIエージェントにはなぜ永続的なメモリが必要なのですか?
メモリがないと、エージェントはセッションが終了すると同時にコンテキストを忘れてしまいます。これは毎回ユーザーの好み、プロジェクト履歴、エンティティ間の関係を再学習する必要があることを意味します。永続的なメモリにより、エージェントは先週何をしたか、どの従業員がどのプロジェクトを担当しているか、どの決定がすでに下されたかを覚えていられます。
このアーキテクチャにおけるAmazon Neptuneの役割は何ですか?
Neptuneは、関連するエンティティに関する複雑なクエリを可能にするグラフDBです。たとえば、エージェントは「Ivanが率いていたプロジェクトに取り組んでいた従業員は誰か」と問い合わせることができます——このようなクエリはリレーショナルDBでは複数のJOIN操作を必要としますが、グラフでは自然で高速です。グラフ構造は人間の関係の記憶の仕方に対応しています。
Mem0フレームワークの役割は何ですか?
Mem0はAIエージェントのメモリ管理に特化したオープンソースフレームワークです。新しい事実の書き込み、コンテキストでの関連情報の取得、古いデータの消去という操作を抽象化し、開発者が各種メモリに対してロジックを手書きする必要をなくします。長期保存のためにNeptuneと、レスポンス生成のためにBedrockと組み合わせて使用します。