コーディングエージェントと統合します
Databricksコーディングエージェント統合を使用すると、Claude Code、Codex CLI、Cursor、Gemini CLIなどのコーディングエージェントからのトラフィックを、Unity Gatewayのモデルサービス経由でルーティングできます。これにより、レート制限、使用状況追跡、推論テーブルが提供され、すべてのコントロールがモデルサービス、ユーザー、またはグループのレベルで構成されます。
ucodeを使用するコマンドは、下位互換性のために引き続き機能します。今後は、Unity Gateway CLIのプライマリコマンドとしてugを使用してください。
機能
- アクセス: さまざまなコーディングツールとモデルへの直接アクセス、すべてを単一の請求書で。
- 可観測性 :すべてのコーディングツールにおける使用状況、支出、メトリクスを追跡するための単一の統合ダッシュボードです。
- 統合ガバナンス :管理者は、モデルサービス、ユーザー、またはグループのレベルで、Unity Gateway を介してモデルのアクセス許可とレート制限を管理できます。
要件
- Unity Gateway がサポートされているリージョン内の Databricks ワークスペース。
- ワークスペースでUnity Catalog有効化されていること。 Unity Catalog のワークスペースを有効にする方法をご覧ください。
セットアップ
最も迅速に開始する方法はUnity Gateway CLIを使用することです。これにより、サポートされているコーディングエージェントのインストール、認証、およびUnity Gatewayへの構成を1つのコマンドで実行できます。
Unity Gateway CLI を使用する (推奨)
Unity Gateway CLI (ug) は、Unity Gatewayに対してコーディングエージェントを実行するための単一のエントリポイントです。これはOAuthを処理し、各エージェントの設定ファイルを書き込み、登録した任意のLLMまたはMCPサーバー経由でトラフィックをルーティングします。サポートされているエージェント:
サポートされているすべてのコーディングエージェントを確認するには、ug --help を実行します。
ステップ1:Unity Gateway CLI をインストールする
uv tool install git+https://github.com/databricks/unity-gateway
Python 3.12 以降と uv が必要です。これにより、ug コマンドがインストールされます。
ステップ2: コーディングエージェントを開く
目的のエージェントを実行します。初回起動時に、Unity Gateway CLIはDatabricksワークスペースURLの入力を求め、認証を行い、エージェントの構成ファイルを自動的に書き込みます。2回目以降の起動では、直接エージェントに移動します。
ug claude # Claude Code
ug codex # OpenAI Codex
ug gemini # Gemini CLI
ug opencode # OpenCode
ug copilot # GitHub Copilot CLI
ug pi # Pi
Unity Gateway CLI は、エージェント名の後に続くフラグを基盤となるツールに渡します。例:
ug codex --full-auto
複数のコーディング エージェントを同時に構成するには、以下を実行します。
ug configure
Databricks MCPサーバー(Unity Catalog関数、AI Search、SQLウェアハウス、および検出された外部接続)をMCP対応エージェントに登録するには:
ug mcp add
過去7日間のUnity Gatewayの使用状況の概要を確認するには:
ug usage
完全なコマンドリファレンスについては、以下を実行します:
ug --help
ダッシュボード
Unity Gatewayを通じてコーディングエージェントの使用状況が追跡された後、組み込みダッシュボードでメトリクスを表示および監視できます。
ダッシュボードを開くには、Unity Gatewayページの右上にある Govern をクリックし、 Usage Dashboard をクリックします。組み込みの使用状況ダッシュボードには、コーディングツールの使用状況を示すグラフを含む Coding Agents tabがあります。

