3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code + DatabricksおよびMLflowによるトレーシングのセットアップ手順

Last updated at Posted at 2026-01-03

はじめに

Claude Codeは、ターミナルから直接Claudeに開発タスクを委譲できるコマンドラインツールです。本記事では、Databricksの基盤モデルAPIとしてホストされているClaudeをClaude Codeのバックエンドとして利用する方法と、MLflowを使って会話履歴をトレーシングする方法を紹介します。

前提条件

本記事では、以下の環境が既に準備されていることを前提とします。

  • Claude Codeがインストール済みであること
  • Databricksワークスペースへのアクセス権があること
  • Databricksワークスペース上で個人アクセストークンを取得済みであること

Part 1: Claude Code + Databricksの設定

Databricksの基盤モデルAPIでホストされているClaudeを、Claude Codeから利用するための設定を行います。以下の記事も併せてご覧ください。

1. Serving endpointsからIntegrate coding agentsを開く

ワークスペースの「サービング」を開き、「Integrate coding agents」カードをクリックします。

image.png
Serving endpoints一覧画面

2. Claude Codeの設定を行う

「Other Integrations」タブから「Claude Code」を選択し、デフォルトモデル、OpusとSonnetのデフォルトモデルを選びます。ここでは4.5のモデルを選択します。

image.png
Integrate coding agents > Claude Code設定画面

設定を選択すると、以下のような設定のJSONが表示されます。

{
    "env": {
        "ANTHROPIC_MODEL": "databricks-claude-opus-4-5",
        "ANTHROPIC_BASE_URL": "https://your-workspace.cloud.databricks.com/serving-endpoints/anthropic",
        "ANTHROPIC_AUTH_TOKEN": "<REPLACE-WITH-DATABRICKS-TOKEN>",
        "ANTHROPIC_DEFAULT_OPUS_MODEL": "databricks-claude-opus-4-5",
        "ANTHROPIC_DEFAULT_SONNET_MODEL": "databricks-claude-sonnet-4-5",
        "ANTHROPIC_CUSTOM_HEADERS": "x-databricks-disable-beta-headers: true"
    }
}

3. settings.jsonに設定を追加

表示された設定を ~/.claude/settings.json に貼り付けます。

設定ファイルの配置場所について

設定ファイルの配置場所は用途に応じて選択してください。

配置場所 用途
~/.claude/settings.json ユーザー全体の設定
<project>/.claude/settings.json プロジェクト単位の設定(Git管理対象)
<project>/.claude/settings.local.json プロジェクト単位の個人設定(Git管理対象外)

基本的にはユーザー全体の設定(~/.claude/settings.json)に記載するケースが多いと思います。ただし、プロジェクトごとに使用するモデルを変えたい場合は、プロジェクトの設定に記載します。その場合、チームで共通化したい内容(モデル名、ベースURLなど)は settings.json に、個人アクセストークン(PAT)などの機密情報は settings.local.json に分けて記載するのが良いでしょう。

4. 動作確認

Claude Codeを起動して、以下のように指定したモデル (ここでは databricks-claude-opus-4-5・API Usage Billing) が表示されていれば設定完了です。

image.png
Claude Code起動画面:Databricksモデルが選択されている

/model コマンドでも設定を確認できます。

image.png
/modelコマンドでのモデル選択画面

Part 2: MLflowによるトレーシングの設定

MLflowを使ってClaude Codeの会話をトレースし、Databricksのエクスペリメントに記録する方法を紹介します。基本的には以下の公式ドキュメントに沿って設定していきます。

1. MLflowのインストール

pip install --upgrade "mlflow[databricks]>=3.4"

2. 環境変数の設定

公式ドキュメントでは以下のようにexportで設定しています。

export DATABRICKS_HOST="https://your-workspace.cloud.databricks.com"
export DATABRICKS_TOKEN="your-personal-access-token"
export ANTHROPIC_API_KEY="your-anthropic-api-key"

ターミナルを閉じると環境変数が失われるため、永続化したい場合は、Claudeの設定ファイルに記載するのが良いでしょう。ユーザー設定の ~/.claude/settings.json またはプロジェクトごとのユーザー設定 .claude/settings.local.jsonenv セクションに記載するのが良いと思います。Claude Code on Databricksの設定と合わせると、以下のような形になります。

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "env": {
    "ANTHROPIC_MODEL": "databricks-claude-opus-4-5",
    "ANTHROPIC_BASE_URL": "https://your-workspace.cloud.databricks.com/serving-endpoints/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "YOUR_PERSONAL_TOKEN",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "databricks-claude-opus-4-5",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "databricks-claude-sonnet-4-5",
    "ANTHROPIC_CUSTOM_HEADERS": "x-databricks-disable-beta-headers: true",
    "DATABRICKS_HOST": "https://your-workspace.cloud.databricks.com",
    "DATABRICKS_TOKEN": "YOUR_PERSONAL_TOKEN"
  }
}

