ざっくり言うと

Code Interpreter(コードインタプリタ)とは、AIが隔離された作業場でプログラムを動かして、計算やデータ分析、グラフ作成を行う機能です。AIは文章を組み立てるのは得意でも、けた数の多い計算やファイルの集計は不安定になりがちです。そこを、プログラムに実際に計算させて補います。

呼び名は、サービスごとに違います。

サービス呼び名
ChatGPTのヘルプData analysis(データ分析)
OpenAIのAPICode 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です。最初は、これくらいの区別で十分です。

使う場面

個人事業主の仕事では、どこが助かるか

注意点

関連用語

やってみよう