手動セットアップ
エージェントを自分で設定する場合は、次の手順に従ってください:
Claude Code
ステップ 1: Claude Code クライアントを構成する
次の設定を ~/.claude/settings.json に追加します。詳細については、Claude Code settings docs を参照してください。
{
"env": {
"ANTHROPIC_MODEL": "system.ai.claude-fable-5",
"ANTHROPIC_BASE_URL": "https://<workspace-url>/ai-gateway/anthropic",
"ANTHROPIC_AUTH_TOKEN": "<databricks_pat_token>",
"ANTHROPIC_CUSTOM_HEADERS": "x-databricks-use-coding-agent-mode: true",
"CLAUDE_CODE_USE_GATEWAY": "1",
"ENABLE_PROMPT_CACHING_1H": "1",
"ENABLE_TOOL_SEARCH": "1"
}
}
<workspace-url> を Databricks ワークスペースの URL に置き換え、<databricks_pat_token> を個人用アクセストークンに置き換えます。別のdefault modelを設定するには、ANTHROPIC_MODEL を任意の Unity Gateway モデルサービス (例: system.ai.claude-opus-4-6) に変更します。
ステップ 2(オプション):OpenTelemetry メトリクス収集を設定する
Claude Code から Unity Catalog が管理する Delta テーブルへのメトリクスおよびLogsのエクスポートの詳細については、OpenTelemetry データ収集の設定を参照してください。
Codex CLI
ステップ1:Codex CLIをインストールまたは更新
Codex CLIバージョン0.118以降をインストールまたは更新します。
npm install -g @openai/codex@latest
ステップ2:Codex設定ファイルを作成または更新
~/.codex/config.tomlでCodex設定ファイルを作成または編集します:
profile = "default"
[profiles.default]
model_provider = "Databricks"
[model_providers.Databricks]
name = "Databricks :re[ai-gateway]"
base_url = "<workspace-url>/ai-gateway/codex/v1"
wire_api = "responses"
[model_providers.Databricks.auth]
command = "sh"
args = ["-c", "databricks auth token --host <workspace-url> --output json | jq -r '.access_token'"]
timeout_ms = 5000
refresh_interval_ms = 1800000
<workspace-url> を Databricks ワークスペースの URL に置き換えます。
ステップ3:ワークスペースを認証
これは一度だけ実行する必要があります。Codexを開始するたびに再認証する必要はありません。
まず、Databricks CLIがインストールされていることを確認してください。手順については、Databricks CLIのインストールまたは更新を参照してください。
次に認証します。
databricks auth login --host <workspace-url>
<workspace-url> を Databricks ワークスペースの URL に置き換えます。
ステップ4:Codexを起動
codex
モデルを変更するには、/modelを使用してください。
Cursor IDE
Unity Gateway でモデルサービスを使用するように Cursor を構成するには:
ステップ1:ベースURLとAPIキーを設定します
-
Cursorを開き、 設定 → Cursor設定 → モデル → APIキー に移動します。
-
[OpenAIベースURLを上書き] を有効にし、URLを入力します。
https://<workspace-url>/ai-gateway/cursor/v1<workspace-url>を Databricks ワークスペースの URL に置き換えます。 -
Databricks個人用アクセストークンを OpenAI API Key フィールドに貼り付けます。
ステップ2: カスタムモデルを追加
- Cursor Settingsで + カスタムモデルを追加 をクリックします。
- モデルのサービス名 (例:
system.ai.claude-opus-4-6) を追加し、トグルを有効にします。
現在、Databricksが提供するモデルサービスのみがサポートされています。
ステップ3: 統合をテスト
Cmd+L(macOS) またはCtrl+L(Windows/Linux) を使用してAskモードを開き、モデルを選択してください。- メッセージを送信してください。すべてのリクエストがDatabricksを経由するようになりました。
Gemini CLI
ステップ1: Gemini CLIの最新バージョンをインストールします。
npm install -g @google/gemini-cli@nightly
ステップ2: 環境変数を構成する
~/.gemini/.envというファイルを作成し、次の構成を追加します。詳細については、Gemini CLI認証ドキュメントを参照してください。
GEMINI_MODEL=databricks-gemini-2-5-flash
GOOGLE_GEMINI_BASE_URL=https://<workspace-url>/ai-gateway/gemini
GEMINI_API_KEY_AUTH_MECHANISM="bearer"
GEMINI_API_KEY=<databricks_pat_token>
<workspace-url>をDatabricksワークスペースURLに、<databricks_pat_token>を個人アクセストークンに置き換えます。
コーディングエージェントでオープンソースモデルを使用する
Databricksは、glm-5-2などのオープンソース(OSS)モデルとコーディングエージェントの統合をサポートしています。
上記の 要件 に加え、ワークスペースがターゲットの OSS モデルにアクセスできる必要があります。
OpenCode
Unity Gateway CLI の使用 (推奨) で説明されているように Unity Gateway CLI をセットアップし、モデルとして system.ai.glm-5-2 を選択します。
手動でセットアップ
または、OpenCodeドキュメントの説明に従ってOpenCodeをインストールし、~/.config/opencode/opencode.jsonを作成または編集することもできます:
{
"$schema": "https://opencode.ai/config.json",
"model": "databricks-oss/<open source model service name>",
"provider": {
"databricks-oss": {
"npm": "@ai-sdk/openai",
"options": {
"baseURL": "<workspace-url>/ai-gateway/mlflow/v1",
"apiKey": "<databricks_pat_token>"
},
"models": {
"<open source model service name>": {}
}
}
}
}
以下を置き換えます:
<workspace-url>を Databricks ワークスペースの URL に置き換えます。<databricks_pat_token>パーソナルアクセストークンを使用します。<open source model service name>ターゲットのOSSモデルサービス(例:system.ai.glm-5-2)を使用します。
次に、OpenCodeを起動します:
opencode
Codex
Codex は、Codex がサポートする Open Responses API を介してオープンソースモデルに接続します。
Unity Gateway CLI の使用 (推奨) で説明されているように Unity Gateway CLI をセットアップしてから、以下を実行します:
ug codex --model <open source model service name>
たとえば、Codex で GLM 5.2 を使用するには、次を実行します:
ug codex --model system.ai.glm-5-2
手動でセットアップ
あるいは、Codex CLI で説明されているように Codex CLI をインストールし、~/.codex/config.toml を作成または編集することもできます:
model = "<open source model service name>"
model_provider = "Databricks"
[model_providers.Databricks]
name = "Databricks :re[ai-gateway]"
base_url = "<workspace-url>/ai-gateway/codex/v1"
wire_api = "responses"
[model_providers.Databricks.auth]
command = "sh"
args = ["-c", "databricks auth token --host <workspace-url> --output json | jq -r '.access_token'"]
# Re-run the token command periodically so long sessions don't fail when the
# short-lived Databricks token expires.
timeout_ms = 5000
refresh_interval_ms = 1800000
<workspace-url> を Databricks ワークスペースの URL に、<open source model service name> をターゲットの OSS モデルサービスに置き換えます(例:system.ai.glm-5-2)。
次に、Codexを起動します:
codex
OpenTelemetryデータ収集を設定
Databricksは、コーディングエージェントからのOpenTelemetryメトリクスとログをUnity CatalogマネージドDeltaテーブルにエクスポートすることをサポートしています。すべてのメトリクスは、OpenTelemetry標準メトリクスプロトコルを使用してエクスポートされた時系列データであり、ログはOpenTelemetryログプロトコルを使用してエクスポートされます。
要件
- DatabricksのOpenTelemetryプレビューが有効になりました。「Databricks プレビューの管理」を参照してください。
ステップ1: Unity CatalogでOpenTelemetryテーブルを作成します
OpenTelemetryメトリクスおよびログスキーマで事前構成されたUnity Catalogマネージドテーブルを作成します。
メトリクス テーブル
CREATE TABLE <catalog>.<schema>.<table_prefix>_otel_metrics (
name STRING,
description STRING,
unit STRING,
metric_type STRING,
gauge STRUCT<
start_time_unix_nano: LONG,
time_unix_nano: LONG,
value: DOUBLE,
exemplars: ARRAY<STRUCT<
time_unix_nano: LONG,
value: DOUBLE,
span_id: STRING,
trace_id: STRING,
filtered_attributes: MAP<STRING, STRING>
>>,
attributes: MAP<STRING, STRING>,
flags: INT
>,
sum STRUCT<
start_time_unix_nano: LONG,
time_unix_nano: LONG,
value: DOUBLE,
exemplars: ARRAY<STRUCT<
time_unix_nano: LONG,
value: DOUBLE,
span_id: STRING,
trace_id: STRING,
filtered_attributes: MAP<STRING, STRING>
>>,
attributes: MAP<STRING, STRING>,
flags: INT,
aggregation_temporality: STRING,
is_monotonic: BOOLEAN
>,
histogram STRUCT<
start_time_unix_nano: LONG,
time_unix_nano: LONG,
count: LONG,
sum: DOUBLE,
bucket_counts: ARRAY<LONG>,
explicit_bounds: ARRAY<DOUBLE>,
exemplars: ARRAY<STRUCT<
time_unix_nano: LONG,
value: DOUBLE,
span_id: STRING,
trace_id: STRING,
filtered_attributes: MAP<STRING, STRING>
>>,
attributes: MAP<STRING, STRING>,
flags: INT,
min: DOUBLE,
max: DOUBLE,
aggregation_temporality: STRING
>,
exponential_histogram STRUCT<
attributes: MAP<STRING, STRING>,
start_time_unix_nano: LONG,
time_unix_nano: LONG,
count: LONG,
sum: DOUBLE,
scale: INT,
zero_count: LONG,
positive_bucket: STRUCT<
offset: INT,
bucket_counts: ARRAY<LONG>
>,
negative_bucket: STRUCT<
offset: INT,
bucket_counts: ARRAY<LONG>
>,
flags: INT,
exemplars: ARRAY<STRUCT<
time_unix_nano: LONG,
value: DOUBLE,
span_id: STRING,
trace_id: STRING,
filtered_attributes: MAP<STRING, STRING>
>>,
min: DOUBLE,
max: DOUBLE,
zero_threshold: DOUBLE,
aggregation_temporality: STRING
>,
summary STRUCT<
start_time_unix_nano: LONG,
time_unix_nano: LONG,
count: LONG,
sum: DOUBLE,
quantile_values: ARRAY<STRUCT<
quantile: DOUBLE,
value: DOUBLE
>>,
attributes: MAP<STRING, STRING>,
flags: INT
>,
metadata MAP<STRING, STRING>,
resource STRUCT<
attributes: MAP<STRING, STRING>,
dropped_attributes_count: INT
>,
resource_schema_url STRING,
instrumentation_scope STRUCT<
name: STRING,
version: STRING,
attributes: MAP<STRING, STRING>,
dropped_attributes_count: INT
>,
metric_schema_url STRING
) USING DELTA
TBLPROPERTIES (
'otel.schemaVersion' = 'v1'
)
ログテーブル
CREATE TABLE <catalog>.<schema>.<table_prefix>_otel_logs (
event_name STRING,
trace_id STRING,
span_id STRING,
time_unix_nano LONG,
observed_time_unix_nano LONG,
severity_number STRING,
severity_text STRING,
body STRING,
attributes MAP<STRING, STRING>,
dropped_attributes_count INT,
flags INT,
resource STRUCT<
attributes: MAP<STRING, STRING>,
dropped_attributes_count: INT
>,
resource_schema_url STRING,
instrumentation_scope STRUCT<
name: STRING,
version: STRING,
attributes: MAP<STRING, STRING>,
dropped_attributes_count: INT
>,
log_schema_url STRING
) USING DELTA
TBLPROPERTIES (
'otel.schemaVersion' = 'v1'
)
ステップ2: コーディングエージェントの環境変数を更新
OpenTelemetryメトリクスのサポートを有効にした任意のコーディングエージェントで、次の環境変数を設定します。
{
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_EXPORTER_OTLP_METRICS_PROTOCOL": "http/protobuf",
"OTEL_EXPORTER_OTLP_METRICS_ENDPOINT": "https://<workspace-url>/api/2.0/otel/v1/metrics",
"OTEL_EXPORTER_OTLP_METRICS_HEADERS": "content-type=application/x-protobuf,Authorization=Bearer <databricks_pat_token>,X-Databricks-UC-Table-Name=<catalog>.<schema>.<table_prefix>_otel_metrics",
"OTEL_METRIC_EXPORT_INTERVAL": "10000",
"OTEL_LOGS_EXPORTER": "otlp",
"OTEL_EXPORTER_OTLP_LOGS_PROTOCOL": "http/protobuf",
"OTEL_EXPORTER_OTLP_LOGS_ENDPOINT": "https://<workspace-url>/api/2.0/otel/v1/logs",
"OTEL_EXPORTER_OTLP_LOGS_HEADERS": "content-type=application/x-protobuf,Authorization=Bearer <databricks_pat_token>,X-Databricks-UC-Table-Name=<catalog>.<schema>.<table_prefix>_otel_logs",
"OTEL_LOGS_EXPORT_INTERVAL": "5000"
}
Claude Codeの場合、テレメトリのエクスポートを有効にするには、これらの変数を ~/.claude/settings.json ファイルの env ブロックに "CLAUDE_CODE_ENABLE_TELEMETRY": "1" と共に追加します。
ステップ3: コーディングエージェントを実行します。
データは5分以内にUnity Catalogテーブルに反映されます。