エージェント ランタイム

Agent RuntimeはAzure Databricksでホストされるサーバーレスコンピュート上でエージェントを実行します。 Databricks Apps上でエージェントサーバー(例えば DurableAgentServer)を実行するので、サーバーのプロビジョニングではなくコードをデプロイします。 Agent Runtimeがあなたのフレームワークやエージェントサーバーにどのように適合するかを知りたい方は、「Deploy agents on Azure Databricks」をご覧ください。

エージェントランタイムが提供するもの

  • 安定し認証されたエンドポイント:各デプロイメントは agent-bricks-<name> と名付けられたアプリで、それぞれ独自のURLを持っています。 クライアントは Azure Databricks OAuth トークンを使用して認証されます。 Azure DatabricksにデプロイされたQuery agentsを参照してください。
  • エージェント ID: エージェントはアプリのサービス プリンシパルとして動作します。 エージェント の識別性を参照してください。
  • 持続的な実行: DurableAgentServerを使用するエージェントに対して、デプロイメントはランタイムストアをプロビジョニングし、ワーカーの再起動後も実行状態が維持され、中断された実行が回復できるようにします。
  • トレース:デプロイでは、プロジェクトが関連付けられている実験にMLflowのトレースを設定します。 トレーシングの概要を参照してください。
  • スケーリング: 1〜5個のインスタンス上でエージェントを実行します。 Databricksアプリの水平スケーリングを参照してください。

エージェントID

エージェントのアイデンティティは、そのエージェントが展開されているアプリのサービスプリンシパルです。 エージェントはこの ID を使って Azure Databricks API を呼び出したり、--auth appで追加するツールを実行したりします。

  • デプロイすると、 agentbricks deploy はサービスプリンシパルにエージェントが使用するメモリ、セッション、実行状態ストアへのアクセス権を与えます。
  • エージェントに他のデータやリソースへのアクセスを与えるには、他のアプリと同様にアプリのサービスプリンシパルに必要な権限を付与します。 Databricks アプリでの承認の構成を参照してください。
  • auth = "user"を使うツールは、リクエストを送信したユーザーの権限で動作します。サービスプリンシパルの権限ではありません。 ユーザー認可のリクエストを参照してください。

エージェントをデプロイする

Agent Bricks CLIを使ってエージェントプロジェクトをデプロイする:

agentbricks --profile <profile> deploy my-agent

agentbricks deploy は次の処理を行います。

  1. agent.tomlで宣言されたメモリとセッションストアを作成または再利用し、アプリのサービスプリンシパルにアクセス権を与えます。
  2. DurableAgentServerを使うエージェントは、デプロイメントのランタイムストアを作成または再利用します。
  3. トレースを設定します。
  4. アプリをデプロイします。

エージェントを複数のインスタンスで実行するには、以下の --instances を指定します:

agentbricks --profile <profile> deploy my-agent --instances 2

エージェントが複数のインスタンスで動作する場合、クライアントはセッションIDを X-Routing-Key ヘッダーで送信し、セッション内のすべてのリクエストを同じインスタンスにルーティングできます。

デプロイを管理

命令 説明
agentbricks deployments list エージェントのデプロイメントを一覧表示してください。
agentbricks deployments get <app-name> デプロイメントのURL、ステータス、説明を表示してください。
agentbricks deployments logs <app-name> デプロイのログを表示します。
agentbricks deployments start <app-name> と agentbricks deployments stop <app-name> 展開の開始または停止。
agentbricks deployments delete <app-name> デプロイを削除します。

各デプロイメントはアプリなので、Databricks Appsでも閲覧・監視が可能です。 Databricks アプリのログ記録と監視を参照してください。

制限事項

既存のデプロイメントのエージェントサーバーを変更することはできません。 サーバーを切り替えるには、agentbricks init --server で指定したオプションで新しいプロジェクトを作成し、新しい名前でデプロイしてください。

その他のリソース