> For the complete documentation index, see [llms.txt](https://docs.maiagent.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.maiagent.ai/maiagent-user-guide/ja/build/agent/code-interpreter.md).

# Code Interpreter（コード実行）

Code Interpreter（コード実行ツール）は、安全なサンドボックスで Agent が Python コードを作成・実行し、計算、データ分析、アップロードしたファイルの処理、グラフ描画、Word／Excel／PowerPoint／PDF ファイルの生成を行う機能です。サンドボックスの仕様、生成ファイルのダウンロード、スキルとの併用について説明します。

## どのような機能ですか？ <a href="#what-is-this" id="what-is-this"></a>

Code Interpreter は、Agent が**安全なサンドボックス環境**でコードを実行し、プログラムでタスクを処理できる機能です。

Code Interpreter を有効にすると、Agent はテキストで回答するだけでなく、自らプログラムを作成して計算したり、アップロードされたファイルを処理したり、Word／PowerPoint／Excel などのファイルを生成してダウンロード用に提供したりできます。

## ツールとの違いは何ですか？ <a href="#code-interpreter-vs-tool" id="code-interpreter-vs-tool"></a>

|            | ツール                      | Code Interpreter           |
| ---------- | ------------------------ | -------------------------- |
| **仕組み**    | 定義済みの外部 API を呼び出します      | サンドボックスでその場でプログラムを作成・実行します |
| **柔軟性**    | API が提供する機能に限られます        | Python でできることに対応できます       |
| **主な利用場面** | メール送信、CRM の検索、外部サービスとの連携 | 計算、データ処理、ファイル生成、グラフ描画      |

**簡単な判断基準**：外部 API を呼び出す場合はツール、計算・ファイル処理・文書生成を行う場合は Code Interpreter を使います。

## 何ができますか？ <a href="#what-it-can-do" id="what-it-can-do"></a>

* **データ分析と計算**：CSV／Excel での計算、統計、ピボット集計、データのクレンジングができます
* **グラフ描画**：データから折れ線、棒、円などのグラフを作成でき、グラフ内の中国語も正しく表示できます
* **文書生成**：Word、PowerPoint、Excel、PDF を生成してダウンロード用に提供できます
* **ファイル処理**：PDF の解析、形式変換、画像内の文字認識、アップロードしたファイルの一括処理ができます

## サンドボックス環境 <a href="#sandbox-environment" id="sandbox-environment"></a>

* 実行環境は本番システムから隔離された**安全なサンドボックス**で、他のデータには影響しません
* 会話ごとに専用のワークスペースがあり、別の会話のファイルとは共有されません
* 会話でアップロードした添付ファイル（以前のターンでアップロードしたものも含みます）は自動的にワークスペースに配置され、Agent が直接読み取れます。ナレッジベースのファイルをワークスペースにコピーして処理することもできます

### サンドボックスの仕様と制限 <a href="#sandbox-limits" id="sandbox-limits"></a>

以下はシステムのデフォルト値です。システム管理者が変更している場合があります。

| 項目                            | デフォルト値 | 超過した場合                                   |
| ----------------------------- | ------ | ---------------------------------------- |
| コマンド1回あたりの実行時間                | 30 秒   | コマンドが中止され、Agent はタイムアウト結果を受け取り、別の方法を試せます |
| メモリ                           | 512 MB | メモリ不足でプログラムが失敗する場合があります                  |
| CPU                           | 1 コア   | —                                        |
| 会話ごとのワークスペース容量                | 100 MB | 上限を超えると、以降の実行で容量不足が報告されます                |
| Agent がファイルツールで直接読み書きする単一ファイル | 10 MB  | その読み書きが失敗します。プログラムで処理する場合はこの制限を受けません     |
| コマンド1回あたりのテキスト出力              | 1 MB   | 超過部分が切り詰められます                            |

### プリインストール済みパッケージ <a href="#preinstalled-packages" id="preinstalled-packages"></a>

サンドボックスには Python 3（pip を含みます）、bash、Node.js、npm が用意されています。以下のパッケージはインストールせずに使用できます。

| 用途        | パッケージとツール                                                                       |
| --------- | ------------------------------------------------------------------------------- |
| データ分析     | numpy、pandas、scipy、sympy、scikit-learn、statsmodels                               |
| グラフ       | matplotlib（中国語フォントを設定済み）、seaborn                                                |
| Office 文書 | openpyxl、xlsxwriter、python-docx、python-pptx、markitdown、Node.js の docx、pptxgenjs |
| PDF       | reportlab、fpdf2、pypdf、pdfplumber、PyMuPDF、pdf2image、qpdf、poppler                 |
| 画像と文字認識   | Pillow、cairosvg、pytesseract（Tesseract は繁体字中国語、簡体字中国語、英語、日本語、韓国語に対応しています）        |
| Web データ   | requests、beautifulsoup4、lxml                                                    |
| 文書の形式変換   | LibreOffice、pandoc                                                              |

### パッケージのインストールや外部ネットワークへの接続はできますか？ <a href="#packages-and-network" id="packages-and-network"></a>

* **パッケージのインストール**：`pip install` で追加パッケージをインストールできますが、**その実行中のみ**有効です。次の実行では再インストールが必要です。Agent は同じ実行内でインストールと使用を行います。
* **外部ネットワークへの接続**：サンドボックスは HTTP／HTTPS で外部サイトに接続し、公開データのダウンロードや公開 API の呼び出しができます。特定の外部システムと継続的に連携する場合は、[ツール](/maiagent-user-guide/ja/build/tools.md)の利用をおすすめします。

### 同じ会話内で保持されるもの <a href="#state-persistence" id="state-persistence"></a>

| 保持されるもの                                              | 保持されないもの                             |
| ---------------------------------------------------- | ------------------------------------ |
| ワークスペース内のファイル（`/tmp` の一時ファイルを含みます）は、後続の会話ターンでも利用できます | メモリ内の変数や状態は保持されず、毎回新しいプログラムとして実行されます |
| 生成済みのダウンロード可能なファイル                                   | `pip install` で一時的にインストールしたパッケージ     |

### オンプレミス環境 <a href="#on-premise" id="on-premise"></a>

オンプレミス環境のサンドボックス仕様と外部ネットワークへの接続可否は、デプロイ設定やデータセンターのネットワークポリシーによって異なり、上表と一致しない場合があります。システム管理者にご確認ください。

## 生成ファイル：保存場所、保存期間、ダウンロード方法 <a href="#output-files" id="output-files"></a>

* **保存場所**：Agent が提供するファイルはワークスペースの `/workspace/outputs/` フォルダに配置され、会話とともに保存されます。
* **保存期間**：生成ファイルは会話とともに保存されます。会話を削除すると、ダウンロードできなくなります。
* **ダウンロード方法**：
  * Agent が提供するファイルを選ぶと、回答の下に「N 個のファイルを生成しました」カードが表示されます。<mark style="color:blue;">ダウンロード</mark>をクリックしてください。
  * MaiGPT と管理画面の会話ページの <mark style="color:blue;">Output</mark> パネルには、その会話で生成したすべてのファイルが表示され、ダウンロードやプレビューができます。
  * Web Chat では右側に<mark style="color:blue;">出力ファイル</mark>パネルが開きます。<mark style="color:blue;">ダウンロード</mark>をクリックしてください。
  * API 連携では、技術者向けマニュアルの[会話出力一覧 API](https://docs.maiagent.ai/tech/api-integration/conversation-outputs-api) で一覧を取得できます。

{% hint style="info" %}
Output パネルには、Agent が編集の途中で残した別バージョンも含め、`outputs` フォルダ内のすべてのファイルが表示されます。最終版だけが必要な場合は、質問時に固定のファイル名で上書きするよう依頼するか、完了後に古いバージョンの削除を依頼してください。
{% endhint %}

## スキルとの併用 <a href="#use-with-skills" id="use-with-skills"></a>

[スキル](/maiagent-user-guide/ja/build/skills.md)にアップロードしたファイル（テンプレート、スクリプト、参考資料など）を使用するには、Code Interpreter が必要です。Agent にスキルを割り当てて Code Interpreter を有効にすると、スキルの実行時にそのファイルがサンドボックスの `/workspace/skills/<技能名稱>/` に配置され、Agent が直接読み取りや実行を行えます。

Code Interpreter が無効でも、Agent はスキルの指示を読めますが、スキルのファイルは使用できません。アップロード方法については[スキル管理](/maiagent-user-guide/ja/build/skills/skills-management.md)をご覧ください。

## 適した利用場面 <a href="#when-to-use" id="when-to-use"></a>

* 社内の財務／営業チームが Agent に Excel の整理や週次レポートの生成を依頼する場合
* 人事／総務が Agent にアンケート結果のグラフ化や PowerPoint の生成を依頼する場合
* 法務／契約チームが Agent に PDF からの重要項目の抽出や Word での要約出力を依頼する場合
* その場での計算やファイル生成が必要な会話全般

## 何を設定すればよいですか？ <a href="#what-do-i-need-to-do" id="what-do-i-need-to-do"></a>

<mark style="color:blue;">AI アシスタント権限</mark>と、対象 Agent の編集権限が必要です。

1. **Agent 設定を開きます**：左側メニューの <mark style="color:blue;">AI 機能</mark> → <mark style="color:blue;">AI アシスタント</mark>から、設定する Agent を開いてください
2. **Agent モードに切り替えます**：<mark style="color:blue;">回答モード設定</mark>の<mark style="color:blue;">回答モード</mark>で、<mark style="color:blue;">Agent モード</mark>を選択してください
3. **Code Interpreter を有効にします**：<mark style="color:blue;">Code Interpreter</mark> スイッチをオンにして保存してください
4. **テストします**：会話で計算やファイル生成が必要なタスクを依頼し、回答または Output パネルからダウンロードできることを確認してください

MaiGPT で使用する場合は、メンバーのロールでも <mark style="color:blue;">Code Interpreter</mark> の利用を許可する必要があります。[MaiGPT のロール別利用権限](/maiagent-user-guide/ja/org/roles/maigpt-role-permissions.md)をご覧ください。

## 料金 <a href="#billing" id="billing"></a>

Agent がサンドボックス操作（コマンド実行、ファイルの読み書き、ワークスペース内のファイル検索など）に成功するたびに、「Code Interpreter」の課金項目に従って Credits が1回分差し引かれます。失敗した操作には課金されません。AI 回答自体のモデル使用量とは別の料金です。料金は [Credits の課金制度](/maiagent-user-guide/ja/others/credits.md#pricing-tab)をご覧ください。

## よくある質問 <a href="#faq" id="faq"></a>

### ファイルを1つ生成したのに、Output パネルに複数表示されるのはなぜですか？ <a href="#faq-many-files" id="faq-many-files"></a>

Agent が修正ややり直しを行う際に、別のファイル名（例：`report_v2.docx`）で保存し、古いバージョンが `outputs` フォルダに残ることがあります。最新のファイルを使用するか、質問時に最終版だけを残すよう依頼してください。

### 回答にダウンロードリンクがない場合はどうすればよいですか？ <a href="#faq-no-download-link" id="faq-no-download-link"></a>

ファイルは回答の本文に表示されない場合があります。回答の下にある「N 個のファイルを生成しました」カードを確認するか、<mark style="color:blue;">Output</mark>（Web Chat では<mark style="color:blue;">出力ファイル</mark>）パネルを開いてください。

### ダウンロード時に「ファイルの有効期限が切れました。再生成してからダウンロードしてください」と表示されるのはなぜですか？ <a href="#faq-file-expired" id="faq-file-expired"></a>

後続の実行で削除や名前変更が行われるなどして、ファイルが存在しなくなったことを示します。Agent に再生成を依頼してください。

### 大きなファイルの処理や長時間の計算が失敗する場合はどうすればよいですか？ <a href="#faq-large-task" id="faq-large-task"></a>

[サンドボックスの仕様と制限](#sandbox-limits)を超えている可能性があります。Agent に分割処理や必要な列の事前抽出を依頼するか、データを小さなファイルに分割してアップロードしてください。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.maiagent.ai/maiagent-user-guide/ja/build/agent/code-interpreter.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
