Code Interpreter(程式碼執行)
程式碼執行工具(Code Interpreter):讓 Agent 在安全沙盒中撰寫並執行 Python 程式碼——計算、分析資料、處理上傳檔案、繪製圖表、產生 Word/Excel/PowerPoint/PDF 檔案;含沙盒規格、產出檔案下載與搭配技能的說明。
這是什麼?
Code Interpreter 讓 Agent 能在安全沙盒環境中執行程式碼,用程式的方式完成任務。
啟用 Code Interpreter 後,Agent 不再只能用文字回答,它還能:自己寫程式做計算、處理你上傳的檔案、產出 Word/PowerPoint/Excel 等檔案,並把結果交給你下載。
跟工具有什麼不同?
本質
呼叫已定義好的外部 API
在沙盒中即時撰寫並執行程式
彈性
受限於 API 提供的能力
任何 Python 能做的都行
典型使用情境
寄信、查 CRM、串第三方服務
計算、資料處理、產生檔案、繪圖
簡單判斷:要打外部 API → 工具;要算東西、處理檔案、產出文件 → Code Interpreter。
能做什麼?
資料分析與計算:CSV/Excel 試算、統計、樞紐、清洗
圖表繪製:把資料畫成折線、長條、圓餅等圖表,圖表中的中文可正常顯示
文件生成:產出 Word、PowerPoint、Excel、PDF 給你下載
檔案處理:解析 PDF、轉換格式、辨識圖片中的文字、批次處理上傳檔案
沙盒環境
執行環境是安全沙盒,與正式系統隔離,不會影響其他資料
每段對話有自己的工作區,不同對話之間的檔案互不相通
你在對話中上傳的附件(包含先前幾輪上傳的)會自動放進工作區,Agent 可以直接讀取;Agent 也可以把知識庫中的檔案複製進工作區處理
沙盒規格與限制
下表為系統預設值,系統管理員可能另行調整。
單次指令執行時間
30 秒
指令被中止,Agent 會收到逾時結果並可改用其他方式
記憶體
512 MB
程式可能因記憶體不足而失敗
CPU
1 核心
—
每段對話的工作區空間
100 MB
工作區已超過上限時,後續執行會回報空間不足
Agent 以檔案工具直接讀取或寫入的單一檔案
10 MB
該次讀寫失敗;改用程式處理則不受此限
單次指令的文字輸出
1 MB
超出部分被截斷
預裝套件
沙盒提供 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
reportlab、fpdf2、pypdf、pdfplumber、PyMuPDF、pdf2image、qpdf、poppler
圖片與文字辨識
Pillow、cairosvg、pytesseract(Tesseract 支援繁中、簡中、英、日、韓)
網頁資料
requests、beautifulsoup4、lxml
文件轉檔
LibreOffice、pandoc
可以安裝套件或連外網嗎?
安裝套件:可以用
pip install安裝額外套件,但只在該次執行有效,下一次執行要重新安裝。Agent 會把安裝與使用寫在同一次執行中。連外網:沙盒可以透過 HTTP/HTTPS 連到外部網站,例如下載公開資料或呼叫公開 API。若要固定串接某個外部系統,建議改用工具。
同一段對話內會保留什麼
工作區中的檔案(含 /tmp 的暫存檔),後續幾輪對話都能繼續使用
程式在記憶體中的變數與狀態,每次執行都是全新的程式
已產出、可下載的檔案
用 pip install 臨時安裝的套件
地端部署
地端部署的沙盒規格與能否連外網,依部署設定與機房網路政策而定,可能與上表不同,請洽系統管理員確認。
產出檔案:存在哪裡、保留多久、怎麼下載
存在哪裡:Agent 要給你的檔案會放在工作區的
/workspace/outputs/資料夾,跟著這段對話保存。保留多久:產出檔案跟著對話保存;對話被刪除後就無法再下載。
怎麼下載:
Agent 挑出要交付的檔案時,回覆下方會出現 「已產出 N 個檔案」 卡片,點擊 下載。
MaiGPT 與後台對話頁的 Output 面板,列出這段對話所有產出,可下載或預覽。
Web Chat 會在右側開啟 輸出檔案 面板,點擊 下載。
以 API 串接時,可用技術人員手冊的對話產出清單 API 取得清單。
搭配技能
技能上傳的檔案(範本、腳本、參考資料等)需要搭配 Code Interpreter 才能使用。Agent 同時綁定技能並啟用 Code Interpreter 時,執行該技能會把技能的檔案放進沙盒的 /workspace/skills/<技能名稱>/,讓 Agent 直接讀取或執行。
未啟用 Code Interpreter 時,Agent 仍能讀到技能的指令內容,但用不到技能的檔案。技能檔案的上傳方式見技能管理。
適合的場景
內部財務/銷售團隊請 Agent 整理 Excel、產出每週報表
HR/行政請 Agent 把問卷結果做成圖表、產出 PowerPoint
法務/合約團隊請 Agent 從 PDF 抽取關鍵欄位、輸出 Word 摘要
任何需要「即席計算」或「即席生成檔案」的對話場景
我需要做什麼?
需要 AI 助理權限,且對該 Agent 有編輯權限。
進入 Agent 設定:從左側選單進入 AI 功能 → AI 助理,開啟要設定的 Agent
切換為 Agent 模式:在 回答模式設定 的 回答模式 選擇 Agent 模式
開啟 Code Interpreter:打開 Code Interpreter 開關並儲存
測試:在對話中請 Agent 做一件需要計算或產檔的任務,確認能在回覆或 Output 面板下載
在 MaiGPT 中使用時,成員的角色也需要開放 Code Interpreter,見 MaiGPT 角色使用權限。
費用
Agent 每成功執行一次沙盒動作(執行指令、寫入或讀取檔案、搜尋工作區檔案等),就依「Code Interpreter」計費項目扣一次 Credits;執行失敗不扣。這是 AI 回覆本身的模型用量之外的費用,費率見 Credits 計費制度。
常見問題
產生一個檔案,Output 面板卻出現好幾個?
Agent 在修正或重做時,常會另存新檔名(例如 report_v2.docx),舊版也留在 outputs 資料夾。請以最新的檔案為準,或在提問時要求只保留最終版。
回覆裡沒有下載連結?
檔案不一定出現在回覆文字中。請查看回覆下方的 「已產出 N 個檔案」 卡片,或打開 Output(Web Chat 為 輸出檔案)面板。
下載時顯示「檔案已過期,請重新產生後再下載」?
代表這個檔案已不存在,例如之後的執行把它刪除或改名。請 Agent 重新產生一次即可。
處理大型檔案或長時間運算失敗?
可能超過沙盒規格與限制。可以請 Agent 分批處理、先篩選需要的欄位,或把資料拆成較小的檔案再上傳。
最後更新於
這有幫助嗎?