ANTHROPIC_AUTH_TOKENANTHROPIC_API_KEY の両方を指定すると、Claude Code起動時に警告が出るため、ここでは ANTHROPIC_AUTH_TOKEN のみ記載しています。

3. エクスペリメントの作成

Databricksワークスペース側でプロジェクトに対応するエクスペリメントを先に作成します。「エクスペリメント」→「GenAIアプリとエージェント」から任意の名前でエクスペリメントを作成します。

image.png
エクスペリメント一覧画面

作成したらURLからエクスペリメントIDを抜き出します。

https://your-workspace.cloud.databricks.com/ml/experiments/3215653466003829/traces
                                                          ^^^^^^^^^^^^^^^^
                                                          このIDをコピー

4. MLflow autologの設定

プロジェクトディレクトリに移動し、MLflow autologの設定のコマンドを実行します。-eはエクスペリメントID、-uはトラッキングURLを指定するオプションです。

cd project_dir
mlflow autolog claude -u databricks -e 3215653466003829

これにより、プロジェクトディレクトリの .claude/settings.json に以下の設定が追加されます。

{
  "environment": {
    "MLFLOW_EXPERIMENT_ID": "3215653466003829",
    "MLFLOW_CLAUDE_TRACING_ENABLED": "true",
    "MLFLOW_TRACKING_URI": "databricks"
  },
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "python -c \"from mlflow.claude_code.hooks import stop_hook_handler; stop_hook_handler()\""
          }
        ]
      }
    ]
  }
}

5. 設定状態の確認

mlflow autolog claude --status

以下のように表示されれば設定完了です。

📍 Claude tracing status in: /Users/hiroyuki.nakazato/0/repos/hinak-repos
✅ Claude tracing is ENABLED
📊 Tracking URI: databricks
🔬 Experiment ID: 3215653466003829

6. 動作確認

試しにプロンプトを実行してみます。

claude -p "My first prompt"

.claude/mlflow/claude_tracing.log に以下のようなログが出力されます。

2026-01-03 23:30:09,128 - mlflow.claude_code.tracing - CLAUDE_TRACING - Stop hook: session=e9db9dc0-5fe5-46da-9665-9a948241d8fd, transcript=/Users/hiroyuki.nakazato/.claude/projects/-Users-hiroyuki-nakazato-0-repos-hinak-repos/e9db9dc0-5fe5-46da-9665-9a948241d8fd.jsonl
2026-01-03 23:30:09,130 - mlflow.claude_code.tracing - CLAUDE_TRACING - Creating MLflow trace for session: e9db9dc0-5fe5-46da-9665-9a948241d8fd
2026-01-03 23:30:10,346 - mlflow.claude_code.tracing - CLAUDE_TRACING - Created MLflow trace: tr-4102ee5794e3ee34a1fdab162de3e570

エクスペリメントの「Traces」タブでプロンプトが記録されていれば設定完了です。

image.png
エクスペリメントのTraces画面

参考情報

以下は参考情報です。

トレーシング結果の例

以下はあるプロジェクトでClaude Codeのスラッシュコマンド /init を実施した際のトレーシング結果です。利用されたツールや時間、詳細を確認することができます。

image.png

image.png

mlflow autolog claudeのヘルプ(2026年1月3日時点)

以下は2026年1月3日時点のヘルプ情報です。変わる可能性があるので参考程度にしてください。

Usage: mlflow autolog claude [OPTIONS] [DIRECTORY]

  Set up Claude Code tracing in a directory.

  This command configures Claude Code hooks to automatically trace
  conversations to MLflow. After setup, use the regular 'claude' command and
  traces will be automatically created.

  DIRECTORY: Directory to set up tracing in (default: current directory)

  Examples:

    # Set up tracing in current directory with local storage
    mlflow autolog claude

    # Set up tracing in a specific project directory
    mlflow autolog claude ~/my-project

    # Set up tracing with Databricks
    mlflow autolog claude -u databricks -e 123456789

    # Set up tracing with custom tracking URI
    mlflow autolog claude -u file://./custom-mlruns

    # Disable tracing in current directory
    mlflow autolog claude --disable

Options:
  -u, --tracking-uri TEXT     MLflow tracking URI (e.g., 'databricks' or
                              'file://mlruns')
  -e, --experiment-id TEXT    MLflow experiment ID
  -n, --experiment-name TEXT  MLflow experiment name
  --disable                   Disable Claude tracing in the specified
                              directory
  --status                    Show current tracing status
  --help                      Show this message and exit.

おわりに

本記事では、Databricksの基盤モデルAPIでホストされているClaudeをClaude Codeから利用する方法と、MLflowを使って会話履歴をトレーシングする方法を紹介しました。

この構成により、以下のメリットが得られます。

  • DatabricksでホストされているClaudeモデルをClaude Codeから利用できる
  • MLflowのトレーシング機能でClaude Codeの会話履歴をDatabricksに記録できる
  • エンタープライズ環境でのガバナンスを確保しながらClaude Codeを活用できる

トークン等の機密情報はGit管理対象外のファイルに設定することを忘れずに実施してください。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?