Code Execution Toolとは
Code Execution Tool(コードエグゼキューションツール)とは、Anthropicが提供するClaude API向けの公式ツールの一つで、Claudeが生成したPythonコードを安全なコンテナサンドボックス内で実行し、その結果を踏まえて次の応答を生成できるようにする仕組みである。型はcode_execution_20250825として2025年8月にGAリリースされ、2026年現在もClaudeのエージェント能力を支える中核ツールとして提供されている。
イメージとしては「Claudeに電卓ではなく本物のJupyter環境を渡す」ようなもの。たとえばCSVをアップロードして「年齢ごとの平均値を出して」と頼むと、Claudeはpandasコードを書き、自分でそれを実行し、出力をもとに自然言語でまとめて返してくれる。従来は開発者が結果を計算・整形してプロンプトに戻す必要があったが、Code Execution Toolによりこのループがツール側に閉じ込められる。
Code Execution Toolの読み方
コードエグゼキューションツール
コード実行ツール
コードエクセキューションツール
Code Execution Toolの仕組み
Code Execution Toolが動作するときの内部フローは大まかに次の4段階で構成される。実務でデバッグするときは、この流れを把握しておくとエラー原因の切り分けが格段に楽になる。
Code Execution Toolの実行フロー
サンドボックスはAnthropicがホストする隔離コンテナで、ネットワークは制限され、ファイルシステムは一時的なボリュームに固定される。実行環境にはPython・NumPy・pandas・matplotlib・SciPyなど代表的な科学計算ライブラリがプリインストールされており、追加のパッケージインストールは原則できない(Files APIで持ち込む形になる)。ここが重要なポイントです — 自由にpip installできる開発用Jupyterとは設計思想が異なる。
サンドボックスの隔離設計
Anthropicの公式ドキュメントによれば、Code Executionコンテナは1リクエスト〜1セッション単位で揮発する。つまり同一会話の中ではファイルや変数は共有できるが、別の会話に持ち越すことはできない。永続的なデータが必要な場合は、Files APIで明示的に保存・参照する必要がある。実務では「会話を跨いでもCSVが残る」と勘違いした実装でハマるケースがあるので注意したい。
Code Execution Toolの使い方・実例
基本的な使い方(Quick Start)
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-6",
max_tokens=4096,
tools=[{
"type": "code_execution_20250825",
"name": "code_execution"
}],
messages=[{
"role": "user",
"content": "1から100までの素数の個数を計算して"
}]
)
print(response.content)
たった数行で「Pythonを書ける・実行できるClaude」が手に入る。実務では tools 配列に他のツール(Web検索やBash Tool)を併用するパターンが多い。覚えておきたいのは、Claudeはユーザーの質問内容を見て自分で「コードを書くべきか」を判断するため、毎回確実にコードが実行されるわけではないという点。
よくある実装パターン
パターンA: データ分析エージェント
import anthropic
client = anthropic.Anthropic()
# Files APIで事前にCSVをアップロードしておく
file_id = "file_abc123"
response = client.messages.create(
model="claude-opus-4-6",
max_tokens=8192,
tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
extra_headers={"anthropic-beta": "files-api-2025-04-14"},
messages=[{
"role": "user",
"content": [
{"type": "container_upload", "file_id": file_id},
{"type": "text", "text": "売上データを月次でグループ化し、上位5つの商品をグラフ化して"}
]
}]
)
向いているケース: 数値計算・チャート生成・データクレンジングなど、結果を検証する必要がある業務
避けるべきケース: 大量の外部APIを叩く処理(サンドボックスのネットワークが制限されているため)
パターンB: 数学・数値検証エージェント
response = client.messages.create(
model="claude-opus-4-6",
max_tokens=2048,
tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
messages=[{
"role": "user",
"content": "係数a=2,b=-7,c=3の二次方程式の解を求めて、検算もして"
}]
)
向いているケース: 数学問題、統計、シミュレーション、正規表現検証など、ハルシネーションが致命的な領域
避けるべきケース: 単純な四則演算(モデル単体で十分速い)
アンチパターン: 機密情報をサンドボックスに送る
# ⛔ 絶対NG
messages=[{"role": "user", "content": "APIキー sk_live_xxx を環境変数にして実行"}]
Code Executionサンドボックスはユーザー入力をログに残す可能性があり、APIキーやアクセストークンを直接送信するのは避けるべき。実務ではクライアント側で環境変数を読み、必要なら結果だけツール経由で渡す設計にすること。
Code Execution Toolのメリット・デメリット
メリット
- Claudeが「考えて検証する」サイクルを自動で実行できる(ハルシネーション削減)
- サンドボックスはAnthropicが管理するため、自前でDockerやSeccompを構築しなくてよい
- matplotlib・pandas・numpyなどの定番ライブラリがプリインストール済み
- Files APIと組み合わせて、CSV/Excel/PDFを直接処理できる
デメリット
- サンドボックスの起動コストが追加で発生する(公式価格表で要確認)
- 外部ネットワーク呼び出しが原則制限される(社内APIを叩けない)
- パッケージの自由インストールは不可。標準ライブラリ+プリインストール分のみ
- セッションを跨いだ永続化はできない(Files APIで明示保存が必要)
Code Execution ToolとBash Toolの違い
Code Execution ToolとBash Toolは「Claudeに環境を実行させる」点で混同されやすいが、設計思想は明確に異なる。下記の比較表で違いを整理する。
| 観点 | Code Execution Tool | Bash Tool | Computer Use |
|---|---|---|---|
| 役割 | Pythonコードの実行に特化 | シェルコマンド全般を実行 | 画面操作・GUI自動化 |
| サンドボックス管理 | Anthropicがホスト | 開発者側で実装 | 開発者側で仮想デスクトップを用意 |
| ネットワーク | 制限あり | 開発者の設定次第 | 完全アクセス可 |
| プリインストール | pandas/numpy/matplotlibなど | 開発者次第 | OSとアプリ次第 |
| 主な用途 | 数値計算・分析・可視化 | ファイル操作・スクリプト実行 | 人間の作業を代替 |
| セットアップ難度 | 低(API有効化のみ) | 中(コンテナ準備が必要) | 高(仮想デスクトップ構築) |
つまり「数値・データを正しく扱いたい」場面ではCode Execution Tool、「ローカルファイルやプロジェクトを編集したい」場面ではBash Toolが向いている。両者を併用するエージェント設計も一般的だ。
よくある誤解
誤解1: 「Code Execution ToolはClaude Codeと同じものだ」
なぜそう誤解されるのか: 名前に「Code」が入っており、どちらも「Claudeにコードを書かせる」と説明されることが多いため、初学者には機能の境界が見えにくい。Anthropicの公式ブログでも両者を併記する記事が増えていることが混同を促している。
正しい理解: Claude CodeはAnthropicが配布するCLIツールおよびエージェントSDKであり、ローカルマシンや開発者のリポジトリ上でコードを編集する。一方Code Execution ToolはClaude APIで提供される「ツール」の一種で、Anthropic管理のクラウドサンドボックスでPythonを実行する。前者は開発者環境への直接アクセス、後者は隔離環境での計算が役割であり、目的レイヤーが異なる。
誤解2: 「Code Execution Toolはどんなパッケージでも自由にインストールできる」
なぜそう誤解されるのか: 通常のJupyter NotebookやGoogle Colabのイメージから「Pythonサンドボックス=pip install自由」という連想が働きやすい。また初期のドキュメントが「pre-installed library」と表現するに留まっていた時期があり、「他のもインストール可能」と誤読されていた背景もある。
正しい理解: 公式ドキュメントは利用可能なパッケージを列挙しており、それ以外のインストールは原則制限されている。NumPyやpandasなど主要ライブラリは網羅されているが、特殊なライブラリが必要な場合はFiles API経由で持ち込むか、独自のBash Toolサンドボックスを構築する設計に切り替えるのが正解。
誤解3: 「Code Execution Toolは無料で無制限に使える」
なぜそう誤解されるのか: ChatGPTのCode Interpreterが定額プランに含まれている経験から、API側のCode Executionも同様のイメージで捉えられがち。混同されやすい背景には「ツール=モデル料金に含まれる」という思い込みがある。
正しい理解: Code Execution Toolはモデルの入出力トークン料金に加え、コンテナ実行時間に応じた追加料金が発生する。Anthropicの料金ページで最新の価格を確認することが必須。本番運用ではコスト試算を怠らないこと。
実務での活用シーン
実務では次のような使い方が定着しつつある。
BIダッシュボード補助
社内のCSVをアップロードして「先月との差分を可視化して」と指示するだけで、Claudeがpandasで集計し、matplotlibで折れ線グラフを返してくれる。BIツール導入前のクイック分析に向いている。
ETLの正規表現検証
「このログ形式から日付をパースする正規表現を作り、サンプル100行で検証して」のように依頼すると、Claudeが自分でテストデータを生成し、正規表現を検証して返す。実装前のプロトタイピングを大幅に短縮できる。
金融計算・統計検定
NPV・IRRなどの財務計算や、t検定・カイ二乗検定などの統計処理は、ハルシネーションが致命傷になる領域。Code Execution Toolで実コードを走らせれば、誤った数値が返るリスクを大幅に減らせる。
よくある質問(FAQ)
Q1. Code Execution ToolはClaude.aiのアーティファクトと同じですか?
いいえ。アーティファクトは生成したコードや文書を表示するUI機能で、コードの自動実行は限定的です。Code Execution ToolはAPI上でPythonを実行する「ツール」で、結果を踏まえてClaudeが応答を継続します。
Q2. Code Execution Toolはどの言語に対応していますか?
2026年5月現在、公式に提供されるのはPythonのみです。Bash Toolと組み合わせれば他言語のスクリプトを起動することも可能ですが、サンドボックス内のランタイムは公式ドキュメントを確認してください。
Q3. ファイルアップロードの上限は?
Files APIの仕様に準拠します。最新の上限値・サポート形式は公式ドキュメントを参照してください。大きなファイルはチャンク分割するのが実務上の定石です。
Q4. Code Execution Toolの実行はどれくらい遅いですか?
サンドボックス起動のオーバーヘッドが数百ミリ秒〜数秒かかるケースがあります。短いプロンプトに対して毎回ツール起動するとレイテンシが目立つため、必要なときだけ呼ぶプロンプト設計が推奨されます。
まとめ
- Code Execution Toolは、Anthropic Claude APIで提供される公式ツールで、Pythonコードをサンドボックス実行する仕組み
- 型は
code_execution_20250825、2025年8月にGAリリース - サンドボックスはAnthropic管理で隔離されており、ネットワークは制限される
- 主要な科学計算ライブラリがプリインストール済みで、Files APIとの連携でCSV/Excelの分析も可能
- Bash ToolやComputer Useと役割が異なり、組み合わせて使う設計が一般的
- 実務では数値検証・データ分析・正規表現プロトタイピングで効果が高い
参考文献・出典
📚 参考文献・出典
- ・Anthropic「Code execution tool – Claude API Docs」 https://platform.claude.com/docs/en/agents-and-tools/tool-use/code-execution-tool
- ・Anthropic「Introducing advanced tool use on the Claude Developer Platform」 https://www.anthropic.com/engineering/advanced-tool-use
- ・Anthropic「Programmatic tool calling – Claude API Docs」 https://platform.claude.com/docs/en/agents-and-tools/tool-use/programmatic-tool-calling
- ・Anthropic「Claude API Documentation」 https://platform.claude.com/docs/en/home





































コメントを残す