エージェント ランタイム

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 オプションを指定して新しいプロジェクトを作成し、新しい名前でデプロイしてください。

その他のリソース