LLM Code Interpreter(エルエルエム コード インタープリター)
LLMがPythonなどのコードを生成し、サンドボックス環境で実際に実行して結果をフィードバックとして受け取る機能。ChatGPTのCode Interpreter(Advanced Data Analysis)・Anthropic Claude・Gemini Code Executionが代表例。
概要
LLM Code Interpreter(コードインタープリタ)は、大規模言語モデルがPythonなどのコードを生成し、隔離されたサンドボックス環境で実際に実行し、その出力・エラー・生成ファイルをフィードバックとして受け取る機能である。
2023年7月にOpenAIがChatGPT Plus向けに「Code Interpreter」をリリースし、LLMが実際に計算・グラフ作成・ファイル変換を行えることを実証した。機能名は後に「Advanced Data Analysis」に改称されたが、一般的にCode Interpreterと呼ばれ続けている。AnthropicのClaudeやGoogle Geminiも同等のコード実行機能を2024〜2025年にかけて展開した。
動作フロー
- 問題理解: ユーザーの質問・アップロードファイルを解析
- コード生成: Python/Rコードを生成(pandas/matplotlib/numpy等を活用)
- サンドボックス実行: Docker等の隔離環境でコードを実際に実行
- 結果取得: 標準出力・エラーメッセージ・生成ファイル(CSV/PNG等)を取得
- フィードバック解釈: 実行結果を解析し次のステップを判断→必要なら修正して再実行
- 回答生成: 実行結果に基づく解説・分析結果を自然言語で提供
主要サービス比較表
| サービス | 実行言語 | ファイル入出力 | グラフ出力 | 料金 |
|---|---|---|---|---|
| ChatGPT(Advanced Data Analysis) | Python | ○(最大512MB) | ○(PNG/SVG) | Plus $20/月 |
| Claude(claude.ai) | Python | ○ | ○ | Pro $20/月 |
| Gemini Advanced | Python | ○ | ○ | Google One $20/月 |
| Cursor/GitHub Copilot | 多言語 | ローカル | IDE内 | $10/月〜 |
典型的なユースケース
データ分析:
ユーザー: 「このCSVのデータを分析して月別売上の推移グラフを作って」
→ LLMがpandas+matplotlibコードを生成
→ 実行してグラフPNGを生成・返却
統計分析:
ユーザー: 「A/Bテストの結果が有意かt検定で確認して」
→ scipy.stats.ttest_indを使ったコードを生成・実行
→ p値・有意差の有無を解説
ファイル変換:
- 100枚の画像をリサイズして一括ZIP
- PDFから表データをCSVに抽出
- 複数のExcelシートを結合
API経由での利用(Anthropic)
import anthropic
client = anthropic.Anthropic()
# Claude APIではtool useを通じてcode execution環境を提供
# 2024年末時点でAnthropicもCode ExecutionツールをAPI提供開始
response = client.beta.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=4096,
tools=[{"type": "code_interpreter", "name": "code_interpreter"}],
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "次のデータを分析してください"},
{"type": "document", "source": {"type": "base64", "media_type": "text/csv", "data": csv_data}}
]
}]
)
セキュリティとサンドボックス
Code Interpreterはネットワークアクセスなし・ファイルシステム制限・実行時間制限のサンドボックスで動作する。ChatGPTのコンテナは各セッションごとに初期化されるため、悪意あるコードが外部に影響する可能性は極めて低い。ただしアップロードしたデータはOpenAI/Anthropicのサーバーに送信される点を考慮する必要がある。
よくある質問(FAQ)
Q1: 自作のPythonスクリプトを実行させることはできますか? A: コードを直接ペーストするか「このコードを実行して」と指示すれば実行します。ただし外部URLへのアクセス・pip install(事前インストール済みライブラリ以外)・大量のループ処理はサンドボックスの制限で失敗することがあります。
Q2: 実行環境にはどのライブラリが使えますか? A: ChatGPTはpandas/numpy/matplotlib/scipy/PIL/sklearn/seaborn等、データ分析で一般的なライブラリが利用可能です。機械学習系のPyTorch/TensorFlowは利用できないか制限があります。
Q3: 機密データをアップロードして分析させても安全ですか? A: データはOpenAI/Anthropicのサーバーに送信・保存されます。GDPR/個人情報保護法の観点から機密データのアップロードは慎重に判断してください。オンプレミス展開や匿名化処理の実施を検討することを推奨します。
まとめ
- LLM Code Interpreterは2023年7月にChatGPTが実用化したLLMによるコード実行機能
- Pythonサンドボックスでデータ分析・グラフ・ファイル変換を自律実行しフィードバックループで精度向上
- ChatGPT/Claude/Geminiの主要LLMサービスが2024〜2025年に対応完了
- 機密データのアップロードはGDPR等の観点から慎重に判断が必要