Codex CLI New command "goal"

以下是 /goal 的核心資訊,基於 Codex CLI v0.128.0+:

是什麼

/goal 建立一個持久性目標,讓 Codex agent 跨多個 turn 持續追蹤並執行,直到完成為止。這是從「一問一答」模式轉向「持續追求結果」的模式。 [HIGH]

語法

可用指令包括:/goal <objective> 建立或取代目標、/goal 檢視目前狀態、/goal pause 暫停、/goal resume 恢復、/goal clear 移除目標。

狀態機

目標的狀態包括:pursuing(執行中)、paused(暫停)、achieved(已完成)、unmet(未達成)、budget-limited(預算耗盡)。

與普通 prompt 的差異

關鍵差異在於:當 Codex 完成一個 turn 但目標尚未達成時,它會自動繼續工作,不會停下來等你輸入下一條訊息。 [HIGH]

預算與中斷機制

如果 token 預算耗盡,Codex 不會突然停止,而是進入「budget-limited」狀態,總結目前進度、記錄剩餘工作,以便之後恢復。按 Ctrl+C 或輸入新訊息時,目標會自動暫停,使用者輸入永遠優先於自動接續。

實作原理

功能主要透過 goals/continuation.mdgoals/budget_limit.md 兩個 prompt 實現,在每個 turn 結束時自動注入。本質上是 prompt engineering 驅動的自動迴圈,而非什麼新的 runtime 架構。 [MODERATE]

啟用方式

需要 Codex CLI v0.128.0 以上,目前在 goals feature flag 後面,可能需要在設定中手動啟用。具體做法是在 config 裡加 [features] goals = true

已知問題

Plan mode 啟用時會靜默壓制 goal 的自動接續機制,讓 goal 看起來像是卡住了。 [HIGH — 已確認的 bug]

官方斜線指令文件目前尚未收錄 /goal,使用者不易發現這個功能。

適用場景建議

目標越具體、越可驗證越好。「修復 auth.spec.ts 的 flaky test」遠優於「改善 codebase」。這不是無人駕駛——agent 自主運行時間更長,反而讓人工審查更關鍵而非更不重要。