セルフマネージド エージェント メモリでは、エージェントの永続メモリ ストアとして、フル マネージド Postgres OLTP データベースである Databricks Lakebase が使用されます。 メモリへの直接 SQL アクセスが必要な場合 (たとえば、メモリを既存のデータ パイプラインと統合したり、カスタム スキーマを使用したりする場合)、または Lakebase でバックアップされた短期メモリが必要な場合に、この方法を使用します。 この方法では、データベース スキーマ、接続のセットアップ、およびアクセス制御を管理する必要があります。
直接 SQL アクセスやカスタム スキーマが必要ない場合は、代わりに マネージド エージェント メモリ を使用します。このメモリは、Databricks が Unity カタログを通じて管理します。 2 つの方法の比較については、 エージェントのメモリに関する記事を参照してください。
Requirements
- ワークスペースで Databricks Apps を有効にします。 Databricks Apps ワークスペースと開発環境を設定するを参照してください。
- Lakebase インスタンス。 Postgres データベースの取得を参照してください。
短期および長期記憶
セルフマネージド メモリは、短期メモリと長期メモリの両方をサポートしており、次のいずれかまたは両方を使用してエージェントを構築できます。
- 短期メモリ は、スレッド ID とチェックポイント処理を使用して、1 つの会話セッションのコンテキストをキャプチャします。 セッション内のフォローアップの質問のコンテキストが保持されます。
- 長期的なメモリ は、複数の会話にわたって重要な情報を抽出して格納します。 過去の設定に基づいて対話をカスタマイズし、時間の経過と同時に応答を改善するユーザーに関するナレッジ ベースを構築します。
メモリの種類のしくみの詳細については、「 エージェント メモリ」を参照してください。
概要
Databricks Apps でメモリを持つエージェントを作成するには、事前構築済みのアプリ テンプレートを複製し、「エージェントを 作成してアプリにデプロイする」で説明されている開発ワークフローに従います。 次のテンプレートは、一般的なフレームワークを使用してエージェントに短期および長期のメモリを追加する方法を示しています。
LangGraph
agent-langgraph-advanced テンプレートを複製して、短期メモリと長期メモリの両方を使用して LangGraph エージェントを構築します。 このテンプレートでは、スレッドベースの会話コンテキストやセッション間の永続的なユーザー分析情報など、永続的な状態管理のために、LangGraph の組み込みのチェックポイント処理と Lakebase を使用します。
git clone https://github.com/databricks/app-templates.git
cd app-templates/agent-langgraph-advanced
OpenAI エージェント SDK
agent-openai-advancedテンプレートを複製し、OpenAI Agents SDKを用いて短期メモリを備えたエージェントをビルドします。 このテンプレートでは、Lakebase を利用して永続的な状態管理を行い、自動会話履歴管理機能によって、ステートフルな複数ターンの会話を可能にします。
git clone https://github.com/databricks/app-templates.git
cd app-templates/agent-openai-advanced
実行時間の長いエージェントのバックグラウンド実行
高度なテンプレート agent-langgraph-advanced と agent-openai-advanced は、LongRunningAgentServer の databricks-ai-bridge を介して、短期メモリ機能と長時間実行されるバックグラウンド処理を基本テンプレートに追加して拡張します。 エージェント タスクが Databricks Apps の HTTP 接続タイムアウトを過ぎても実行され続け、結果を取得するためのストリーミング接続のポーリングまたは再開がサポートされるバックグラウンドモードとストリーミング モードを追加します。 完全なクライアント コントラクトについては、 高度なテンプレート README を参照してください。
エージェントをデプロイしてクエリを実行する
メモリを使用してエージェントを構成したら、「 エージェントを作成してアプリにデプロイ する」の手順に従って、エージェントをローカルで実行し、評価し、Databricks Apps にデプロイします。