重要
Foundry Agent Service のメモリ (プレビュー) および Memory Store API (プレビュー) は、Azure サブスクリプションの一部としてお客様にライセンスされ、Microsoft 製品条項、Microsoft 製品およびサービス データ保護補遺、および Microsoft Azure プレビューの使用に関する補足条件における「プレビュー」に適用される条件に従うものとします。
最新のプレビューでは、次のような新機能と拡張機能が提供されます。
- 個々のメモリ レコードを作成、読み取り、更新、一覧表示、削除するためのメモリ項目操作。
- 新しく作成されたメモリ ストアの既定の TTL を含む、ストア レベルの既定の保持制御。
- 同期メモリの記憶/忘却コマンドの直接的な動作。
Microsoft Foundry Agent Service のメモリは、マネージドの長期メモリ ソリューションです。 これにより、セッション、デバイス、ワークフロー間でエージェントの継続性を実現できます。 メモリ ストアを作成および管理することで、ユーザー設定を保持し、会話履歴を維持し、パーソナライズされたエクスペリエンスを提供するエージェントを構築できます。
この記事では、概念、ユース ケース、制限事項など、エージェント メモリの概要について説明します。 使用方法については、「 Foundry Agent Service でのメモリの作成と使用」を参照してください。
メモリとは
メモリは、セッション間でエージェントによって保持される永続的な知識です。 一般に、エージェント メモリは次の 2 つのカテゴリに分類されます。
短期メモリは 、現在のセッションの会話を追跡し、継続的な対話のための即時コンテキストを維持します。 エージェント オーケストレーション フレームワークは、通常、セッション コンテキストの一部としてこのメモリを管理します。
長期的なメモリ は、セッション間で蒸留された知識を保持します。 モデルは、時間の経過に伴う以前のユーザー操作を思い出して構築できます。 長期的なメモリには、知識を抽出、統合、管理する永続的なシステムが必要です。
Foundry Agent Service のメモリは、長期的なメモリ用に設計されています。 会話から意味のある情報を抽出し、永続的な知識に統合し、セッション間で使用できるようにします。
メモリのしくみ
バックグラウンドでは、メモリは項目としてマネージド メモリ ストアに格納されます。 重複するユーザー プロファイル情報や重複するユーザー プロファイル情報をマージするなど、統合と競合解決のロジックが適用される場合があります。
メモ
統合の動作は、メモリの種類によって異なる場合があり、プレビュー中に変更される可能性があります。 最新の動作については、「 Foundry Agent Service でのメモリの作成と使用」を参照してください。
メモリは次のフェーズで動作します。
抽出: ユーザーがエージェントと対話すると、システムは、ユーザー設定、ファクト、関連コンテキストなどの重要な情報を会話からアクティブに抽出します。 たとえば、"酪農アレルギー" などの好みや最近のアクティビティの概要が特定され、保存されます。
統合: 抽出されたメモリは、メモリ ストアを効率的かつ関連性の高い状態に保つために統合されます。 エージェントが冗長な情報を格納しないように、システムは LLM を使用して類似または重複するトピックをマージします。 新しいアレルギーなどの矛盾する事実は、正確な記憶を維持するために解決されます。
検索: エージェントは、情報を呼び出す必要があるときに、メモリ ストアで最も関連性の高いメモリを検索します。 これにより、エージェントは適切なコンテキストをすばやく表示し、会話を自然で情報に基づいて感じることができます。 最適な結果を得るには、エージェントが応答をカスタマイズできるように、会話の早い段階で安定したユーザー プロファイル情報を取得します。
レシピエージェントと以前に食物アレルギーを表現したユーザーとの間の相互作用をメモリがどのように改善し、パーソナライズできるかの例を次に示します。
ヒント
メモリを使用するタイミングの決定に関するヘルプが必要ですか? 次のガイドラインを考慮してください。
- メモリを使用して、学習され、時間の経過と同時に対話によって保持されるユーザー固有またはエージェントのコンテキストをキャプチャします。
- Foundry IQ ナレッジ ベースを使用して、組織のキュレーションされたコンテンツをエージェントに適用します。
- 操作中にユーザーが指定したドキュメントを検索するには、 ファイル検索ツール を使用します。
メモリの種類
Foundry Agent Service のメモリは、次の 3 種類の長期メモリを抽出して格納します。
| メモリの種類 | 説明 | 取得に関するガイダンス | 設定 |
|---|---|---|---|
| ユーザー プロファイル メモリ | 永続的なユーザー設定と個人コンテキスト (言語設定、製品の既定値、アクセシビリティのニーズなど)。 | 各会話の先頭付近を取得して、安定したパーソナル化コンテキストを確立します。 | 既定で有効になっています。 構成と無効化については、「 メモリ ストアの作成」を参照してください。 |
| チャットの概要記憶 | 以前の会話トピックやスレッドの要約 | 現在の会話メッセージを使用してターンごとに取得し、関連する継続性コンテキストを表示します。 | 既定で有効になっています。 構成と無効化については、「 メモリ ストアの作成」を参照してください。 |
| 手続き型メモリ | 以前の操作から推測される再利用可能なハウツー ルーチンと操作パターン。 | エージェントが以前に処理した定期的なワークフローまたはタスクをユーザーが要求したときに取得します。 | 既定で有効になっています。 構成と無効化については、「 メモリ ストアの作成」を参照してください。 |
メモリ管理と保持期間
Foundry Agent Service のメモリでは、運用シナリオに対してきめ細かな管理と保持の制御がサポートされます。
- 項目レベルのメモリ CRUD: 個々のメモリ項目を作成、読み取り、更新、一覧表示、削除します。
- ストア レベルの既定の保持期間: ストアに作成されたメモリ エントリの既定の TTL (秒) を設定します。
- ダイレクト メモリ コマンド: ユーザーがメモリ変更を明示的に要求するときに、すぐに記憶または忘れる動作を適用します。
これらのコントロールを使用すると、パーソナル化の品質とプライバシー、コンプライアンス、データ ライフサイクルの要件のバランスを取ることができます。
メモリの操作
エージェントの操作にメモリを使用するには、次の 2 つの方法があります。
メモリ検索ツール: メッセージ交換中にメモリ ストアの読み取りと書き込みを有効にするために、メモリ検索ツールをプロンプト エージェントにアタッチします。 この方法は、メモリ管理を簡素化するため、ほとんどのシナリオに最適です。 詳細については、「 エージェント ツールを使用したメモリの使用」を参照してください。
メモリ ストア API: 低レベル API を使用してメモリ ストアと直接対話します。 この方法では、個々のメモリ レコードの直接制御、保持動作、明示的なメモリ ライフサイクル操作など、高度なユース ケースに対して、より制御と柔軟性が提供されます。 詳細については、「 API を使用したメモリの使用」を参照してください。
ユースケース例
次の例は、メモリがさまざまな種類のエージェントを強化する方法を示しています。
名前、以前の問題と解決策、チケット番号、お好みの連絡方法 (チャット、メール、またはコールバック) を記憶しているカスタマー サポート エージェント。 このメモリは、情報の繰り返しを回避するのに役立ちます。そのため、会話はより効率的で満足しています。
特定のブランド、優先色、過去の返品、最近の購入のサイズを記憶するパーソナル ショッピング アシスタント。 エージェントは、セッションを開始するとすぐに関連項目を提案し、既に所有している製品の推奨を回避できます。
セキュリティ リスク
Foundry Agent Service でメモリを操作すると、大規模言語モデル (LLM) によって会話に基づいてメモリが抽出され、統合されます。 プロンプト挿入やメモリ破損などの脅威からメモリを保護します。 これらのリスクは、不適切なデータや有害なデータがエージェントのメモリに格納され、エージェントの応答やアクションに影響を与える可能性がある場合に発生します。
セキュリティ リスクを軽減するには、次のアクションを検討してください。
Azure AI Content Safetyとそのプロンプト インジェクション検出機能を使用して、悪意のあるコンテンツを防ぐために、メモリシステムに出入りするすべてのプロンプトを検証します。
攻撃および敵対的テストを実施します。 制御下における敵対的演習を通して、エージェントのインジェクションの脆弱性に対して定期的にストレステストを行います。
制限事項とクォータ
Foundry Agent Service のメモリには、次の制限事項とクォータが適用されます。 より広範な制限とクォータについては、「 Foundry Agent Service の制限、クォータ、リージョンのサポート」を参照してください。
制限
メモリは現在、Azure OpenAI チャットおよび埋め込みモデルのデプロイメントに互換性が必要です。 サポートされているモデルの一覧については、Azure で販売される Foundry モデルを参照してください。
低レベルのメモリ API の場合は、各要求
scope明示的に設定する必要があります。 呼び出し元の ID からの自動スコープ解決は、scopeが{{$userId}}に設定されたメモリ検索ツールを使用する場合にのみサポートされます。 詳細については、「 スコープについて」を参照してください。仮想ネットワーク (VNet) 統合は、メモリ ストアではサポートされていません。
メモ
最新のプレビューでは、一部のメモリ ストアの既定のオプション (手続き型メモリの有効化や既定の TTL の設定など) は、ストアの作成時に構成されます。 お使いの API バージョンで作成後の更新がサポートされていることを確認してください。
クォータ
- メモリ ストアあたりの最大スコープ: 100
- スコープあたりの最大メモリ数: 10,000
- 検索メモリ: 1 分あたり 1,000 要求
- メモリの更新: 1 分あたり 1,000 要求
リージョンの可用性
メモリは、次のリージョンで使用できます。
- オーストラリア東部
- ブラジル南部
- カナダ東部
- 米国東部 2
- フランス中部
- イタリア北部
- 東日本
- 韓国中部
- 米国中北部
- ノルウェー東部
- 南アフリカ北部
- インド南部
- スウェーデン中部
- スイス北部
- アラブ首長国連邦北部
- 英国南部
- 米国西部
- 米国西部 2
- 米国西部 3
価格
メモリは現在パブリック プレビュー段階です。 メモリとメモリ ストア API の価格と課金は、プレビュー中に変更される可能性があります。
構成した基になるチャットと埋め込みモデルの使用に対して課金されます。 現在の価格の詳細については、「 Foundry Agent Service の価格」を参照してください。
関連コンテンツ
- エンド ツー エンドのセットアップに従う: Foundry Agent Service でメモリを作成して使用する
- モデルの可用性の確認: Azure Foundry Agent Service の OpenAI モデルとリージョン
- 完全なエージェントを構築する: Microsoft Foundry クイック スタート