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

Agent Bricks CLI

備考

ベータ版

この機能はベータ版です。有効にするためにワークスペースの設定は必要ありません。始めるには Agent Bricks CLI をインストールします。

Agent Bricks CLI(databricks-agentbricks)は、コードでカスタムエージェントを構築およびデプロイする開発者向けの Databricks コマンドラインツールです。

Agent Bricks CLI は、ターミナルからカスタムエージェントを構築するためのコードファーストのパスです。Agent Bricks CLI は、Databricks のベスト プラクティスに基づいた組み込みのフレームワークを使用してプロジェクトをスキャフォールディングします。その後、テスト用にプロジェクトをローカルで実行し、Databricks エージェント ランタイムにデプロイできます。この CLI を使用すると、ランタイム、ツール、メモリ、マネージド リソースを手動で配線することなく、空のディレクトリからデプロイ済みエージェントへと移行できます。アプリベースのワークフローを含む、カスタムエージェントを構築するその他の方法については、エージェントを作成して Databricks Apps にデプロイするを参照してください。

前提条件​

  • インストール済みであり、パスが通っている Databricks CLI。

  • Python 3.10 以降 (pip を含む)。

  • Agent Bricks CLI をインストールします。

    Bash
    pip install databricks-agentbricks

Agent Bricks CLI のライフサイクル​

Agent Bricks CLI は、ランタイム、テスト、およびオプションのチャット UI がすでに組み込まれたフレームワークTemplateから、デプロイ可能なエージェントコードのローカルディレクトリをスキャフォールディングします。アプリケーションロジック (モデル、ツール、プロンプト) を記述すると、CLI がそれをローカルで実行し、Databricks インフラストラクチャにデプロイする処理を行います。

agent.toml は、エージェントが依存するすべてのDatabricks管理リソース(ツールバインディング(データサンドボックス、マネージド Model Context Protocol(MCP)サービス、Unity Catalog関数)、メモリ、セッション、トレーシングリソースなど)の宣言型の信頼できる情報源(シングル・ソース・オブ・トゥルース)です。agentbricks deployはそれを読み取ってすべてをプロビジョニングし、配線するため、手書きのセットアップコードではなくファイルがデプロイされるものとなります。

エージェントを空のディレクトリから本番運用へ導く 3 つのコマンド:

  • agentbricks init は、バンドルされたTemplateからプロジェクトをスキャフォールドし、オプションで Databricks プロファイルを使用して .env ファイルをシードすることで、プロジェクトがすぐに実行できるようにします。
  • agentbricks dev は、デプロイ前にテストできるように、Databricks モデルサービングに対してエージェントをローカルで実行します。
  • agentbricks deploy は、agent.toml で宣言されたリソースをプロビジョニングし、エージェントを Databricks エージェントランタイムにロールアウトします。

Agent Bricks CLI のライフサイクル: 初期化、開発、デプロイの各フェーズと主要なアクション

注記

初期化時だけでなく、いつでもツールを追加し、メモリやセッションストアをバインドすることができます。agentbricks tools add、agentbricks memory bind、およびagentbricks sessions bindを使用して、これらのステップの間でエージェントの設定を更新します。

Agent Bricks CLI の機能​

機能

説明

モデルアクセス

Agent Bricks CLI は、資格情報や Endpoint を管理することなくエージェントが Databricks でサービングされるモデルを呼び出せるように、モデルアクセスを自動的にプロビジョニングします。See Databricks 基盤モデル APIs.

マネージドメモリ

エージェントが書き込みや検索を行うことができる長期記憶。アクターによってパーティション分割され、マネージドストアによってバックアップされます。セッションをまたがって事実や好みを永続化するには、メモリを使用します。マネージドエージェントメモリを参照してください。

マネージドセッション

マネージドセッションストアに保持され、アクターによってパーティション分割された会話トランスクリプト。セッションを独立したコピーにフォークする機能がサポートされています。See Managed agent sessions.

ツール

agent.toml で宣言される Databricks 管理型機能: スコープを縮小した Unity Catalog サンドボックス、Databricks 管理型 MCP サービス、または Unity Catalog 関数。カスタム Python ツールは、プロジェクトコードに直接記述されます。MCP とエージェントツールを参照してください。

トレーシング

MLflowトレースはdefaultで有効になっており、各ランのトレースをデバッグとモニタリングのためにプロジェクトごとのMLflowエクスペリメントにルーティングします。トレーシングの概要を参照してください。

デプロイメント

エージェントを Databricks エージェントランタイムにデプロイし、エージェントの Service Principal にバインドされたストアへのアクセス権を付与し、デプロイライフサイクルを管理します。

機能

説明

モデルアクセス

Agent Bricks CLI は、資格情報や Endpoint を管理することなくエージェントが Databricks でサービングされるモデルを呼び出せるように、モデルアクセスを自動的にプロビジョニングします。See Databricks 基盤モデル APIs.

マネージドメモリ

エージェントが書き込みや検索を行うことができる長期記憶。アクターによってパーティション分割され、マネージドストアによってバックアップされます。セッションをまたがって事実や好みを永続化するには、メモリを使用します。マネージドエージェントメモリを参照してください。

