引導長時間工作階段
提示 Claude 完成一個快速任務很簡單。您提出要求,它完成工作,您檢查結果。但長時間的任務是另一回事。跨十幾個檔案進行重構或建構一個新功能可能需要數小時。而您在過程中需要引導 Claude 的次數越多,整個過程就拖得越久。
好消息是,在這些長時間的工作階段中,您有許多工具可以協助 Claude。這其實歸結為兩個習慣:在 Claude 開始之前先界定工作範圍,並在它執行時加以引導。讓我們逐一說明這兩點。
先用計畫模式界定工作範圍
在 Claude 寫下任何一行程式碼之前,先讓它擬定一份計畫。在計畫模式下,Claude 會進行研究,但不會編輯您的原始檔案。它會閱讀程式碼、釐清需要變更的內容,然後交給您一份計畫供審閱。
當您拿到那份計畫時,請確實閱讀它,不要只是略讀。計畫越周全,一旦 Claude 開始執行,您遇到的意外就越少。如果有遺漏或不對的地方,只需請 Claude 在您想要的地方補上即可。反覆修改計畫遠比讓 Claude 直接執行、寄望一切順利,然後再收拾殘局要快得多。
在 Claude 執行時加以引導
一旦 Claude 開始執行,您有幾種方法可以讓它保持在正確的方向上。第一種是壓縮(compaction)。
壓縮
壓縮會總結您的對話,將該摘要作為新的上下文,並刪除舊的訊息。這會釋放您的上下文視窗,讓 Claude 能夠繼續進行。風險在於,某些重要內容可能在摘要中被遺漏,導致 Claude 偏離正軌。
因此,不要單獨執行 /compact。在指令後面加上說明,告訴 Claude 該如何總結。舉例來說,如果您剛完成除錯,現在只關心某些 API 變更,就這樣說明:
/compact Focus on the --version flag implementation您在指令後面寫的任何內容,都會決定摘要保留哪些內容。那就是您掌控上下文的方向盤。
倒回
當 Claude 走偏方向時,您不必靠提示把它拉回來。倒回(Rewind)會帶您回到上一個檢查點。每一次使用者提示都會建立一個可以還原的檢查點。若要開啟選單,請在空白提示上連按兩次 Escape 鍵。
在倒回選單中,您有幾個選項:
- 還原程式碼與對話 - 將兩者一起回復。
- 還原對話 - 只回復聊天內容。
- 還原程式碼 - 只回復檔案。
- 從此處開始總結 - 總結檢查點之後的所有內容。如果您進行了一段題外話的對話,只想釋放一些空間,這個選項很好用。
- 總結至此處 - 總結檢查點之前的所有內容。當您經歷了一段冗長的設定階段,想要壓縮它,但又想保留實作部分完整時,這個選項很好用。
讓 Claude 更自主地執行
到目前為止的一切,都假設您是親力親為、隨時觀察並修正的。如果您想要更自主一點的方式,可以使用目標(goal)與迴圈(loop)。
目標
目標(Goal)會設定一個完成條件。您描述「完成」看起來是什麼樣子,Claude 就會跨多個回合持續工作,直到一個快速評估器確認這些條件已經達成。它不會在第一次自認完成時就停下來。
舉例來說:
/goal all tests in src/billing pass, and the type checker reports zero errors若要取消,請執行 /goal clear。有一個重要的限制:評估器只會讀取對話紀錄。因此,您的條件必須能夠從 Claude 實際產生的輸出中檢查,例如測試執行的結果。
迴圈
迴圈(Loop)會在各回合之間以固定或自行調整的間隔執行某個提示。可用它來輪詢外部狀態,例如 CI 執行或部署,並在狀態改變時採取行動。
若要在自行調整間隔的迴圈等待下一次執行時停止它,請按 Escape 鍵。固定間隔的迴圈會持續執行,直到您要求 Claude 取消它,或經過七天為止。
使用工作樹(worktree)執行平行工作
到目前為止的引導比喻,都假設一輛車只有一個方向盤。但當您在同一個程式碼庫上執行多個代理程式時,您不會希望一輛車裡有兩個方向盤,那並不安全。兩個 Claude 工作階段爭搶同一批檔案,會導致衝突。
這就是工作樹(worktree)派上用場的地方。與其讓各個工作階段互相干擾,不如讓每一個都擁有自己獨立的檔案樹。
因為每個代理程式都有自己的檔案樹,它們不會互相覆蓋彼此的變更。當某個工作階段結束時,乾淨的工作樹會自動被移除。
有一個值得了解的實用檔案。位於儲存庫根目錄的 .worktreeinclude 檔案,列出了要複製到每個工作樹中的 git 忽略檔案。這對於像環境變數檔案或本機設定這類您在每個工作樹中都需要、但不想提交到版本控制的內容很有用。
整合起來
處理長時間的 Claude Code 工作階段,歸結為幾個習慣:
- 先界定工作範圍,再進行引導。
- 引導您的壓縮,讓摘要保留重要內容。
- 當 Claude 偏離方向時,使用倒回選單進行修正。
- 當您能比描述步驟更清楚地描述「完成」時,設定一個目標。
- 在工作樹中執行平行工作。
做到這些,您就能放心信任一段長時間的執行,而不必在每一步都盯著它。