ざっくり言うと
Code Interpreter(コードインタプリタ)とは、AIが隔離された作業場でプログラムを動かして、計算やデータ分析、グラフ作成を行う機能です。AIは文章を組み立てるのは得意でも、けた数の多い計算やファイルの集計は不安定になりがちです。そこを、プログラムに実際に計算させて補います。
呼び名は、サービスごとに違います。
| サービス | 呼び名 |
|---|---|
| ChatGPTのヘルプ | Data analysis(データ分析) |
| OpenAIのAPI | Code Interpreter |
| AnthropicのClaude(API) | code execution tool |
名前も扱える言語もさまざまですが、AIが外と切り離した環境でコードを動かす、という骨組みは共通しています。
イメージ
大事なのは、AIが文章の予測だけで数字を出すのではなく、プログラムに計算させて、その結果を読んでいる点です。
計算そのものは、書かれたコードのとおりに進みます。ただし、AIが書いたコードや読み込んだデータ、前提が正しいかどうかは、別に確かめないと分かりません。
正確には
OpenAIのヘルプセンターは、ChatGPTのData analysisをこう説明しています。アップロードしたデータを、作業の状態が引き継がれるJupyter Notebookの環境で、Pythonを使って分析・変換・可視化できる機能。使った人は、ChatGPTが動かしたコードと出力を自分の目で確認できます。
OpenAIのAPIにあるCode Interpreterも、考え方は同じです。モデルがサンドボックス(外と切り離した実行環境)の中でPythonを書いて動かし、ファイルの処理やグラフ作成を行います。
ClaudeのAPIにあるcode execution toolは、隔離された環境で動きます。Pythonに加えて、Bashコマンドやファイル操作も実行できるのが特徴です。
なぜプログラムを呼ぶのか
そもそも、なぜわざわざプログラムを呼び出すのでしょうか。LLM(大量の文章から言葉のつながりを学んだAI)の本職は、次に来そうな言葉を予測することだからです。
文章を作るのは得意です。その一方で、正確な四則演算や、長い数字の並びの処理、ファイルの中身を厳密に扱うことは苦手です。
| 作業 | LLMだけの場合 | Code Interpreterがある場合 |
|---|---|---|
| 雑談・要約・翻訳 | 得意 | 同じく得意 |
| 「13桁 ×7桁」の計算 | 誤ることがある | コードで再現可能。ただし式の指定は要確認 |
| CSVファイルの集計 | 大量・複雑な処理は不安定 | Pythonなどで読み込んで処理できる |
| グラフの画像生成 | 実行ツールがなければ難しい | 対応ライブラリで描画できる |
| PDFからの情報抽出 | モデル・機能によって制約がある | 対応形式・ライブラリの範囲で処理できる |
Code Interpreterは、AIの苦手な部分をプログラムに肩代わりさせる発想から生まれた機能です。そう考えると、位置づけが分かりやすくなります。
よく使われる場面
OpenAIとAnthropicの公式説明から、代表的な使い道を挙げます。
- データ分析
CSVやExcelをアップロードして、合計・平均・並べ替え・絞り込みを行う - 可視化
集計した数字から、棒グラフや折れ線グラフ、散布図を作る - ファイル変換
PDFからテキストを取り出す、画像の大きさを変える、CSVをExcelにする - 数値計算
統計の処理、シミュレーション、込み入った数式の計算
プログラマーがPythonで書いていたような作業を、ふだんの言葉で頼めます。ここが大きな価値です。
Function Callingとの違い
似た仕組みに Function Calling があります。どちらもAIが外の道具を呼ぶ点は同じで、違うのは、道具を誰が用意するかです。
Code Interpreter
AIがその場でプログラムを書いて、そのまま実行します。
Function Calling
開発者が先に用意した関数(API)を、AIが呼び出します。
自分でコードを書いて走らせるのがCode Interpreter、用意された関数を呼ぶのがFunction Callingです。最初は、これくらいの区別で十分です。
使う場面
個人事業主の仕事では、どこが助かるか
注意点
関連用語
- Function Calling — 開発者が先に用意した関数を、AIに呼び出させる仕組みです
- AIエージェント — 目標を伝えると、道具を使い分けて最後まで進めてくれるAIです
- LLM(大規模言語モデル) — 言葉の予測を本職にする、AIの土台の部分です
やってみよう