Codex 技能指南 是做什麼的?
執行任務
- 針對新的會話(恢復時會沿用先前的模型/推理強度 — 請見步驟 5),透過
AskUserQuestion在單一提示中提出兩個問題,詢問使用者要使用哪個模型以及哪個推理強度。當使用者沒有表達偏好時,預設使用gpt-6-astra搭配high。- 模型 — 預設
gpt-6-astra:- GPT-6:
gpt-6-astra(前沿 / 功能最強大 — 預設) - GPT-5.6:
gpt-5.6-sol(可靠的代理工作馬)、gpt-5.6-terra(平衡、日常使用)、gpt-5.6-luna(快速且經濟) - 舊版(為相容性保留):
gpt-5.5、gpt-5.4、gpt-5.4-mini、gpt-5.3-codex-spark、gpt-5.3-codex
- GPT-6:
- 推理強度 — 預設
high:low、medium、high、xhigh、max、ultra。max/ultra需要 GPT-6 或 GPT-5.6 模型;ultra僅在astra/sol/terra上可用(luna最高到max);舊版模型最高到xhigh。ultra= 最大推理並自動進行任務委派(最慢且最昂貴 — 保留給最困難的工作)。- 如果選擇的強度超過所選模型的最高支援強度,則降級至該模型的最高支援強度並通知使用者。
- 模型 — 預設
- 選擇任務所需的沙箱模式;除非需要編輯或網路存取,否則預設使用
--sandbox read-only。 - 使用適當的選項組合指令:
-m, --model <MODEL>--config model_reasoning_effort="<low|medium|high|xhigh|max|ultra>"(max/ultra 僅限 GPT-6 / GPT-5.6 模型;ultra 僅限 astra/sol/terra — 請見步驟 1)--sandbox <read-only|workspace-write|danger-full-access>--full-auto-C, --cd <DIR>--skip-git-repo-check"your prompt here"(作為最終位置參數)
- 始終使用
--skip-git-repo-check。 - 當繼續先前的會話時,透過 stdin 使用
codex exec --skip-git-repo-check resume --last。恢復時,除非使用者明確要求(例如指定了模型或推理強度),否則不要使用任何配置標誌。恢復語法:echo "your prompt here" | codex exec --skip-git-repo-check resume --last 2>/dev/null。所有標誌必須插入在 exec 和 resume 之間。 - 重要:預設情況下,在所有
codex exec指令後附加2>/dev/null來抑制思考 token(stderr)。僅在使用者明確要求查看思考 token 或需要除錯時才顯示 stderr。 - 重要(stdin):
codex exec總是讀取 stdin 並將其與位置參數的提示串接在一起 — 即使提示已完全以位置參數提供。如果 stdin 沒有關閉,codex 會永遠阻塞。當從 harness(背景任務、鉤子、腳本,其中 stdin 不是 TTY 但也未關閉)呼叫時,請明確重新導向 stdin:在指令後附加</dev/null,例如codex exec ... "prompt" </dev/null 2>/dev/null。錯誤的徵兆:stdout 為零位元組、累積 CPU 為零、程序看起來永遠掛起。 - 執行指令,擷取 stdout/stderr(視情況過濾),並向使用者總結結果。
- 在 Codex 完成後,通知使用者:「您可以隨時說 'codex resume' 或要求我繼續進行額外分析或變更來恢復此 Codex 會話。」
快速參考
| 使用案例 | 沙箱模式 | 關鍵標誌 |
|---|---|---|
| 唯讀審查或分析 | read-only | --sandbox read-only 2>/dev/null |
| 套用本地編輯 | workspace-write | --sandbox workspace-write --full-auto 2>/dev/null |
| 允許網路或廣泛存取 | danger-full-access | --sandbox danger-full-access --full-auto 2>/dev/null |
| 恢復最近的會話 | 繼承自原始 | echo "prompt" | codex exec --skip-git-repo-check resume --last 2>/dev/null(不允許標誌) |
| 從其他目錄執行 | 符合任務需求 | -C <DIR> 加上其他標誌 2>/dev/null |
執行超時
Codex 不會產出任何中間輸出 — 它只在完成時寫入結果。如果程序在完成前被終止,輸出檔案會靜默地為空(無錯誤)。
首選方法: 同步執行 — 完全消除超時風險,且對話無論如何都會等待結果。
如果要在背景執行,根據推理強度設定執行超時:
| 推理強度 | 超時時間 |
|---|---|
low | 150 秒 |
medium | 300 秒 |
high | 600 秒 |
xhigh | 1200 秒 |
max | 1800 秒 |
ultra | 1800 秒 |
後續追蹤
- 在每次
codex指令後,立即使用AskUserQuestion來確認下一步、收集說明,或決定是否要使用codex exec resume --last恢復。 - 恢復時,透過 stdin 導管輸入新的提示:
echo "new prompt" | codex exec resume --last 2>/dev/null。恢復的會話會自動使用原始會話的相同模型、推理強度和沙箱模式。 - 在提議後續操作時,重申已選擇的模型、推理強度和沙箱模式。
Codex 輸出的批判性評估
Codex 由 OpenAI 模型驅動,具有其自身的知識截止點和限制。請將 Codex 視為同事,而非權威。
準則
- 相信自己的知識,當你有信心時。如果 Codex 聲稱你知道是錯誤的事情,直接提出異議。
- 研究分歧點:在接受 Codex 的主張之前,使用 WebSearch 或文件進行研究。如有需要,可透過恢復與 Codex 分享發現。
- 記住知識截止點 - Codex 可能不知道在其訓練資料之後發生的近期版本、API 或變更。
- 不要盲目服從 - Codex 可能會出錯。批判性地評估其建議,特別是關於:
- 模型名稱和能力
- 最近的函式庫版本或 API 變更
- 可能已演進的最佳實務
當 Codex 出錯時
- 清楚地向使用者說明你的異議
- 提供證據(你自己的知識、網路搜尋、文件)
- 可選擇性地恢復 Codex 會話來討論分歧點。表明你自己是 Claude,讓 Codex 知道這是一個同伴 AI 的討論。使用你實際的模型名稱(例如你目前執行的模型)而非硬編碼的名稱:
echo "這是 Claude(<你目前的模型名稱>)的後續追蹤。我不同意 [X],因為 [證據]。你對此有什麼看法?" | codex exec --skip-git-repo-check resume --last 2>/dev/null - 將分歧點視為討論,而非修正 — 任何一個 AI 都可能出錯
- 如果存在真正的模糊性,讓使用者決定如何進行
錯誤處理
- 每當
codex --version或codex exec指令以非零退出碼結束時,停止並報告失敗;在重新嘗試前請求指示。 - 在你使用高影響力標誌(
--full-auto、--sandbox danger-full-access、--skip-git-repo-check)之前,使用AskUserQuestion詢問使用者許可,除非已經獲得許可。 - 當輸出包含警告或部分結果時,總結它們並使用
AskUserQuestion詢問如何調整。