マネージドセッション

マネージドセッションストアに保持され、アクターによってパーティション分割された会話トランスクリプト。セッションを独立したコピーにフォークする機能がサポートされています。See Managed agent sessions.

ツール

agent.toml で宣言される Databricks 管理型機能: スコープを縮小した Unity Catalog サンドボックス、Databricks 管理型 MCP サービス、または Unity Catalog 関数。カスタム Python ツールは、プロジェクトコードに直接記述されます。MCP とエージェントツールを参照してください。

トレーシング

MLflowトレースはdefaultで有効になっており、各ランのトレースをデバッグとモニタリングのためにプロジェクトごとのMLflowエクスペリメントにルーティングします。トレーシングの概要を参照してください。

デプロイメント

エージェントを Databricks エージェントランタイムにデプロイし、エージェントの Service Principal にバインドされたストアへのアクセス権を付与し、デプロイライフサイクルを管理します。

ステップ 1: OAuth を使用した認証とプロファイルの保存​

Agent Bricks CLI では、Databricks CLI の認証が使用されます。OAuth (ユーザーマシン間) でワークスペースに対する認証を行い、資格情報を名前付きプロファイルとして保存します。

OAuth のフローを開始するには、次のコマンドを実行し、ホストをワークスペースの URL に置き換えます。このコマンドを実行すると、ブラウザが起動してサインインが完了し、プロフィールが ~/.databrickscfg に書き込まれます。

Bash
databricks auth login --host https://<your-workspace-url> --profile <profile>

そのプロファイルをCLIのdefaultに設定して、以降のコマンドで--profileを省略できるようにするには、次を実行します。

Bash
agentbricks login --profile <profile>

agentbricks login プロファイルの資格情報を検証します。それらが欠落している場合や拒否された場合、CLI は databricks auth login を再実行してリトライします。

ステップ 2: エージェントプロジェクトをスキャフォールディングする​

新しいエージェントプロジェクトをスキャフォールディングし、--framework を渡してTemplateを選択します。この例では、ブラウザチャットアプリが含まれている LangGraph Template を使用します:

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

CLI にはフレームワークごとに 1 つのバンドルされた Template が付属しており、--framework はスキャフォールディング元の Template を選択します。LangGraph の場合は langgraph、OpenAI Agents SDK の場合は openai となります。CLI は、プロジェクトの管理対象リソースとツールバインドを agent.toml に書き込み、Template の出所を .agentbricks/project.toml に書き込みます。チャットアプリなしで API のみのバックエンドをスキャフォールディングするには、--disable-chat-app を追加します。

ステップ 3: 管理対象セッションおよびメモリストアをアタッチする​

マネージドストアをバインドすると、エージェントが会話履歴と長期記憶を永続化できるようになります。各コマンドは、ストア名を agent.toml に記録し、ストアが存在しない場合は作成します。

セッションストアとメモリストアをバインドするには、次のコマンドを実行します。

Bash
agentbricks sessions bind my-agent-sessions
agentbricks memory bind my-agent-memory

ステップ 4: トレーシングの表示​

トレースはdefaultで有効になっています。agentbricks init は default /Shared/agentbricks_traces/<project> MLflow エクスペリメントにバインドされ、agentbricks dev および agentbricks deploy は各ランのトレースをそれに送信します。

エージェントがトレースを生成した後に一覧表示するには、次のコマンドを実行します。

Bash
agentbricks tracing list

特定のMLflowエクスペリメントをバインドするには、agentbricks tracing bind --experiment-id <experiment-id>を実行します。トレーシングをオフにするには、agentbricks tracing unbindを実行します。

ステップ 5: エージェントをローカルでランする​

デプロイする前に、マシン上でエージェントを実行してテストします。

Bash
agentbricks dev

これにより、Databricks エージェントランタイムと同じコマンドと環境を使用して、ポート 8000 でローカルサーバーが起動します。Agent Bricks CLI は、エージェントを Databricks のモデルサービングに接続し、モデルをローカルで呼び出せるようにします。Template は、agent/agent.py の MODEL 値として default モデルを設定します。別のモデルを使用するには、その値を編集します。http://localhost:8000 にリクエストを送信して、エージェントとやり取りします。

ステップ 6: エージェントをデプロイする​

エージェントをDatabricksエージェントランタイムにデプロイします。CLIは、バインドされたストアをプロビジョニングし、エージェントのService Principalにそれらへのアクセス権を付与して、デプロイを展開します。デプロイされたエージェントの名前はagent-bricks-<name>です。

Bash
agentbricks deploy my-agent

デプロイが完了すると、CLI はデプロイの URL を返します。その URL を開いてライブエージェントとやり取りします。エージェントは Databricks モデルサービングに自動的に接続されます。後でデプロイを管理するには、agentbricks deployments などの agentbricks deployments logs および agentbricks deployments stop のコマンドを使用します。

コマンドリファレンス​

すべてのコマンドとフラグを含む完全な最新のコマンドリファレンスについては、GitHub の Agent Bricks CLI README を参照してください。

その他のリソース​