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"您的提示"(作為最終的位置參數)
- 始終使用
--skip-git-repo-check。 - 當恢復先前的工作階段時,透過標準輸入使用
codex exec --skip-git-repo-check resume --last。恢復時,除非使用者明確要求(例如指定模型或推理強度),否則不要使用任何配置旗標。恢復語法:echo "您的提示" | codex exec --skip-git-repo-check resume --last 2>/dev/null。所有旗標都必須插入在exec和resume之間。 - 重要事項:預設情況下,在所有
codex exec命令後附加2>/dev/null以抑制思考權杖(stderr)。僅在使用者明確要求檢視思考權杖或需要除錯時才顯示 stderr。 - 重要事項(標準輸入):
codex exec總是讀取標準輸入並將其與位置提示串接——即使提示已完全作為位置參數提供。如果標準輸入未關閉,codex 會永遠阻塞。當從管理器(背景任務、鉤子、腳本,其中標準輸入不是 TTY 但也未關閉)呼叫時,請明確重定向標準輸入:在命令後附加</dev/null,例如codex exec ... "prompt" </dev/null 2>/dev/null。錯誤的症狀:標準輸出零位元組、累積的 CPU 為零、程序顯示無限期掛起。 - 執行命令,擷取標準輸出/標準錯誤(根據需要過濾),並向使用者總結結果。
- 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恢復。 - 恢復時,透過標準輸入管線傳遞新提示:
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 "This is Claude (<您當前的模型名稱>) following up. I disagree with [X] because [evidence]. What's your take on this?" | 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 詢問如何調整。