跳至主要內容
模組 1:核心 Agent 6 / 6
初階 Session 6 上下文 壓縮 記憶體管理

上下文壓縮

學習 Claude Code 如何使用 3 層壓縮策略管理上下文視窗限制 — 即使在長時間會話中也能保持高效。

2026年3月20日 15 分鐘閱讀

你將學到什麼

上下文視窗是有限的。即使有 200K tokens,包含許多檔案讀取和工具呼叫的長時間編程會話最終也會達到限制。當它達到時,Claude Code 不會只是停止 — 它會壓縮。

完成後,你將了解:

  • 為什麼上下文限制在實踐中很重要
  • 3 層壓縮策略
  • 什麼資訊在壓縮後存活
  • 如何組織工作以獲得更好的上下文效率

如何運作

3 層策略

┌──────────────────────────────────────────────┐
│           上下文壓縮                          │
│                                               │
│  第 1 層:修剪工具輸出                        │
│  ┌───────────────────────────────────────┐    │
│  │ 長工具結果 → 截斷                      │    │
│  │ "檔案內容(5000 行)..."               │    │
│  │ → "檔案內容(前 200 行)..."            │    │
│  └───────────────────────────────────────┘    │
│                                               │
│  第 2 層:摘要舊訊息                          │
│  ┌───────────────────────────────────────┐    │
│  │ 早期對話輪次 → 壓縮摘要                │    │
│  │                                        │    │
│  │ 第 1-15 輪:"使用者要求修復 auth        │    │
│  │ bug。在 middleware 中找到問題。          │    │
│  │ 修復了 JWT 驗證。測試通過。"            │    │
│  └───────────────────────────────────────┘    │
│                                               │
│  第 3 層:保留最近上下文                      │
│  ┌───────────────────────────────────────┐    │
│  │ 最後 N 輪完整保留                      │    │
│  │ 系統提示始終保留                        │    │
│  │ CLAUDE.md 始終保留                     │    │
│  │ 活動任務清單始終保留                    │    │
│  └───────────────────────────────────────┘    │
│                                               │
└──────────────────────────────────────────────┘

什麼在壓縮後存活

始終保留被壓縮被移除
系統提示舊對話輪次冗餘工具輸出
CLAUDE.md早期檔案讀取被取代的編輯
當前任務清單先前搜尋結果中間探索
最近對話舊錯誤訊息已解決的錯誤詳情

關鍵洞見

壓縮不是刪除 — 它是摘要化。 AI 不會失去對先前發生事情的意識;它失去逐字細節但保留精華。

這對你的工作方式有實際影響:

  • 長會話是可以的 — 壓縮保持它們高效
  • 關鍵上下文應該在 CLAUDE.md 中 — 它永遠不會被壓縮
  • 將大型任務分解為階段 — 每個階段可以從新的上下文開始
  • 使用子代理進行研究 — 它們的上下文是獨立的,完成後被丟棄

優化上下文效率

# 低效:載入所有東西然後工作
"讀取 src/ 中的所有檔案,然後修復 auth.ts 的 bug"
→ 載入 50 個檔案,只有 1 個相關

# 高效:目標明確的探索
"bug 在認證中。先檢查 src/auth/。"
→ 載入 3-5 個檔案,上下文保持精簡

# 更好:使用子代理進行探索
"使用 Explore 代理找到認證處理的位置,
 然後修復 bug。"
→ 探索上下文隔離在子代理中

前後對比

沒有壓縮有 3 層壓縮
上下文填滿時會話結束會話可以無限期繼續
所有歷史完整保留漸進式壓縮
上下文危機突然發生漸進、優雅的降級
長任務必須重新開始自動管理
關鍵資訊可能丟失系統提示 + CLAUDE.md 保留

下一堂課

這完成了模組 1:核心 Agent!你現在理解了基本構建模塊:Agent Loop、工具、規劃、子代理、知識載入和上下文管理。

模組 2中,我們將擴展到多代理系統。第 7 堂課任務圖與依賴關係開始 — Claude Code 如何用依賴邊協調多個任務,實現複雜工作流程。