メインコンテンツまでスキップ

Databricks Appsでのエージェントのデプロイ

本番運用でエージェントを実行するには、ユーザーやアプリケーションからのリクエストを処理する管理されたコンピュートにそのコードをデプロイします。デプロイされたエージェントには、フレームワークまたはハーネス、エージェントサーバー、エージェントランタイムの3つの層があります。Agent Bricks は、DurableAgentServer から Databricks Apps上の Agent ランタイムに至るまで、各レイヤーでオプションを提供します。

エージェント コンピュート スタック​

デプロイされたエージェントには3つのレイヤーがあります。各レイヤーは、その上のレイヤーをラップします。

エージェント コンピュート スタック:呼び出し API を公開するエージェント サーバーによってラップされ、Agent ランタイム上で実行される、フレームワークまたはハーネス。

レイヤー

動作内容

Databricks のオプション

フレームワークまたはハーネス

エージェントループのランを実行します。モデルとツールを呼び出し、次に何をするかを決定します。

LangGraphやOpenAI Agents SDKなどの任意のフレームワークまたはハーネス、あるいはOmnigentなどのメタハーネス。

Agent server

エージェントループを HTTP サーバーでラップします。エージェントサーバーは、呼び出しAPIを公開し、クライアント接続を管理し、耐久性を処理します。

DurableAgentServer (推奨)、レガシーエージェントサーバー、または独自のサーバー。

エージェントランタイム

管理されたコンピュート上でエージェントサーバーを実行し、ホスティング、アイデンティティ、スケーリングを処理します。

Databricks Apps上のエージェント ランタイム。

レイヤー

動作内容

Databricks のオプション

フレームワークまたはハーネス

エージェントループのランを実行します。モデルとツールを呼び出し、次に何をするかを決定します。

LangGraphやOpenAI Agents SDKなどの任意のフレームワークまたはハーネス、あるいはOmnigentなどのメタハーネス。

Agent server

エージェントループを HTTP サーバーでラップします。エージェントサーバーは、呼び出しAPIを公開し、クライアント接続を管理し、耐久性を処理します。

DurableAgentServer (推奨)、レガシーエージェントサーバー、または独自のサーバー。

エージェントランタイム

管理されたコンピュート上でエージェントサーバーを実行し、ホスティング、アイデンティティ、スケーリングを処理します。

Databricks Apps上のエージェント ランタイム。

以下の用語は、レイヤーがどのように連携して動作するかを説明しています:

期間

意味

呼び出しAPI

クライアントがエージェントを実行するために呼び出すHTTP API。Databricksにデプロイされたエージェントのクエリーをご覧ください。

サーブ

エージェントランタイムはエージェントサーバーを実行し、呼び出しAPIを通じてエージェントを提供します。

デプロイ

エージェントのコードをエージェントのランタイムに配置します。

期間

意味

呼び出しAPI

クライアントがエージェントを実行するために呼び出すHTTP API。Databricksにデプロイされたエージェントのクエリーをご覧ください。

サーブ

エージェントランタイムはエージェントサーバーを実行し、呼び出しAPIを通じてエージェントを提供します。

デプロイ

エージェントのコードをエージェントのランタイムに配置します。

注記

Where サンドボックス fit

Databricks Sandbox は、コンピュート スタックのレイヤーではありません。これは、エージェントがガバナンス対象データへのスコープ付きアクセスを使用して、エージェントのランタイムとは別の隔離された環境でコードをランするために呼び出すツールです。データ分析スクリプトなどのコードをエージェントが記述してランする場合は、サンドボックスを使用します。CLI プロジェクトにサンドボックス ツールを付与するには、agentbricks tools add sandbox をランします。

フレームワークまたはハーネス​

フレームワークまたはハーネスは、エージェントのコードです。モデルで推論を行い、ツールを呼び出し、応答するタイミングを決定するループをランします。Agent Bricks は特定のフレームワークを必要としません。

フレームワークまたはハーネス

使用するタイミング

Template

新しいエージェントを開始します。Agent Bricks CLIは、LangGraphおよびOpenAI Agents SDK用のプロジェクトのテンプレートを作成します。Templateにより、フレームワークコードと、それをエージェントサーバーに接続するコードを分離した状態に保つことができます。

既存のエージェント

LangGraph または OpenAI Agents SDK を使用してすでに構築したエージェントを持ち込む。ディレクトリ内で agentbricks init --existing をランします。既存のエージェントを持ち込むをご覧ください。

メタハーネス

コーディングエージェントなどの複数のハーネスを、Omnigentを使用して1つのエージェントに組み合わせます。

フレームワークまたはハーネス

使用するタイミング

Template

新しいエージェントを開始します。Agent Bricks CLIは、LangGraphおよびOpenAI Agents SDK用のプロジェクトのテンプレートを作成します。Templateにより、フレームワークコードと、それをエージェントサーバーに接続するコードを分離した状態に保つことができます。

