次の方法で共有


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

Important

この機能は ベータ版です。 アカウント管理者は、アカウント コンソール の [プレビュー ] ページからこの機能へのアクセスを制御できます。 Azure Databricks プレビューの管理を参照してください。

Azure Databricks コーディング エージェント統合を使用すると、Cursor、Gemini CLI、Codex CLI などのコーディング エージェントのアクセスと使用を管理できます。 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>を個人用アクセス トークンに置き換えます。

Dashboard

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

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

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

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

OpenTelemetry データ収集を設定する

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

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 vars を更新する

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"
}

手順 3: コーディング エージェントを実行します。

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

次のステップ