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

子代理程式

在 ChatGPT 和 Codex 中使用子代理程式,並設定自訂 Codex 智慧體

ChatGPT Work 和 Codex 可平行產生專門的 智慧體來執行子代理程式工作流程,再將結果彙整成一則回應。這對 可高度平行處理的複雜任務特別有幫助,例如 探索程式碼庫或實作多步驟功能計畫。

在本機 Codex 用戶端中,您也可以為不同任務定義具有不同模型 組態與指示的自訂智慧體。

可用性

目前的 Codex 版本預設會啟用子代理程式工作流程。子代理程式活動 會顯示在 ChatGPT 桌面版應用程式、Codex CLI 和 IDE 擴充功能中。

由於每個子代理程式都會各自執行模型與工具相關工作,子代理程式工作流程 比同等的單一智慧體執行作業消耗更多 Token。

請在 App 對話中要求 Codex 將可獨立處理的工作委派給 子代理程式。目前的本機 Codex 版本會在您直接提出要求,或在 適用的 AGENTS.md 或技能指示要求委派時進行委派。App 會顯示每個 子代理程式執行緒,讓您檢視其工作內容,以及傳回 主對話的摘要。

子代理程式工作流程的優勢

即使上下文視窗很大,模型仍有限制。如果主對話,也就是您定義需求、限制與決策的地方,充斥著探索筆記、測試紀錄、堆疊追蹤和指令輸出等雜亂的中間輸出,工作階段的可靠性可能會隨時間降低。

這通常稱為:

  • 上下文污染:有用資訊被雜亂的中間輸出掩蓋。
  • 上下文衰退:隨著對話充斥關聯性較低的細節,效能逐漸下降。

如需背景資訊,請參閱 Chroma 有關 上下文衰退 的文章。

子代理程式工作流程會將容易產生雜訊的工作移出主執行緒,帶來以下好處:

  • 主智慧體 專注於需求、決策和最終輸出。
  • 平行執行專門的 子代理程式 ,進行探索、測試或紀錄分析。
  • 讓子代理程式傳回 摘要 ,而非原始的中間輸出。

當工作可獨立平行執行時,子代理程式也能節省時間,並將 規模較大的任務拆分成範圍明確的 部分,使其更容易處理。例如,Codex 可將數百萬 Token 文件的分析拆成 較小的問題,並將提煉後的重點傳回主 執行緒。

一開始可將平行智慧體用於以讀取為主的任務,例如 探索、測試、分流和摘要。使用以寫入為主的平行 工作流程時則應更加謹慎,因為多個智慧體同時編輯程式碼可能會造成 衝突並增加協調成本。

核心術語

Codex 在子代理程式工作流程中使用以下相關術語:

  • 子代理程式工作流程:Codex 平行執行多個智慧體,並彙整其結果的工作流程。
  • 子代理程式:由 Codex 啟動並受委派處理特定任務的智慧體。
  • 智慧體執行緒:子代理程式執行工作的執行緒。支援此功能的用戶端可讓您開啟這些執行緒,檢視進度或結果。

觸發子代理程式工作流程

請直接要求使用子代理程式,或讓智慧體平行工作。適用的專案或技能指示要求委派時, Codex 也可進行委派。

實務上,手動觸發是指使用直接指示,例如 「產生兩個智慧體」、「平行委派這項工作」,或「每個要點交給一個 智慧體」。子代理程式工作流程比同等的單一智慧體執行作業消耗更多 Token, 因為每個子代理程式都會各自執行模型與工具相關工作。

良好的子代理程式提示詞應說明如何拆分工作、Codex 是否應 等待所有智慧體完成後再繼續,以及要傳回何種摘要或 輸出。

Review this branch with parallel subagents. Spawn one subagent for security risks, one for test gaps, and one for maintainability. Wait for all three, then summarize the findings by category with file references.

選擇模型與推理設定

不同的智慧體需要不同的模型與推理設定。

如果未設定子代理程式的模型或 model_reasoning_effort, 子代理程式會沿用父智慧體的模型與推理強度。若明確的 產生要求或 [agents] 預設值指定了模型,但未 明確指定或設定推理強度,子代理程式會採用該模型的預設 推理強度。若要針對每項任務兼顧智慧、速度和價格,請 在提示詞中指定特定模型或推理強度, 設定 [agents] 的預設值(位於 config.toml 中),或直接在自訂智慧體檔案中設定 modelmodel_reasoning_effort。 例如,快速掃描可使用 gpt-5.6-terra;對推理要求較高的工作,則可採用推理強度較高的 gpt-5.6 組態。

在 Codex 中,大多數任務建議先使用 gpt-5.6。請使用 gpt-5.6-terra,以 更快速、更低成本地處理較輕量的子代理程式工作。

