20 エージェント・メモリー

エージェント・メモリーは、エージェントがターン、タスクまたはセッション間で情報を保持および再利用できるようにするAIエージェント・システムの一部です。

一時的で現在のプロンプトに限定されるモデルのコンテキスト・ウィンドウとは異なり、メモリーは、ファクト、プリファレンス、事前の決定、ツール出力、中間計画または環境に関する観察を保持できます。

Oracle AI Data Platformのエージェント・メモリー

AIデータ・プラットフォームは、セッションの期間に制限された短期メモリーを提供します。メモリーに保持できる内容は、エージェントの「コンテキスト」タブで構成できます。

単一エージェントのメモリー構成

単一のエージェント・システムのメモリー構成は、エージェント・ノードの「コンテキスト」タブにあります。


ビジュアル・ビルダー・キャンバスは、単一のエージェント・ノードInvoiceAnalystとともに表示されます。ノードが選択され、「コンテキスト」タブが強調表示されます。

メモリー構成 説明
エージェント・メモリーの有効化 この設定により、エージェント・メモリーが有効になります。無効にすると、エージェントは基本的にステートレス・システムになります。各ターンが独立して扱われ、フォローアップの質問はできません。メモリーを有効にすることをお薦めします。
会話履歴の制限 この選択を無効にすると、モデルがコンテキストを使い果たしてエラーが返されるまで、前のターンでメモリーがいっぱいになります。短いセッションが予想される場合は、この設定を無効にしてもかまいません。ただし、ほとんどのユース・ケースでは、Oracleは会話履歴を制限することをお薦めします。
切捨て構成 会話履歴を制限する場合は、次の方法で履歴を切り捨てることができます。
  • 最後のNメッセージのみ保持(ユーザー+エージェント)
  • トークン予算全体の設定(先入れ先出し)
  • または両方とも、どちらが先に来ても、エージェント・メモリーの切捨てがトリガーされます。
最大メッセージ制限 最後のNメッセージを保持することを選択した場合は、値Nを設定できます。
トークン予算 または、トークン予算全体を設定できます。最初のトークンは、最新のトークンをメモリー内に保持するために削除されます。

マルチエージェント・システム・メモリー構成(スーパーバイザ・パターン)

マルチエージェント・システムのメモリーは、スーパーバイザ・エージェントの「コンテキスト」タブで構成されます。


ビジュアル・ビルダーのキャンバスにマルチエージェントが表示されました。AccountsManagerノードが選択され、「メモリー」タブが表示されます。

マルチエージェントシステムのメモリーが強制され、無効にすることはできません。スーパーバイザエージェントノードに表示されるメモリーの切り捨てオプションは、スーパーバイザエージェントのメモリーにのみ適用されます。各エグゼキュータ・エージェントのメモリー切捨てポリシーは、システム全体に対して選択された状態分離ポリシーに基づいて、エグゼキュータ・ノードの「コンテキスト」タブで構成できます。

マルチエージェント・システム・メモリー構成では、エグゼキュータ・エージェントのメモリー共有ポリシーを選択することもできます。ステートレス、プライベートおよび共有の3つのオプションを使用できます。ポリシーはすべてのエグゼキュータ・エージェントに適用されます。

エグゼキュータ・エージェントの状態分離 説明
ステートレス 各エグゼキュータ・エージェントには、スーパーバイザによって割り当てられたタスクのみが表示されます。コール間で履歴が繰り越されることはありません。エグゼキュータエージェントがスーパーバイザエージェントに対してフォローアップ要求を行うことはできません。

ステートレスを選択すると、各エグゼキュータ・エージェントのメモリーが無効になります。

プライベート 各エグゼキュータ・エージェントは、独自の過去の相互作用のみを参照します。他のエグゼキュータ・エージェントまたはスーパーバイザ・エージェントとの元のユーザー会話を表示できません。

privateが選択されている場合は、各エージェント・ノードの「コンテキスト」「メモリー」タブで、エグゼキュータ・エージェントごとにメモリー切捨てポリシーを個別に構成できます。

共有 エグゼキュータ・エージェントは、エージェントおよびユーザー全体の会話履歴全体を表示できます。すべてのエージェントは、1つの共有コンテキストから機能します。

共有が選択されている場合は、各エージェント・ノードの「コンテキスト」タブで、エグゼキュータ・エージェントごとにメモリー切捨てポリシーを個別に構成できます。

エージェントに格納されたメモリー

エージェントがデプロイされ、より多くのユーザーにサービスを提供するにつれ、エージェントのセッション・データの格納に使用されるデータベース容量を監視することが重要になります。「ストアド・メモリー」タブから、エージェントの格納済メモリー設定を表示および変更できます。「編集」をクリックすると、メモリーおよびセッション保持の長期設定を変更できます。


エージェント・ページが開き、「ストアド・メモリー」タブが選択されて強調表示されています。

設定 説明
接続ステータス すべてのセッション・データが格納されるOracle Autonomous AI Lakehouseへの接続ステータス。
使用済ADB容量 このエージェントのすべてのセッションで使用されたデータベース容量の合計。
セッション このエージェントの合計セッション数。テスト(プレイグラウンド)セッションとデプロイメント・セッションの両方が含まれます。
AIコンピューティング エージェントをホストするAIコンピュートの名前。エージェントがデプロイされている場合、これはデプロイメントをホストするAIコンピュートです。それ以外の場合は、PlaygroundをホストするAIコンピュートです。

