Vertex AI Agent Engine Memory Bank の概要

Vertex AI Agent Engine Memory Bank を使用すると、ユーザーとエージェントの会話に基づいて長期記憶を動的に生成できます。長期記憶は、特定のユーザーの複数のセッションでアクセスできるパーソナライズされた情報です。エージェントはメモリーを使用して、ユーザーへの回答をパーソナライズし、セッション間の継続性を実現できます。

Memory Bank の機能は次のとおりです。

  • 複数の環境からアクセスできる思い出の永続ストレージ。Vertex AI Agent Engine セッションと Memory Bank は、Vertex AI Agent Engine ランタイムにデプロイされたエージェント、ローカル環境、または他のデプロイ オプションで使用できます。

  • 大規模言語モデル(LLM)ベースの会話履歴からの記憶の抽出。

  • メモリーは非同期でリモート生成されるため、エージェントはメモリーが生成されるのを待つ必要はありません。

  • 類似性検索に基づく、ID にスコープ設定されたメモの取得(scope)。

  • Agent Development Kit で Vertex AI Agent Engine Memory Bank を使用すると、エージェントは Memory Bank を使用して長期記憶の読み取りと書き込みを行う呼び出しをオーケストレートできます。

Vertex AI Agent Engine Memory Bank のコンセプトの概要

Memory Bank を Vertex AI Agent Engine Sessions とともに使用して、次のプロセスで保存されたセッションから記憶を生成できます。

  1. (セッション)CreateSession: 会話の開始時に新しいセッションを作成します。エージェントが使用する会話履歴は、このセッションに限定されます。セッションには、ユーザーとエージェント間のやり取りのメッセージとアクション(SessionEvents)の時系列順のシーケンスが含まれます。すべてのセッションにユーザー ID が必要です。このセッションで抽出されたメモリ(GenerateMemories を参照)はこのユーザーにマッピングされます。

  2. (セッション)AppendEvent: ユーザーがエージェントとやり取りすると、イベント(ユーザー メッセージ、エージェントのレスポンス、ツール アクションなど)がセッションにアップロードされます。イベントは会話履歴を保持し、思い出の生成に使用できる会話の記録を作成します。

  3. (セッション)ListEvents: ユーザーがエージェントとやり取りすると、エージェントは会話履歴を取得します。

  4. (メモリーバンク)思い出を生成または作成する:

    • GenerateMemories: 指定された間隔(セッションの終了時やターンの終了時など)で、エージェントは会話履歴を使用してメモリを生成するトリガーを起動できます。ユーザーに関する事実が会話履歴から自動的に抽出され、現在または将来のセッションで使用できるようになります。

    • CreateMemory: エージェントは Memory Bank に直接メモリを書き込むことができます。たとえば、エージェントはメモリを書き込むタイミングや保存する情報を決定できます(メモリをツールとして使用)。エージェントが抽出するファクトをより詳細に制御する場合は、CreateMemory を使用します。

  5. (Memory Bank)RetrieveMemories: ユーザーがエージェントとやり取りすると、エージェントはそのユーザーについて保存された記憶を取得できます。すべての記憶を取得することも(単純な取得)、現在の会話に最も関連性の高い記憶のみを取得することもできます(類似性検索による取得)。その後、取得した思い出をプロンプトに挿入できます。

クイックスタート

次のクイックスタートを使用して Memory Bank を使ってみましょう。

プロンプト インジェクションのセキュリティ リスク

Vertex AI の共有責任で説明されているセキュリティ上の責任に加えて、長期記憶を使用する際にエージェントに影響を与える可能性のあるプロンプト インジェクションとメモリ汚染のリスクを考慮してください。メモリ ポイズニングは、誤った情報がメモリバンクに保存されたときに発生します。エージェントは、今後のセッションでこの誤った情報や悪意のある情報に基づいて動作する可能性があります。

メモリ汚染のリスクを軽減するには、次の操作を行います。

  • Model Armor: Model Armor を使用して、Memory Bank に送信されるプロンプトやエージェントから送信されるプロンプトを検査します。

  • 敵対的テスト: 攻撃をシミュレートして、プロンプト インジェクションの脆弱性について LLM アプリケーションを事前にテストします。これは一般に「レッド チーム」と呼ばれます。

  • サンドボックス実行: エージェントが外部システムや重要なシステムを実行または操作できる場合、これらのアクションは厳格なアクセス制御と人間によるレビューが行われるサンドボックス環境で実行する必要があります。

詳細については、Google のセキュア AI エージェントに対するアプローチをご覧ください。

次のステップ