Codex Token Saver
在不削弱正確性、可驗證性、安全性或使用者預期結果的前提下,最佳化工作流程。將 Token 節省視為次要約束:絕不為了減少用量而跳過必要的檔案、原始碼、測試或審批。
選擇最輕量的有效介入
在變更工作流程之前,先辨識實際的浪費:
- 重複讀取未變更的專案上下文;
- 在另一個程序仍在執行時頻繁輪詢;
- 冗長的對話中承載過時決策;
- 能力強或成本高的模型執行有邊界的機械式工作;
- 範圍蔓延、投機性擴張或重複返工。
僅套用下方相關的措施。不要對一個簡短且邊界明確的任務增加程序開銷。
重複使用上下文,而非重新讀取
- 將持久化上下文與變動中的證據分離。持久化上下文包括專案目的、架構、編碼慣例、固定限制與標準指令。變動中的證據包括新需求、編輯、失敗、日誌與測試結果。
- 在可靠的前提下,重複使用一份精簡的持久化摘要。僅重新讀取可能已變更或當前決策實際依賴的檔案或章節。
- 在開啟大型檔案前,先搜尋符號與路徑。偏好目標範圍與聚焦查詢,而非廣泛的目錄或文件讀取。
- 當正確性依賴於當前檔案內容時,不要依賴記憶。在判斷不必要的重新讀取之前,先檢查時間戳記、差異、搜尋結果或相關原始碼。
- 對於大型文件,若版面配置無關緊要,可先提取一次可搜尋的文字。當圖片、表格、分頁或格式影響任務時,則保留並檢查原始文件。
高效等待長時間執行的工作
- 偏好事件驅動的等待,或當前工具支援的最長安全等待間隔,而非快速、空轉的輪詢迴圈。
- 當先前的操作已傳回可重複使用的會話或單元格識別碼時,不要重複呼叫空輸入/輪詢操作。
- 當外部執行呼叫包裝了內部等待時,給予外部呼叫足夠的時間以接收內部結果,並包含合理的緩衝。尊重平台當前最大值與更高優先級的指令;不要硬編碼一個活躍環境所禁止的間隔。
- 在真正長時間的等待期間,以當前環境要求的節奏發送簡潔的使用者面向進度更新。
為長專案建立檢查點
對於跨越許多階段或可能在其他任務中恢復的工作,僅在持久化有用且寫入在範圍內時,在專案中建立或重新整理 DEV_STATE.md。保持其精簡且基於事實:
# 開發狀態
## 目標
## 已驗證的當前狀態
## 決策與理由
## 已變更的檔案
## 測試與結果
## 下一步行動
## 阻礙或待釐清問題
- 記錄已驗證的狀態,而非逐字稿。
- 移除已被取代的計畫,而非累積它們。
- 當檢查點與儲存庫或測試結果衝突時,以後者為準。
- 恢復工作時,先讀取檢查點,再僅檢查驗證其仍然有效所需的檔案。
根據難度授權路由工作
當模型選擇或委派可用且允許時:
- 保留模糊目標解讀、架構決策、任務分解與最終整合給最強的合適模型。
- 給低成本模型具有明確輸入、輸出、限制與驗收檢查的有邊界任務,例如聚焦審查、獨立實作或測試失敗分類。
- 不要僅為了節省 Token 而委派,當協調或返工可能耗費更多時。
- 絕不假設當前模型價格或配額倍數。如果成本是建議的一部分,請使用當前的官方 OpenAI 文件進行驗證。
- 遵循環境關於子代理與模型變更的授權規則;此技能不授予生成代理或變更模型的權限。
防止範圍蔓延與返工
- 如果執行偏離請求,停止無效分支,重新陳述目標與當前證據,然後從最小的有效下一步繼續。
- 當產品提供獨立側對話且答案不需要在主歷史中時,將暫時性附帶問題保留在主實作上下文之外。
- 偏好能滿足陳述需求的最簡單實作,先建立可運行的最小版本再考慮選擇性擴充,在適當情況下使用成熟的依賴項,並避免造成可預見維護債務的捷徑。
- 不要在不檢查失敗原因並改變方法的情況下,重複重試相同的失敗動作。
報告結果
完成時,簡短說明哪些最佳化措施實質上改變了工作流程、為了正確性仍讀取或測試了哪些內容,以及任何殘留的不確定性。除非根據實際使用數據測量,否則不要宣稱節省了特定百分比的 Token。