--- name: strategic-compact description: 建議在邏輯斷點手動進行內容壓縮 (Context Compaction),以確保在工作階段切換時能精準保留關鍵上下文,而非依賴系統自動壓縮。 --- # 策略性壓縮技能 (Strategic Compact Skill) 建議在工作流的「邏輯邊界」手動執行 `/compact` 指令,而非依賴系統隨機觸發的自動壓縮,從而更精準地管理上下文。 ## 何時啟用 - 處理長達 200K+ Tokens 的長會話時。 - 在「研究 → 規劃 → 實作 → 測試」等多階段任務之間切換時。 - 在同一會話中切換至完全不相關的新任務時。 - 完成重大里程碑 (Milestone) 並準備開始新工作前。 - 當 Agent 回顯變慢或邏輯連貫性下降(上下文壓力增大)時。 ## 為什麼需要「策略性」壓縮? **系統自動壓縮**往往在隨機點觸發: - 可能在任務中途發生,導致重要細節丟失。 - 無法識別邏輯上的任務邊界。 **在邏輯邊界手動壓縮**的優勢: - **研究結束後 → 執行前**:壓縮冗長的探索過程,保留精煉後的實作計畫。 - **里程碑達成後**:為下一階段準備清新的上下文環境。 - **重心轉移前**:在處理新問題前,清空舊問題的干擾資訊。 ## 決策指南 | 階段轉換點 | 建議壓縮? | 決策理由 | |-----------------|----------|-----| | 研究完畢 → 進入規劃 | **是** | 研究過程佔用大量體積;規劃內容才是精華產出。 | | 規劃完畢 → 進入實作 | **是** | 計畫已存入檔案或待辦清單 (TodoWrite);釋放空間給程式碼。 | | 實作完畢 → 進入測試 | **視情況** | 若測試需參考近期代碼則保留;若切換測試焦點則壓縮。 | | 除錯完畢 → 下個功能 | **是** | 偵錯軌跡會污染與新工作無關的上下文。 | | 實作中途 | **否** | 遺失變數名稱、路徑或局部狀態的代價極高。 | | 嘗試失敗後 | **是** | 在嘗試新方法前,清空死胡同的推理過程。 | ## 壓縮後的存留狀況 了解哪些資訊會保留,能讓你更放心地執行壓縮: - **會保留的項目**:`CLAUDE.md` 指令、`TodoWrite` 任務清單、`.claude/memory/` 記憶存檔、Git 狀態、磁碟檔案內容。 - **會丟失的項目**:中途推理與分析過程、先前讀過但未變動的檔案緩存、詳細的工具調用聯絡史。 ## 實踐最佳實踐 1. **先儲存再壓縮**:在手動壓縮前,將關鍵發現或偏好記錄到 `MEMORY.md` 或 `CLAUDE.md` 中。 2. **配合摘要使用**:執行 `/compact` 時可帶上訊息,例如 `/compact 下一階段專注於實作身份驗證中間件`。 3. **規劃後執行**:一旦 `TodoWrite` 中的計畫定案,就是最佳壓縮時機。