For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主要導覽

架構

了解任務執行框架、環境和應用程式伺服器。

OpenAI 負責執行智慧體的任務執行框架。你的應用程式向框架傳送工作並接收結果。當智慧體需要運算資源或檔案時,再新增環境。

組成元件

  • 任務執行框架: 由 OpenAI 託管的 Codex 執行個體,負責執行模型與工具的循環,並維護智慧體的工作階段。
  • 環境: 智慧體執行指令、執行程式碼及處理檔案的地方。環境可以是遠端沙盒、你的筆記型電腦、Docker 容器或 AWS Lambda 函式。
  • 應用程式伺服器: 你用來將智慧體連接至產品的程式碼。它會提交任務、接收事件並處理函式工具。如果環境由你提供,這些程式碼也會管理環境的生命週期。

先從任務所需的元件開始。任務執行框架不需要環境也能運作,而你的應用程式可以透過串流或 Webhooks 接收進度。

從不使用環境開始

如果智慧體只需要回答問題,或使用工具存取外部服務,可能就不需要自己的運算資源或檔案。將 environment.type 設為 none。以下片段示範環境設定。建立工作階段還需要指定智慧體並提供初始輸入:

{
  "environment": {
    "type": "none"
  }
}

你的應用程式將輸入傳送至工作階段。任務執行框架會呼叫模型、使用已設定的工具,並傳回結果。OpenAI 會維護工作階段,以供後續工作使用。

任務執行框架可以直接呼叫遠端 MCP 工具。至於函式工具,則由你的程式碼接收每次呼叫、執行函式並傳回結果。

沒有環境時,就無法使用內建的 Bash 和 apply-patch 工具、工作區檔案,以及執行器 MCP。

沒有沙盒時,應用程式會提供函式工具或虛擬 Shell,而 Agents API 可以呼叫遠端 MCP 伺服器。此時沒有執行器或內建 Shell。

此處顯示的虛擬執行環境為選用項目,透過應用程式的函式工具提供檔案和 Shell 指令。

新增由 OpenAI 託管的環境

當智慧體需要執行指令碼、編輯檔案或建立產出物時,將 environment.type 設為 openai_hosted。OpenAI 會為工作階段建立並管理沙盒。

你負責設定智慧體所需的套件、檔案和網路存取權。任務執行框架會直接在沙盒中執行指令。你的應用程式則繼續傳送任務、接收事件,並處理任何函式工具。

應用程式啟動工作階段,並接收 Agents API 傳來的事件。Agents API 負責執行受管理的 Codex 任務執行框架,並與沙盒交換工具呼叫和結果。只有使用自行託管的沙盒時,應用程式才會控制運算資源。

虛線箭頭僅適用於下述由你自行管理環境的情況。

如需了解組態選項,請參閱由 OpenAI 託管的環境

連接你自己的環境

當智慧體需要使用你的基礎架構、私人網路或自訂軟體時,請使用 environment.type: "self_hosted"

你的程式碼會啟動環境,並將執行器連接至工作階段。執行器會執行任務執行框架要求的指令和工具。應用程式負責管理連線和生命週期,無須逐一轉送指令。

你負責佈建、重新連線、關閉環境,以及保留所需的檔案。這些工作可以由你的應用程式伺服器或 Webhook 處理常式管理。

應用程式建立自行託管的工作階段、啟動運算資源,並連接執行器。它會接收事件,並在停止運算資源前檢查回合結果。

停止運算資源前,請協調新進工作的處理,並確認沒有待執行的工作。

如需了解設定與關閉環境的要求,請參閱連接沙盒沙盒生命週期

接收進度和結果

無論選擇哪種環境,都可以使用下列其中一種方式,或同時使用兩種:

  • 串流: 在智慧體工作時接收詳細事件,例如要在產品中顯示的輸出。
  • Webhooks: 無須保持串流開啟,即可接收工作階段的狀態變更。你的處理常式可以擷取結果、執行函式工具,或管理自行託管的環境。

函式工具需要處理常式來接收呼叫並傳回結果。如果該處理常式無法使用,智慧體可能會持續等待結果。事件或生命週期處理常式發生故障,也可能中斷進度更新或環境管理。

如需了解整合細節,請參閱工作階段事件Webhooks