次の方法で共有


コーディング エージェントとの統合

Important

この機能は ベータ版です。 アカウント管理者は、[ プレビュー] ページからこの機能へのアクセスを制御できます。

Azure Databricks コーディング エージェント統合を使用すると、Cursor、Gemini CLI、Codex CLI、Claude Code などのコーディング エージェントのアクセスと使用を管理できます。 AI Gateway 上に構築され、コーディング ツールのレート制限、使用状況の追跡、推論テーブルを提供します。

Features

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

Requirements

サポートされているエージェント

次のコーディング エージェントがサポートされています。

設定

Cursor

AI ゲートウェイ エンドポイントを使用するように Cursor を構成するには:

手順 1: ベース URL と API キーを構成する

  1. カーソルを開き、 設定>Cursor 設定>Models>API キーに移動します。

  2. OpenAI ベース URL のオーバーライドを有効にし、URL を入力します。

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

    <ai-gateway-url>を AI ゲートウェイ エンドポイント URL に置き換えます。

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

手順 2: カスタム モデルを追加する

  1. [カーソル設定] で [ + カスタム モデルの追加] をクリックします。
  2. AI ゲートウェイ エンドポイント名を追加し、トグルを有効にします。

現時点では、Azure Databricks によって作成された基盤モデル エンドポイントのみがサポートされています。

手順 3: 統合をテストする

  1. Cmd+L (macOS) または Ctrl+L (Windows/Linux) で Ask モードを開き、モデルを選択します。
  2. メッセージを送信します。 すべての要求が Azure Databricks 経由でルーティングされるようになりました。

Codex CLI

手順 1: DATABRICKS_TOKEN環境変数を設定する

export DATABRICKS_TOKEN=<databricks_pat_token>

手順 2: Codex クライアントを構成する

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

profile = "default"

[profiles.default]
model_provider = "proxy"
model = "databricks-gpt-5-2"

[model_providers.proxy]
name = "Databricks Proxy"
base_url = "https://<ai-gateway-url>/openai/v1"
env_key = "DATABRICKS_TOKEN"
wire_api = "responses"

<ai-gateway-url>を AI ゲートウェイ エンドポイント URL に置き換えます。

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://<ai-gateway-url>/gemini
GEMINI_API_KEY_AUTH_MECHANISM="bearer"
GEMINI_API_KEY=<databricks_pat_token>

<ai-gateway-url>を AI Gateway エンドポイントの URL に置き換え、<databricks_pat_token>を個人用アクセス トークンに置き換えます。

Claude Code

手順 1: クロード コード クライアントを構成する

~/.claude/settings.json に次の構成を追加します。 詳細については、 Claude Code の設定に関するドキュメント を参照してください。

{
  "env": {
    "ANTHROPIC_MODEL": "databricks-claude-opus-4-6",
    "ANTHROPIC_BASE_URL": "https://<ai-gateway-url>/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "<databricks_pat_token>",
    "ANTHROPIC_CUSTOM_HEADERS": "x-databricks-use-coding-agent-mode: true",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
  }
}

<ai-gateway-url>を AI Gateway エンドポイントの URL に置き換え、<databricks_pat_token>を個人用アクセス トークンに置き換えます。

手順 2 (省略可能): OpenTelemetry メトリックコレクションを設定する

Claude Code から Unity カタログのマネージド デルタ テーブルにメトリックとログをエクスポートする方法の詳細については、「 OpenTelemetry データ収集の設定 」を参照してください。

Dashboard

AI Gateway を使用してコーディング エージェントの使用状況を追跡すると、すぐに使用できるダッシュボードでメトリックを表示および監視できます。

ダッシュボードにアクセスするには、[AI ゲートウェイ] ページから [ダッシュボードの表示 ] を選択します。 これにより、コーディング ツールを使用するためのグラフを含む事前構成済みのダッシュボードが作成されます。

[ダッシュボードの表示] ボタン

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

OpenTelemetry データ収集を設定する

Azure Databricks では、OpenTelemetry のメトリックとログを Claude Code から Unity カタログのマネージド デルタ テーブルにエクスポートできます。 すべてのメトリックは、OpenTelemetry 標準メトリック プロトコルを使用してエクスポートされた時系列データであり、ログは OpenTelemetry ログ プロトコルを使用してエクスポートされます。 使用可能なメトリックとイベントについては、「 Claude Code の監視の使用状況」を参照してください。

Requirements

手順 1: Unity カタログで OpenTelemetry テーブルを作成する

OpenTelemetry メトリックとログ スキーマを使用して事前構成された Unity カタログのマネージド テーブルを作成します。

メトリック テーブル

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: クロード コード設定ファイルを更新する

env ファイルの~/.claude/settings.json ブロックに次の環境変数を追加して、メトリックとログのエクスポートを有効にします。

{
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "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"
  }
}

次の部分を置き換えます。

  • <workspace-url> を Azure Databricks ワークスペース URL と共に使用します。
  • <databricks_pat_token> 個人用アクセス トークンを使用しなさい。
  • <catalog>.<schema>.<table_prefix> OpenTelemetry テーブルの作成時に使用されるカタログ、スキーマ、およびテーブル プレフィックスを使用します。

OTEL_METRIC_EXPORT_INTERVALの既定値は 6,0000 ミリ秒 (60 秒) です。 上の例では、10000 ミリ秒 (10 秒) に設定されています。 OTEL_LOGS_EXPORT_INTERVALの既定値は 5000 ミリ秒 (5 秒) です。

手順 3: クロード コードを実行する

claude

データは、5 分以内に Unity カタログ テーブルに反映されます。

次のステップ