エージェントのメモリとセッション
コンテキストを保持するために、エージェントには2種類の状態が必要です。現在処理しているインタラクションの状態と、ある会話から次の会話へと引き継がれる永続的な知識です。Databricksは、それぞれに対してフルマネージドのストアを提供します。どちらもLakebaseを基盤とし、任意のフレームワークで構築されたエージェントから使用できます。
- エージェントセッションには、エージェントのセッション状態(エージェントまたはフレームワークが1回のやり取りに対して保持する状態)が保存されます。最も一般的には会話履歴(メッセージ、ツール呼び出し、および結果の順序付きトランスクリプト)ですが、LangGraphグラフなど、フレームワークが永続化するあらゆる状態になる可能性があります。エージェントはターンの起動時にこれを読み取り、やり取りの実行中にこれを追加します。
- エージェントメモリは、エージェントが後の別の会話で思い出す永続的な事実、好み、および決定を保存します。これらはセマンティック検索によって取得されます。
セッションとメモリが既に設定されている新しいエージェントを構築するには、 エージェント ブリックのクイックスタートに従います。既に構築したエージェントにセッションとメモリを追加するには、 チュートリアル: 既存のエージェントにセッションとメモリを追加するに従ってください。
セッションとメモリの関係
セッション のスコープは1つのインタラクションに限定されます。会話のトランスクリプトなど、エージェントがそのインタラクションを続行するためにリプレイするワーキングステートです。セッションはインタラクション内で成長し、それ単体で完了します。
メモリ のスコープはインタラクションではなくサブジェクトに設定されます。ユーザーの安定した好み、過去の決定、進行中のプロジェクトなど、将来の無関係な会話でも引き続き重要となる永続的な事実がこれに該当します。どの会話で表示されたかに関係なく、エージェントは関連性があるときはいつでもそれらを呼び出します。
メモリパイプライン は、セッションの内容をメモリに抽出します。メモリパイプラインはセッションストア内の会話を読み取り、長期的に保持すべき事実を抽出して、必要に応じて、またはスケジュールに従ってメモリストアに書き込みます。これを使用して、エージェントにメモリ書き込みツールを追加せずに、会話履歴からメモリを構築します。
セッションとメモリは、会話の中に保持する価値のある情報がある時点でつながります。メモリパイプライン、エージェント、またはアプリケーションがセッションから長期的に保持すべき事実を抽出し、メモリに書き込みます。その後セッションが消去されるか、有効期限が切れても、メモリは保持されます。このため、ストアは独立しています:セッションまたはセッションストア全体を削除しても、メモリストアに保持されているメモリは削除されません。
ほとんどの使用例では両方を組み合わせて使用します。セッションにより、エージェントは会話内で継続性を維持でき、メモリにより、会話を跨いで継続性を維持できます。それぞれを単独で使用することもできます。インタラクション内の状態のみが必要な場合はセッションを単独で使用し、フレームワークがすでにセッション状態を管理している場合はメモリを単独で使用します。
これらの概念がメモリ研究にどのようにマッピングされるか
Databricksメモリ研究では、同じアーキテクチャが異なる用語で記述されています。セッションストアには、各セッションの生レコードである エピソード記憶 が保持されます。メモリストアには、それらのセッションから抽出された事実とワークフローである 派生メモリ が保持されます。メモリパイプラインとは、エピソード記憶を派生記憶に抽出して時間をかけて統合するオフラインの ドリーミング プロセスです。
起動方法を選択
-
- Agent Bricks クイックスタート
- Agent Bricks CLI を使用して新しいエージェントをビルドおよびデプロイします。セッションとメモリは既に設定されています。
-
- チュートリアル: 既存のエージェントにセッションとメモリを追加する
- 構築済みのエージェントを、セッションストア、メモリストア、メモリパイプラインにステップバイステップで接続します。
-
- エージェントセッション
- エージェントのセッション状態を永続化および再開して、再起動後もインタラクションが維持されるようにし、後続の処理で完全なコンテキスト (メッセージ、ツール呼び出し、推論を含む) を再構築します。
-
- エージェントのメモリ
- 個々の会話を超えてユーザーの好み、事実、決定事項を記憶し、エージェントが以前に学習した内容で応答をパーソナライズします。
-
- エージェントメモリパイプライン
- エージェントにメモリ書き込みツールを追加することなく、必要に応じて、またはスケジュールに従って、セッションストア内の会話から長期記憶を抽出します。
レガシーアプローチ
エージェントメモリに対する以下の以前のアプローチはレガシーであり、新しいエージェントには推奨されません:
- 管理対象エージェントメモリ(レガシー):Unity Catalogによって管理される、以前の管理対象メモリウムストア。