模型選擇

  • gpt-5.6:智慧體處理高難度任務時,請優先選擇此模型。它最適合處理需求模糊、涉及多個步驟,且需要在較大上下文中規劃、使用工具、驗證並持續推進至完成的工作。
  • gpt-5.6-terra:適合重視速度與效率勝於深度的智慧體,例如用於探索、以讀取為主的掃描、大型檔案審查或處理輔助文件。它很適合平行運作的工作智慧體,能將提煉後的結果傳回主智慧體。
  • gpt-5.6-luna:適合快速且職責範圍明確的智慧體,用於處理清楚、可重複或大量的工作。

推理強度(model_reasoning_effort

  • ultra:所選模型支援時,可用於 最深入的推理。
  • maxxhigh:所選模型支援這些 等級時,可用於要求特別高的推理。
  • high:適合需要追查複雜邏輯、檢查假設或處理邊界情況的智慧體,例如負責審查或著重安全性的智慧體。
  • medium:適合大多數智慧體的均衡預設值。
  • low:適合任務單純明確,且最重視速度的情況。

提高推理強度會增加回應時間與 Token 用量,但有助於提升複雜工作的品質。如需詳細資訊,請參閱模型基本設定組態參考資料

編排與執行緒控制

ChatGPT 或 Codex 負責跨智慧體的編排,包括產生新的 子代理程式、轉送後續指示、等待結果,以及關閉 智慧體執行緒。

多個智慧體同時執行時,Codex 會等到所有要求的結果都 備齊,再傳回彙整後的回應。

目前的本機 Codex 版本會在收到直接要求,或適用的 專案或技能指示要求時產生智慧體。

若要查看實際運作情形,請在您的專案中嘗試以下提示詞:

I would like to review the following points on the current PR (this branch vs main). Spawn one agent per point, wait for all of them, and summarize the result for each point.
1. Security issue
2. Code quality
3. Bugs
4. Race
5. Test flakiness
6. Maintainability of the code

管理子代理程式

  • 從主執行緒顯示的活動中開啟子代理程式執行緒,以檢視 其工作。
  • 直接要求 Codex 引導或停止執行中的子代理程式,或關閉已完成的 子代理程式執行緒。

核准與沙盒控制

子代理程式會繼承您目前的沙盒原則。

子代理程式會繼承在撰寫工具下方選取的權限模式。要求 Codex 委派工作前,請先為 上層輪次選擇權限模式。

您也可以覆寫個別自訂智慧體的沙盒組態,例如明確指定其中一個以唯讀模式運作。

自訂智慧體

Codex 隨附下列內建智慧體:

  • default:通用備援智慧體。
  • worker:著重執行的智慧體,用於實作與修正。
  • explorer:以讀取為主的程式碼庫探索智慧體。

若要定義自己的自訂智慧體,請將獨立的 TOML 檔案新增至 ~/.codex/agents/ 以供個人智慧體使用,或 .codex/agents/ 以供專案範圍的 智慧體使用。

每個檔案都定義一個自訂智慧體。Codex 會將這些檔案載入為所產生工作階段的 組態層,因此自訂智慧體可覆寫與一般 Codex 工作階段組態相同的設定。相較於 專用的智慧體資訊清單,這種方式可能較為繁瑣;隨著編寫與分享方式日趨成熟, 這種格式也可能隨之演進。

每個獨立的自訂智慧體檔案都必須定義:

  • name
  • description
  • developer_instructions

如果自訂智慧體檔案設定了 modelmodel_reasoning_effort,檔案中的值 會優先採用。套用檔案前,Codex 會依序解析各項設定: 產生時明確指定的值、對應的 [agents] 預設值,以及 上層的值。如果明確的產生要求或 [agents] 預設值 選定了模型,但兩者均未提供推理強度,Codex 會使用 該模型的預設推理強度。若自訂智慧體檔案只設定 model, 則會保留先前解析出的推理強度。若所選模型不支援該推理強度,請在檔案中一併設定 model_reasoning_effort; 若您想改用 不同的推理強度,也請如此設定。至於其他工作階段設定,例如 sandbox_modemcp_serversskills.config,如果自訂智慧體檔案未設定,則會從上層 繼承。

全域設定

全域子代理程式設定仍位於 [agents] 下方,並包含在您的組態中。

欄位類型必填用途
agents.enabled布林值啟用或停用多智慧體工具。
agents.max_concurrent_threads_per_session數值設定可同時開啟的已產生智慧體執行緒數上限,不含主要執行緒。
agents.default_subagent_model字串設定所產生智慧體的預設模型。
agents.default_subagent_reasoning_effort字串設定所產生智慧體的預設推理強度。
agents.interrupt_message布林值智慧體輪次中斷時,記錄一則模型可見的訊息。

注意事項:

  • agents.enabled 的預設值為 true。將它設為 false 可停用多智慧體工具。
  • 若未設定 agents.max_concurrent_threads_per_session,Codex 會選擇預設值。現有組態仍可繼續將 agents.max_threads 做為舊版別名。
  • 產生時明確指定的值會覆寫 agents.default_subagent_modelagents.default_subagent_reasoning_effort
  • agents.interrupt_message 的預設值為 true。將它設為 false,即可從智慧體的上下文中省略模型可見的中斷訊息。
  • 如果自訂智慧體名稱與 explorer 等內建智慧體相同,您的自訂智慧體會優先採用。

自訂智慧體檔案結構描述

欄位類型必填用途
name字串Codex 產生或提及此智慧體時使用的智慧體名稱。
description字串供使用者閱讀的指引,說明 Codex 應在何時使用此智慧體。
developer_instructions字串定義智慧體行為的核心指示。

您也可以在自訂智慧體檔案中加入其他受支援的 config.toml 設定鍵,例如 modelmodel_reasoning_effortsandbox_modemcp_serversskills.config

Codex 會依據 name 欄位識別自訂智慧體。最簡單的慣例是讓檔名與 智慧體名稱相符,但最終仍以 name 欄位 為準。

自訂智慧體範例

理想的自訂智慧體應專注於特定任務,並具備明確的執行原則。請為每個智慧體指定清楚的職責、符合該職責的工具使用範圍,以及避免其涉入其他相關工作的指示。

範例 1:PR 審查

這種模式會將審查工作分配給三個各有專長的自訂智慧體:

  • pr_explorer 會梳理程式碼庫並蒐集證據。
  • reviewer 會找出正確性、安全性與測試方面的風險。
  • docs_researcher 會透過專用的 MCP 伺服器查閱框架或 API 文件。

專案設定(.codex/config.toml):

[agents]
max_concurrent_threads_per_session = 8

.codex/agents/pr-explorer.toml

name = "pr_explorer"
description = "Read-only codebase explorer for gathering evidence before changes are proposed."
model = "gpt-5.3-codex-spark"
model_reasoning_effort = "medium"
sandbox_mode = "read-only"
developer_instructions = """
Stay in exploration mode.
Trace the real execution path, cite files and symbols, and avoid proposing fixes unless the parent agent asks for them.
Prefer fast search and targeted file reads over broad scans.
"""

.codex/agents/reviewer.toml

name = "reviewer"
description = "PR reviewer focused on correctness, security, and missing tests."
model = "gpt-5.6-terra"
model_reasoning_effort = "high"
sandbox_mode = "read-only"
developer_instructions = """
Review code like an owner.
Prioritize correctness, security, behavior regressions, and missing test coverage.
Lead with concrete findings, include reproduction steps when possible, and avoid style-only comments unless they hide a real bug.
"""

.codex/agents/docs-researcher.toml

name = "docs_researcher"
description = "Documentation specialist that uses the docs MCP server to verify APIs and framework behavior."
model = "gpt-5.6-luna"
model_reasoning_effort = "medium"
sandbox_mode = "read-only"
developer_instructions = """
Use the docs MCP server to confirm APIs, options, and version-specific behavior.
Return concise answers with links or exact references when available.
Do not make code changes.
"""

[mcp_servers.openaiDeveloperDocs]
url = "https://developers.openai.com/mcp"

這項設定適合用於以下提示詞:

Review this branch against main. Have pr_explorer map the affected code paths, reviewer find real risks, and docs_researcher verify the framework APIs that the patch relies on.

範例 2:前端整合偵錯

這種模式適用於 UI 迴歸問題、不穩定的瀏覽器操作流程,或橫跨應用程式程式碼與執行中產品的整合錯誤。

專案設定(.codex/config.toml):

[agents]
max_concurrent_threads_per_session = 6

.codex/agents/code-mapper.toml

name = "code_mapper"
description = "Read-only codebase explorer for locating the relevant frontend and backend code paths."
model = "gpt-5.6-luna"
model_reasoning_effort = "medium"
sandbox_mode = "read-only"
developer_instructions = """
Map the code that owns the failing UI flow.
Identify entry points, state transitions, and likely files before the worker starts editing.
"""

.codex/agents/browser-debugger.toml

name = "browser_debugger"
description = "UI debugger that uses browser tooling to reproduce issues and capture evidence."
model = "gpt-5.6-terra"
model_reasoning_effort = "high"
sandbox_mode = "workspace-write"
developer_instructions = """
Reproduce the issue in the browser, capture exact steps, and report what the UI actually does.
Use browser tooling for screenshots, console output, and network evidence.
Do not edit application code.
"""

[mcp_servers.chrome_devtools]
url = "http://localhost:3000/mcp"
startup_timeout_sec = 20

.codex/agents/ui-fixer.toml

name = "ui_fixer"
description = "Implementation-focused agent for small, targeted fixes after the issue is understood."
model = "gpt-5.3-codex-spark"
model_reasoning_effort = "medium"
developer_instructions = """
Own the fix once the issue is reproduced.
Make the smallest defensible change, keep unrelated files untouched, and validate only the behavior you changed.
"""

[[skills.config]]
path = "/Users/me/.agents/skills/docs-editor/SKILL.md"
enabled = false

這項設定適合用於以下提示詞:

Investigate why the settings modal fails to save. Have browser_debugger reproduce it, code_mapper trace the responsible code path, and ui_fixer implement the smallest fix once the failure mode is clear.