OpenAI 負責執行智慧體的任務執行框架。你的應用程式向框架傳送工作並接收結果。當智慧體需要運算資源或檔案時,再新增環境。
組成元件
- 任務執行框架: 由 OpenAI 託管的 Codex 執行個體,負責執行模型與工具的循環,並維護智慧體的工作階段。
- 環境: 智慧體執行指令、執行程式碼及處理檔案的地方。環境可以是遠端沙盒、你的筆記型電腦、Docker 容器或 AWS Lambda 函式。
- 應用程式伺服器: 你用來將智慧體連接至產品的程式碼。它會提交任務、接收事件並處理函式工具。如果環境由你提供,這些程式碼也會管理環境的生命週期。
先從任務所需的元件開始。任務執行框架不需要環境也能運作,而你的應用程式可以透過串流或 Webhooks 接收進度。
從不使用環境開始
如果智慧體只需要回答問題,或使用工具存取外部服務,可能就不需要自己的運算資源或檔案。將 environment.type 設為 none。以下片段示範環境設定。建立工作階段還需要指定智慧體並提供初始輸入:
{
"environment": {
"type": "none"
}
}
你的應用程式將輸入傳送至工作階段。任務執行框架會呼叫模型、使用已設定的工具,並傳回結果。OpenAI 會維護工作階段,以供後續工作使用。
任務執行框架可以直接呼叫遠端 MCP 工具。至於函式工具,則由你的程式碼接收每次呼叫、執行函式並傳回結果。
沒有環境時,就無法使用內建的 Bash 和 apply-patch 工具、工作區檔案,以及執行器 MCP。

此處顯示的虛擬執行環境為選用項目,透過應用程式的函式工具提供檔案和 Shell 指令。
新增由 OpenAI 託管的環境
當智慧體需要執行指令碼、編輯檔案或建立產出物時,將 environment.type 設為 openai_hosted。OpenAI 會為工作階段建立並管理沙盒。
你負責設定智慧體所需的套件、檔案和網路存取權。任務執行框架會直接在沙盒中執行指令。你的應用程式則繼續傳送任務、接收事件,並處理任何函式工具。

虛線箭頭僅適用於下述由你自行管理環境的情況。
如需了解組態選項,請參閱由 OpenAI 託管的環境。
連接你自己的環境
當智慧體需要使用你的基礎架構、私人網路或自訂軟體時,請使用 environment.type: "self_hosted"。
你的程式碼會啟動環境,並將執行器連接至工作階段。執行器會執行任務執行框架要求的指令和工具。應用程式負責管理連線和生命週期,無須逐一轉送指令。
你負責佈建、重新連線、關閉環境,以及保留所需的檔案。這些工作可以由你的應用程式伺服器或 Webhook 處理常式管理。

停止運算資源前,請協調新進工作的處理,並確認沒有待執行的工作。
如需了解設定與關閉環境的要求,請參閱連接沙盒和沙盒生命週期。
接收進度和結果
無論選擇哪種環境,都可以使用下列其中一種方式,或同時使用兩種:
- 串流: 在智慧體工作時接收詳細事件,例如要在產品中顯示的輸出。
- Webhooks: 無須保持串流開啟,即可接收工作階段的狀態變更。你的處理常式可以擷取結果、執行函式工具,或管理自行託管的環境。
函式工具需要處理常式來接收呼叫並傳回結果。如果該處理常式無法使用,智慧體可能會持續等待結果。事件或生命週期處理常式發生故障,也可能中斷進度更新或環境管理。