Agent 工程
上下文壓縮:四層防線
拖動滑塊模擬對話增長,觀察壓縮如何延長上下文壽命。
四層壓縮策略
安全區間
第一層 · 裁剪 Snip
120K(60%)
-36K
刪掉早期工具返回的超長原始資料,只保留摘要。使用者完全無感。
壓縮前
天氣 API 返回 1200 Token 的 JSON:未來 7 天逐小時預報…
→
壓縮後
工具摘要:北京明日多雲 12-20°C(80 Token)
第二層 · 微壓縮 MicroCompact
150K(75%)
-50K
把早期的長對話生成簡短摘要替換。輕微資訊損失,關鍵資訊保留。
壓縮前
第 3 輪:「那個檔案不是 PDF 格式的,我需要 Word 版本,標題改成…」
→
壓縮後
摘要:使用者要求 Word 格式、改標題、調配色
第三層 · 摺疊 Collapse
170K(85%)
-80K
將多輪早期對話摺疊成一條摘要訊息。細節丟失,但主線保留。
壓縮前
第 1-8 輪(12 條訊息,4200 Token):討論需求、確認方案、修改三次…
→
壓縮後
會話摘要:React + TS 專案,當前修改報表頁(350 Token)
第四層 · 緊急壓縮 AutoCompact
190K(95%)
-110K
全面壓縮:只保留 system + 全域摘要 + 最近 3 輪。明顯資訊損失,但避免崩潰。
壓縮前
20 輪完整對話(38 條訊息,18000 Token)
→
壓縮後
system + 摘要 + 最近 3 輪(2500 Token)
📌 設計決策:拖動滑塊觀察:沒有壓縮的話,200K 的上下文只夠一次長對話。有了四層壓縮,同樣的視窗可以支撐 5 倍以上的對話量。
Takeaway
Takeaway 模型視窗 256K,安全空間 200K。四層壓縮像防洪堤:每次快滿時自動洩洪降水位,讓同一個視窗承載遠超 200K 的對話量。直到真的刪無可刪,才會超限。