上下文壓縮具體怎麼運作,有哪些常見做法?
常見的實作方式:一是「滾動式摘要」——當對話累積到接近某個 token 門檻時,把最早期的一段內容摘要成幾句話,取代原文放回上下文,隨對話繼續進行,這個摘要範圍會持續往前推進;二是「選擇性保留」——優先保留使用者明確標記重要、或系統判斷為關鍵決策點的內容,其餘背景性資訊優先壓縮;三是「工具結果精簡」——像是 agent 執行任務時產生的大量中間輸出(例如程式碼執行結果、搜尋結果),通常在完成任務後就會被壓縮成結論性摘要,不需要保留完整原始輸出。
這些做法的共同挑戰在於:壓縮的判斷標準很難完全自動化,如果摘要漏掉了後續會用到的細節,反而會製造新的問題。
Claude Code 在執行長時間的多步驟編碼任務時,會在對話累積到一定長度後自動觸發壓縮,把已完成步驟的詳細過程(例如逐行的程式碼修改紀錄)摘要成「已完成:修正登入模組的空指標錯誤,新增單元測試」這樣的結論句,讓後續步驟能在不塞爆上下文的情況下繼續進行。
上下文壓縮的優點是能延長長時間任務的可持續運作時間,避免頻繁重啟對話;缺點是壓縮判斷標準難以完全自動化,重要細節有可能在摘要過程中被遺漏,對精確度要求極高的任務(例如法律文件逐字比對)需要額外留意並主動重申關鍵限制。