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

コーディングエージェントと統合します

Databricksコーディングエージェント統合を使用すると、Claude Code、Codex CLI、Cursor、Gemini CLIなどのコーディングエージェントからのトラフィックを、Unity Gatewayのモデルサービス経由でルーティングできます。これにより、レート制限、使用状況追跡、推論テーブルが提供され、すべてのコントロールがモデルサービス、ユーザー、またはグループのレベルで構成されます。

注記

ucodeを使用するコマンドは、下位互換性のために引き続き機能します。今後は、Unity Gateway CLIのプライマリコマンドとしてugを使用してください。

機能

  • アクセス: さまざまなコーディングツールとモデルへの直接アクセス、すべてを単一の請求書で。
  • 可観測性 :すべてのコーディングツールにおける使用状況、支出、メトリクスを追跡するための単一の統合ダッシュボードです。
  • 統合ガバナンス :管理者は、モデルサービス、ユーザー、またはグループのレベルで、Unity Gateway を介してモデルのアクセス許可とレート制限を管理できます。

要件

セットアップ

最も迅速に開始する方法はUnity Gateway CLIを使用することです。これにより、サポートされているコーディングエージェントのインストール、認証、およびUnity Gatewayへの構成を1つのコマンドで実行できます。

Unity Gateway CLI を使用する (推奨)

Unity Gateway CLI (ug) は、Unity Gatewayに対してコーディングエージェントを実行するための単一のエントリポイントです。これはOAuthを処理し、各エージェントの設定ファイルを書き込み、登録した任意のLLMまたはMCPサーバー経由でトラフィックをルーティングします。サポートされているエージェント:

サポートされているすべてのコーディングエージェントを確認するには、ug --help を実行します。

ステップ1:Unity Gateway CLI をインストールする

Bash
uv tool install git+https://github.com/databricks/unity-gateway

Python 3.12 以降と uv が必要です。これにより、ug コマンドがインストールされます。

ステップ2: コーディングエージェントを開く

目的のエージェントを実行します。初回起動時に、Unity Gateway CLIはDatabricksワークスペースURLの入力を求め、認証を行い、エージェントの構成ファイルを自動的に書き込みます。2回目以降の起動では、直接エージェントに移動します。

Bash
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 は、エージェント名の後に続くフラグを基盤となるツールに渡します。例:

Bash
ug codex --full-auto

複数のコーディング エージェントを同時に構成するには、以下を実行します。

Bash
ug configure

Databricks MCPサーバー(Unity Catalog関数、AI Search、SQLウェアハウス、および検出された外部接続)をMCP対応エージェントに登録するには:

Bash
ug mcp add

過去7日間のUnity Gatewayの使用状況の概要を確認するには:

Bash
ug usage

完全なコマンドリファレンスについては、以下を実行します:

Bash
ug --help

ダッシュボード

Unity Gatewayを通じてコーディングエージェントの使用状況が追跡された後、組み込みダッシュボードでメトリクスを表示および監視できます。

ダッシュボードを開くには、Unity Gatewayページの右上にある Govern をクリックし、 Usage Dashboard をクリックします。組み込みの使用状況ダッシュボードには、コーディングツールの使用状況を示すグラフを含む Coding Agents tabがあります。

コーディングエージェント ダッシュボード

手動セットアップ

エージェントを自分で設定する場合は、次の手順に従ってください:

Claude Code

ステップ 1: Claude Code クライアントを構成する

次の設定を ~/.claude/settings.json に追加します。詳細については、Claude Code settings docs を参照してください。

JSON
{
"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以降をインストールまたは更新します。

Bash
npm install -g @openai/codex@latest

ステップ2:Codex設定ファイルを作成または更新

~/.codex/config.tomlでCodex設定ファイルを作成または編集します:

Toml
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のインストールまたは更新を参照してください。

次に認証します。

Bash
databricks auth login --host <workspace-url>

<workspace-url> を Databricks ワークスペースの URL に置き換えます。

ステップ4:Codexを起動

Bash
codex

モデルを変更するには、/modelを使用してください。

Cursor IDE

Unity Gateway でモデルサービスを使用するように Cursor を構成するには:

ステップ1:ベースURLとAPIキーを設定します

  1. Cursorを開き、 設定Cursor設定モデルAPIキー に移動します。

  2. [OpenAIベースURLを上書き] を有効にし、URLを入力します。

    https://<workspace-url>/ai-gateway/cursor/v1

    <workspace-url> を Databricks ワークスペースの URL に置き換えます。

  3. Databricks個人用アクセストークンを OpenAI API Key フィールドに貼り付けます。

ステップ2: カスタムモデルを追加

  1. Cursor Settingsで + カスタムモデルを追加 をクリックします。
  2. モデルのサービス名 (例: system.ai.claude-opus-4-6) を追加し、トグルを有効にします。
注記

現在、Databricksが提供するモデルサービスのみがサポートされています。

ステップ3: 統合をテスト

  1. Cmd+L (macOS) または Ctrl+L (Windows/Linux) を使用してAskモードを開き、モデルを選択してください。
  2. メッセージを送信してください。すべてのリクエストがDatabricksを経由するようになりました。

Gemini CLI

ステップ1: Gemini CLIの最新バージョンをインストールします。

Bash
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を作成または編集することもできます:

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を起動します:

Bash
opencode

Codex

Codex は、Codex がサポートする Open Responses API を介してオープンソースモデルに接続します。

Unity Gateway CLI の使用 (推奨) で説明されているように Unity Gateway CLI をセットアップしてから、以下を実行します:

Bash
ug codex --model <open source model service name>

たとえば、Codex で GLM 5.2 を使用するには、次を実行します:

Bash
ug codex --model system.ai.glm-5-2

手動でセットアップ

あるいは、Codex CLI で説明されているように Codex CLI をインストールし、~/.codex/config.toml を作成または編集することもできます:

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を起動します:

Bash
codex

OpenTelemetryデータ収集を設定

Databricksは、コーディングエージェントからのOpenTelemetryメトリクスとログをUnity CatalogマネージドDeltaテーブルにエクスポートすることをサポートしています。すべてのメトリクスは、OpenTelemetry標準メトリクスプロトコルを使用してエクスポートされた時系列データであり、ログはOpenTelemetryログプロトコルを使用してエクスポートされます。

要件

ステップ1: Unity CatalogでOpenTelemetryテーブルを作成します

OpenTelemetryメトリクスおよびログスキーマで事前構成されたUnity Catalogマネージドテーブルを作成します。

メトリクス テーブル

SQL
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'
)

ログテーブル

SQL
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メトリクスのサポートを有効にした任意のコーディングエージェントで、次の環境変数を設定します。

JSON
{
"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テーブルに反映されます。

次のステップ