既存のエージェント

LangGraph または OpenAI Agents SDK を使用してすでに構築したエージェントを持ち込む。ディレクトリ内で agentbricks init --existing をランします。既存のエージェントを持ち込むをご覧ください。

メタハーネス

コーディングエージェントなどの複数のハーネスを、Omnigentを使用して1つのエージェントに組み合わせます。

エージェントサーバー​

エージェントサーバーは、エージェントループをラップしてサービスに変換するライブラリです。クライアントが呼び出す API を定義し、各ランを追跡し、ランが中断されたときの動作を決定します。

Agent server

使用するタイミング

DurableAgentServer(推奨)

Agent Bricks CLI で構築された新しいエージェント。

レガシーエージェントサーバー

アプリTemplateから構築されたエージェントの保守を行います。DurableAgentServer をレガシーエージェントサーバーと比較するには、Databricks上のエージェントサーバーを参照してください。

独自のサーバー

カスタムEndpoint、リクエスト形式、またはプロトコルを必要とするエージェント。agentbricks init --server customをランするか、既存のサーバーを維持します。

Agent server

使用するタイミング

DurableAgentServer(推奨)

Agent Bricks CLI で構築された新しいエージェント。

レガシーエージェントサーバー

アプリTemplateから構築されたエージェントの保守を行います。DurableAgentServer をレガシーエージェントサーバーと比較するには、Databricks上のエージェントサーバーを参照してください。

独自のサーバー

カスタムEndpoint、リクエスト形式、またはプロトコルを必要とするエージェント。agentbricks init --server customをランするか、既存のサーバーを維持します。

エージェントランタイム​

エージェントランタイムは、エージェントサーバーを実行するマネージドコンピュートです。自分でサーバーをプロビジョニングする代わりに、そこにコードをデプロイします。

エージェントランタイム

使用するタイミング

エージェントランタイム

新しいエージェント。Databricks Apps上でエージェントをランします。agentbricks deployは、エージェントに必要なリソースをプロビジョニングし、エージェントにリソースへのアクセス権を付与し、安定した認証済みEndpointにエージェントをデプロイします。

モデルサービング (レガシー)

Model Serving Endpointにデプロイされた以前のエージェント。AI アプリケーションのエージェントのデプロイ (Model Serving) を参照してください。Databricks Apps に移行するには、Model Serving から Databricks Apps へのエージェントの移行を参照してください。

エージェントランタイム

使用するタイミング

エージェントランタイム

新しいエージェント。Databricks Apps上でエージェントをランします。agentbricks deployは、エージェントに必要なリソースをプロビジョニングし、エージェントにリソースへのアクセス権を付与し、安定した認証済みEndpointにエージェントをデプロイします。

モデルサービング (レガシー)

Model Serving Endpointにデプロイされた以前のエージェント。AI アプリケーションのエージェントのデプロイ (Model Serving) を参照してください。Databricks Apps に移行するには、Model Serving から Databricks Apps へのエージェントの移行を参照してください。

Agent Bricks CLIでデプロイする​

Agent Bricks CLIは3つの層を接続します。フレームワークコードのスコフォールド(土台)を作成し、DurableAgentServer上でローカルにランして、エージェントランタイムにデプロイします。

Bash
agentbricks init my-agent --framework langgraph
cd my-agent
agentbricks dev
agentbricks deploy my-agent

最初のエージェントを構築してデプロイするには、Agent Bricks クイックスタートを参照してください。

エージェントをデプロイするための権限​

agentbricks deployを実行するユーザーまたは Service Principalには、次の操作を行うための権限が必要です。

  • Databricks Appsを作成するか、再デプロイ用に既存のアプリを管理します。See Configure permissions for a Databricks app.
  • agent.tomlで宣言されたメモリおよびセッションストアを作成するか、既存のストアを管理して、Agent BricksがアプリのService Principalからそれらへのアクセス権を付与できるようにします。
  • プロジェクトがトレースに使用する MLflow エクスペリメントを作成するか、既に存在する場合は編集します。
  • アプリのService Principalに、Unity Catalog関数上の EXECUTE、Genie Agent上の CAN RUN、またはサンドボックススコープ内のテーブル上の SELECT など、ツールが --auth app で宣言するリソースへのアクセス権を付与します。

Agent Bricks は、agent.toml が直接宣言するリソースへのアクセスのみを許可します。ツールが Genie Agent の背後にあるテーブルや Unity Catalog 関数が呼び出すオブジェクトなどの他のリソースを使用する場合は、アプリの Service Principal にそれらへのアクセス権をご自身で付与してください。デプロイメントで必要な権限付与を適用できない場合、コードを uploadする前に停止し、現在のデプロイメントを実行したままにします。

その他のリソース​