長期記憶

ユーザーが複数のセッションを介して同じエージェントと対話するようにエージェントを構成します。ユーザーはプリファレンスなどの重要な情報を共有でき、エージェントは使用されるツールなど、複数のセッションで採用される一般的なパターンからも学習できます。複数のセッションにわたって抽出されたメモリーにアクセスする機能は、長期メモリーを介して有効になります。

長期メモリーは、エージェントの「ストアド・メモリー」タブから構成できます。

セッション・データの保持

Oracle AI Data Platformのセッション・データは、セッション中にエージェントとユーザー間で交換されるすべてのメッセージを参照します。

ノート:

Oracleでは、監査、法的検出および訴訟をサポートするために、ユーザーとエージェント間で交換されたすべてのメッセージの完全な記録を保持するために、Oracle Autonomous AI Lakehouseデータベースに格納されたセッション・データのコールド・ストレージ・コピーを作成することを強くお薦めします。

セッションは、数時間、数日、さらには数週間続く可能性があり、セッション・データによって交換および保持される大量のメッセージが発生します。すべてのAIデータ・プラットフォーム・セッション・データは、AI機能を有効にするためにインスタンスにプロビジョニングされたAutonomous AI Lakehouseに格納されます。詳細は、AI機能管理を参照してください。

デフォルトでは、AIデータ・プラットフォームは、プロビジョニングされたAutonomous AI Lakehouseの各セッションについて格納されるセッション・データの量を制限しません。その結果、エージェントが複数のセッションで多数のユーザーに対して定期的に使用されるシナリオでは、セッション・データが急速に増加する可能性があります。これを管理するために、Oracleでは、保持されるセッション・データの量に制限を構成することをお薦めします。

エージェントを最初に作成するときに、そのセッション保持設定を構成できます。エージェントの作成を参照してください。エージェントがすでに作成されており、そのセッション保持設定を再構成する場合は、「セッション・メモリー」タブから再構成できます。

設定 説明
セッション保持 「保存ポリシーの適用」を有効にして、指定された制限に達したときにセッション・データをいつどのように削除するかを構成します。
保持限度 セッション・データ制限を管理する方法を選択します。
  • 「保存期間」は、セッション・データが保持される期間(日数)を定義します。セッション・データが有効期限に達すると、Autonomous AI Lakehouseから削除されます。
  • セッション・サイズ制限は、保持されるセッション・データの容量の上限をMB単位で定義します。この上限に達すると、最も古いデータが最初に削除されます。
  • スレッド数制限は、セッション・データに保持されるスレッド数の上限(ユーザー・メッセージとエージェント・レスポンスの組合せ)を定義します。上限に達すると、最も古いスレッドが最初に削除されます。

自動要約

自動要約は、セッション保持とは関係なく有効にできます。自動要約は、モデルの「コンテキスト」ウィンドウに注入された会話データに適用されます。このオプションは、選択したモデルのコンテキスト長の80%を超える古いメッセージを要約します。

これは、長いセッションでエージェントのコンテキスト・ウィンドウをオーバーテイクしないようにしながら、データベース内の長いセッションからデータを永続化する場合に有効にする適切なオプションです。

ノート:

サマリーはLLMによって生成され、古いソース・メッセージが削除される前に重要なコンテキストが保持されます。正確な文言、中間ステップ、または優先順位の低い詳細が保持されない場合があります。

エージェントの長期メモリーの有効化

複数のセッションで同じエージェントと対話できるように、エージェントの長期メモリーを有効にできます。

  1. エージェントにナビゲートします。
  2. 「ストアド・メモリー」タブをクリックします。
  3. 「Enable long term memory」を選択します。
  4. エージェントの長期メモリーをサポートするために使用するモデルおよびリージョンを選択します。
  5. オプション: エージェント・メモリーをセッション間で共有できます。無効にすると、エージェントは、同じセッション内で抽出されたメモリーのみに制限されます。このオプションを有効にすると、エージェントは、同じユーザーによって開始されたすべてのセッションにわたって抽出されたメモリーにアクセスできます。

エージェント・セッション・データ保持設定の表示

「ストアド・メモリー」タブで、エージェントのセッション・データ保持設定の現在の構成を表示できます。

  1. エージェントにナビゲートします。
  2. 「ストアド・メモリー」タブをクリックします。

エージェント・セッション・データ保持設定の変更

エージェントのセッション・データ保持設定を有効化、無効化および変更できます。

  1. エージェントにナビゲートします。
  2. 「ストアド・メモリー」タブをクリックします。
  3. 「Edit」をクリックします。
  4. 「保存ポリシーの適用」を選択して、それを有効または選択解除して無効にします。
  5. 保存制限を構成します:
    • 保持期間には、セッション・データがOracle Autonomous AI Lakehouseから削除されるまでに保持される日数を指定します。
    • 「セッション・サイズ制限」には、保持されるセッション・データの最大記憶域制限をMB単位で指定します。この上限に達すると、最も古いセッション・メッセージが削除されます。
    • 「スレッド数制限」には、保持されるスレッド数(ユーザー・メッセージとエージェント・レスポンスの組合せ)に制限を指定します。この上限に達すると、最も古いセッション・スレッドが削除されます。
  6. 重要なセッション情報のサマリーを保持するには、「自動集計」を選択します。
  7. 「変更の保存」をクリックします。