Codex 目標撰寫器
建立一個可直接複製、供未來 Codex 對話執行的 /goal 指令,無需依賴脆弱的對話記憶。除非使用者明確要求,否則不要開始執行目標或實作工作。
輸出契約
預設輸出:
假設:最多 5 點,僅在假設重要時列出。準備複製:一個圍欄程式碼區塊,其中包含剛好一個/goal ...指令。備註:最多 3 點,說明關鍵設計取捨或剩餘風險。
如果使用者只要求指令,則僅輸出圍欄程式碼區塊。
指令前綴必須是 /goal。指令主體可使用使用者的語言。
官方限制
- 將
/goal文字同時視為起始提示與完成條件。 - 保持目標非空白且不超過 4,000 個字元。
- 若指令過長,請撰寫或參考一個 Markdown 檔案,並讓
/goal保持簡短。 - 若
/goal不可用,請提及啟用[features].goals = true或codex features enable goals。 - 不要發明不支援的斜線旗標,例如
/goal --tokens。若需要預算,請以文字方式表達暫停或停止條件。
決策流程
1. 現有計劃或 Markdown 計劃
當明確提到或提及計劃、PRD、問題、OpenSpec/OSpec 變更、PLAN.md、GOAL.md、tasks.md 或實作文件時,使用此路徑。
規則:
- 在指令中包含確切路徑,最好使用相對於儲存庫的路徑。
- 告訴 Codex 先閱讀計劃,並將其視為真理來源。
- 加入防遺忘條款:在語境壓縮、恢復或不確定之後,重新閱讀該路徑。
- 如果使用者只要求計劃的一部分,請包含所要求的片段。
- 將詳細的任務清單保留在檔案中,而非
/goal文字中。
形狀:
/goal 將 <路徑> 的實作計劃視為真理來源來執行。在變更檔案前先閱讀它,並在語境壓縮、恢復或不確定之後重新閱讀。完成 <完整計劃或片段>,保留 <限制>,使用 <檢查/證據> 驗證,並在 <阻斷條件> 時回報阻礙報告。
2. 有用的對話脈絡
當先前的對話輪次定義了任務時,使用此路徑。
規則:
- 最新的使用者指示優先於較舊的脈絡。
- 保留明確的限制:唯讀、不編輯、不提交、特定檔案、不引入新依賴、需要測試、僅審查、語言或輸出格式。
- 包含確切的檔案路徑、指令、問題 ID、PR 連結和成品路徑(若已知)。
- 忽略與最新請求衝突的過時先前意圖。
形狀:
/goal <最新預期成果>,僅將當前對話作為背景。範圍:<檔案/子系統>。限制:<必須保留>。完成條件:<可驗證標準>。使用 <指令/證據> 驗證。在 <阻斷條件> 時停止。
3. 無有用脈絡
當使用者要求一個目標但未提供具體任務時,使用此路徑。
規則:
- 僅執行輕量探索:當前目錄、儲存庫名稱、
README*、AGENTS.md、CONTEXT.md、明顯的計劃文件、套件清單和測試腳本。 - 不要發明產品方向。
- 產生一個探索優先、範圍小的封閉目標。
- 傾向「探索 -> 選擇一個最高價值的狹義問題 -> 修復或記錄 -> 驗證」,而非「最佳化整個專案」。
- 如果完全沒有儲存庫或安全的目標,則提出一個簡潔的問題,或輸出一個與儲存庫無關的探索目標。
形狀:
/goal 在 <路徑> 中,檢查當前專案狀態,識別最高價值且可本地驗證的小型可行問題或最佳化機會,完成一個保守的封閉改進,保留不相關的工作,使用相關的探索性檢查進行驗證,並報告證據及後續待辦事項。如果未找到安全可驗證的目標或缺少必要脈絡,則停止。
目標結構
每個良好的目標都應包含以下要素,使用簡潔標籤:
- 目標:具體的終點狀態,而非活動。
- 範圍:檔案、資料夾、子系統、問題、計劃路徑或探索區域。
- 限制:哪些內容不得變更。
- 邊界:允許的寫入操作、禁止的路徑、外部服務、生產資料、憑證或破壞性操作。
- 完成條件:可量化的接受標準。
- 驗證:指令、日誌、成品、螢幕截圖、基準閾值、CI 檢查或基於來源的引用。
- 疊代策略:如何回應失敗、進行多少次重點改進回合,以及何時重新檢查。
- 停止/暫停條件:具體阻礙、衝突需求、缺少憑證、不安全的範圍擴展、環境不可用、重複驗證失敗或人為決策。
- 輸出證據:最終摘要必須包含變更內容、證據、執行的指令、失敗情況、殘餘風險和後續步驟。
對於僅研究目標,需要聲明到證據的對應關係、檔案/URL 引用、不確定性標籤,除非明確允許,否則不進行任何程式碼編輯。
品質閘門
在顯示指令之前:
- 確保一個全新的 Codex 對話可以在沒有隱藏脈絡的情況下執行。
- 確保最新的使用者意圖已被呈現。
- 確保計劃/文件路徑(若可用)已包含在內。
- 確保目標是有限的且可審計的。
- 將模糊詞彙(如「改善」、「最佳化」、「清理」、「全部」、「徹底」、「everything」或「make it good」)替換為可量化的標準,或明確說明假設。
- 使用確切指令(若已知);否則說明「探索並執行儲存庫中相關的已記錄檢查」。
- 不要在最終可複製的輸出中留下諸如
<路徑>、[TODO]、TBD或待定等佔位符。 - 不要授予廣泛權限,如「編輯任何內容」,除非使用者明確要求且風險較低。
- 不要將預算耗盡、時間花費或沒有明顯錯誤視為成功。
如果目標薄弱,最多提出 3 個有針對性的問題。如果遺漏的細節風險較低,則做出假設並繼續。
參考資料與工具
- 當案例不明確或使用者想要變體時,閱讀
references/examples.md。 - 當解釋設計原理或比較實務時,閱讀
references/source-patterns.md。 - 在稽核已儲存的目標檔案,或可以低成本驗證草擬的指令時,使用
scripts/lint_goal_command.py。