エージェント ランタイム
Agent Runtime は、Databricks がホストする Serverless コンピュート上でエージェントを実行します。DurableAgentServer などのエージェントサーバーを Databricks Apps 上で実行するため、サーバーのプロビジョニングを行わずにコードをデプロイできます。Agent ランタイム がお使いのフレームワークやエージェントサーバーとどのように連携するかについては、Databricks でのエージェントのデプロイを参照してください。
エージェントランタイムが提供するもの
- 安定した認証済みのEndpoint :各デプロイメントは、独自のURLを持つ
agent-bricks-<name>という名前のアプリです。クライアントはDatabricks OAuthトークンを使用して認証します。Databricksにデプロイされたエージェントをクエリーするを参照してください。 - Agent identity : エージェントはアプリのService Principalのランとして実行されます。「Agent identity」を参照してください。
- 耐久性のある実行 :
DurableAgentServerを使用するエージェントの場合、デプロイによってランタイム ストアがプロビジョニングされ、ワーカーの再起動後もランの状態が維持され、中断されたランを回復できるようになります。 - トレーシング :デプロイにより、プロジェクトがバインドするエクスペリメントへのMLflowトレーシングが設定されます。トレーシングの概要を参照してください。
- スケーリング : 1〜5台のインスタンスでエージェントをランします。See Horizontal scaling for Databricks apps.
エージェントのID
エージェントのIDは、それがデプロイされるアプリの Service Principal です。エージェントはこのIDを使用してDatabricks APIを呼び出し、--auth appで追加したツールを実行します。
- デプロイすると、
agentbricks deployは Service Principal に、エージェントが使用するメモリ、セッション、およびランの状態ストアへのアクセス権を付与します。 - エージェントに他のデータおよびリソースへのアクセス権を付与するには、他のアプリの場合と同様に、アプリのService Principalに必要な権限を付与します。Databricks アプリでの承認の構成を参照してください。
auth = "user"を使用するツールは、Service Principalではなく、リクエストを送信したユーザーの権限でランを実行します。リクエスト側ユーザーの承認を参照してください。
エージェントをデプロイする
Agent Bricks CLIを使用してエージェントプロジェクトをデプロイします。
agentbricks --profile <profile> deploy my-agent
agentbricks deploy は、次の処理を行います:
agent.tomlで宣言されたメモリおよびセッションストアを作成または再利用し、アプリの Service Principal にそれらへのアクセス権を付与します。DurableAgentServerを使用するエージェントの場合、デプロイの ランタイム Store を作成するか再利用します。- トレースを構成します。
- アプリをデプロイします。
複数のインスタンスでエージェントを実行するには、--instancesを渡します:
agentbricks --profile <profile> deploy my-agent --instances 2
エージェントが複数のインスタンスでランを実行する場合、クライアントは X-Routing-Key ヘッダーにセッションIDを送信することで、セッション内のすべてのリクエストを同じインスタンスにルーティングできます。
デプロイメントの管理
コマンド | 説明 |
|---|---|
| エージェントのデプロイを一覧表示します。 |
| デプロイメントのURL、ステータス、説明を表示します。 |
| デプロイメントの Logs を表示します。 |
| デプロイメントを起動または停止します。 |
| デプロイメントを削除します。 |
各デプロイメントは1つのアプリであるため、Databricks Appsで表示およびモニタリングすることもできます。「Logging and モニタリング for Databricks Apps」を参照してください。
制限事項
既存のデプロイメントのエージェントサーバーは変更できません。サーバーを切り替えるには、必要な agentbricks init --server オプションを使用して新しいプロジェクトを作成し、新しい名前でデプロイします。