コード実行ツール
コード実行ツールは、Claudeが安全なサンドボックス環境でPythonコードを実行することを可能にします。 Claudeは、データの分析、視覚化の作成、複雑な計算の実行、およびアップロードされたファイルの処理を API会話内で直接行うことができます。
コード実行ツールは現在ベータ版です。
この機能にはベータヘッダーが必要です:"anthropic-beta": "code-execution-2025-05-22"
サポートされているモデル
コード実行ツールは以下で利用可能です:
- Claude Opus 4 (
claude-opus-4-20250514
) - Claude Sonnet 4 (
claude-sonnet-4-20250514
) - Claude Sonnet 3.7 (
claude-3-7-sonnet-20250219
) - Claude Haiku 3.5 (
claude-3-5-haiku-latest
)
クイックスタート
以下は、Claudeに計算を実行してもらう簡単な例です:
コード実行の仕組み
コード実行ツールをAPIリクエストに追加すると:
- Claudeは、コード実行があなたの質問に答えるのに役立つかどうかを評価します
- Claudeは安全なサンドボックス環境でPythonコードを書いて実行します
- コード実行は単一のリクエスト中に複数回発生する可能性があります
- Claudeは生成されたチャート、計算、または分析とともに結果を提供します
ツール定義
コード実行ツールは追加のパラメータを必要としません:
レスポンス形式
以下はコード実行を含むレスポンスの例です:
結果
コード実行結果には以下が含まれます:
stdout
:print文と成功した実行からの出力stderr
:コード実行が失敗した場合のエラーメッセージreturn_code
(成功の場合は0、失敗の場合は非ゼロ)
エラー
ツールの使用でエラーが発生した場合、code_execution_tool_result_error
が表示されます
可能なエラーには以下が含まれます
unavailable
:コード実行ツールが利用できませんcode_execution_exceeded
:実行時間が最大許可時間を超えましたcontainer_expired
:コンテナが期限切れで利用できません
pause_turn
停止理由
レスポンスにはpause_turn
停止理由が含まれる場合があり、これはAPIが長時間実行されるターンを一時停止したことを示します。後続のリクエストでレスポンスをそのまま提供してClaudeにターンを続行させるか、会話を中断したい場合はコンテンツを変更することができます。
コード実行でのファイルの操作
コード実行は、CSVファイル、Excelファイル、その他のデータ形式など、Files APIを介してアップロードされたファイルを分析できます。 これにより、Claudeはあなたのデータを読み取り、処理し、洞察を生成できます。リクエストごとに複数のファイルを渡すことができます。
コード実行でFiles APIを使用するには、2つのベータヘッダーが必要です:"anthropic-beta": "code-execution-2025-05-22,files-api-2025-04-14"
サポートされているファイルタイプ
Python環境は以下のファイルタイプを操作できますが、これらに限定されません
- CSV
- Excel (.xlsx, .xls)
- JSON
- XML
- 画像 (JPEG, PNG, GIF, WebP)
- テキストファイル (.txt, .md, .py, など)
コード実行用のファイルの読み込み
- ファイルをアップロード:Files APIを使用してファイルをアップロードします
- ファイルを参照:
container_upload
コンテンツブロックを使用してメッセージでファイルを参照します - コード実行ツールを含める:APIリクエストにコード実行ツールを含めます
コード実行で作成されたファイルの取得
Claudeがコード実行中にファイルを作成した場合(例:matplotlibプロットの保存、CSVの生成)、Files APIを使用してこれらのファイルを取得できます:
コンテナ
コード実行ツールは、Pythonコード実行専用に設計された安全なコンテナ化環境で実行されます。
ランタイム環境
- Pythonバージョン:3.11.12
- オペレーティングシステム:Linuxベースのコンテナ
- アーキテクチャ:x86_64 (AMD64)
リソース制限
- メモリ:1GiB RAM
- ディスク容量:5GiBワークスペースストレージ
- CPU:1 CPU
ネットワークとセキュリティ
- インターネットアクセス:セキュリティのため完全に無効
- 外部接続:アウトバウンドネットワークリクエストは許可されません
- サンドボックス分離:ホストシステムと他のコンテナからの完全な分離
- ファイルアクセス:ワークスペースディレクトリのみに制限
- ワークスペーススコープ:Filesと同様に、コンテナはAPIキーのワークスペースにスコープされます
- 有効期限:コンテナは作成から1時間後に期限切れになります
プリインストールライブラリ
サンドボックス化されたPython環境には、これらの一般的に使用されるライブラリが含まれています:
- データサイエンス:pandas、numpy、scipy、scikit-learn、statsmodels
- 視覚化:matplotlib
- ファイル処理:pyarrow、openpyxl、xlrd、pillow
- 数学・計算:sympy、mpmath
- ユーティリティ:tqdm、python-dateutil、pytz、joblib
コンテナの再利用
以前のレスポンスからコンテナIDを提供することで、複数のAPIリクエスト間で既存のコンテナを再利用できます。 これにより、リクエスト間で作成されたファイルを維持できます。
例
ストリーミング
ストリーミングが有効になっている場合、コード実行イベントが発生するたびに受信されます:
バッチリクエスト
Messages Batches APIにコード実行ツールを含めることができます。Messages Batches APIを通じたコード実行ツール呼び出しは、通常のMessages APIリクエストと同じ価格で提供されます。
使用方法と価格
The code execution tool usage is tracked separately from token usage. Execution time is a minimum of 5 minutes. If files are included in the request, execution time is billed even if the tool is not used due to files being preloaded onto the container.
Pricing: $0.05 per session-hour.