Claude API のコード実行ツール(code execution)の使い方

Claude.ai エンジニアリング 7分で読めます

コード実行(code execution)ツールを使うと、Claude がサンドボックス環境で Python コードを書いて実行し、その結果をもとに回答できます。データの集計・グラフ作成・数式の検証など、テキスト生成だけでは不正確になりがちな処理を、実際にコードを走らせて確実に行わせられます。この記事では、ツールの有効化、実行結果やファイル出力の受け取り方、Files API との連携までを解説します。本機能はベータ扱いです。

コード実行ツールとは

コード実行ツールは、Anthropic 側が用意したサンドボックス(隔離環境)で Python を実行できる、サーバー側完結型のツールです。ツール使用(tool use)の一種ですが、get_weather のように自分で実行を担当する必要はなく、実行はAnthropicの環境が行い、結果が応答に含まれて返ってきます。数値計算、CSVの集計、統計処理、グラフ画像の生成などを、モデルの推測ではなく実際の実行結果に基づかせたいときに有効です。

ツールを有効にしてリクエストする

コード実行は、ベータヘッダーを付け、専用のサーバー側ツール型を tools に指定して有効化します。関数のように input_schema を自分で書く必要はなく、型名を指定するだけです。

{
  "model": "claude-sonnet-5",
  "max_tokens": 2048,
  "tools": [
    { "type": "code_execution_20250522", "name": "code_execution" }
  ],
  "messages": [
    { "role": "user", "content": "1から100までの素数の個数を計算して" }
  ]
}

ツール型の識別子やベータヘッダーはバージョンで変わるため、利用時は最新ドキュメントで正確な値を確認してください。モデルは必要と判断すると Python を書いて実行し、その出力を踏まえて回答します。

実行結果とファイル出力を受け取る

応答には、モデルが実行したコードとその結果(標準出力、エラー、戻り値など)が構造化されたブロックとして含まれます。あなたのコードは、この実行結果ブロックを読み取ることで「実際に何を計算したか」を確認できます。

また、コードがグラフ画像やCSVなどのファイルを生成した場合、それらはサンドボックス内のファイルとして扱われ、file_id で参照できます。生成物の中身を取得したいときは、その file_id を Files API 経由でダウンロードします。

Files API と組み合わせる

コード実行は Files API と組み合わせると実用性が大きく上がります。分析したいCSVやデータファイルを事前に Files API へアップロードして file_id を得ておき、それをメッセージで参照すると、モデルはその file_id を使ってサンドボックス内でファイルを読み込み、集計や可視化を行えます。逆に、コード実行が生成した画像やファイルは file_id として返るので、Files API でダウンロードして保存できます。「アップロード→分析→生成物のダウンロード」という一連のデータ処理を、モデルに任せられるわけです。

対応状況と料金の考え方

コード実行はベータ機能で、対応モデルでのみ利用できます。料金は通常の入出力トークンに加え、サンドボックスの実行時間に応じたコストがかかる形が基本です(具体的な単価と課金単位は最新の料金ページで確認してください)。長時間の重い処理や大きなデータを扱うほど時間課金が増えるため、必要な範囲に絞るのがコツです。まずは小さなデータで挙動と結果ブロックの構造を確認し、Files API と合わせて「アップロード→分析→ダウンロード」の流れを試すのがおすすめです。