載入中

上下文管理

第 6 課7 分鐘
載入中

上下文管理

摘要逐字稿

上下文是 Claude 的工作記憶。它讀取的每個檔案、執行的每個指令、您傳送的每則訊息——這一切都會佔用上下文視窗的空間。

什麼是上下文視窗?

將上下文視窗想像成 Claude 記憶中可容納的空間量。每當您輸入提示、Claude 讀取檔案、執行工具呼叫,或收到工具呼叫結果時,這些都會增加到上下文視窗中。由於空間有限,優化您使用它的方式就變得很重要。

顯示上下文視窗為權杖(token)網格的圖表——部分已被佔用,大部分仍可使用

上下文填滿時會發生什麼事

當您接近上限時,上下文視窗會自動進行壓縮(compacted)。壓縮會摘要重要細節並移除不必要的工具呼叫結果,以釋放空間。請注意,此過程可能會遺失部分細節。

Claude Code 顯示「正在壓縮對話……」,同時摘要上下文內容

Claude Code 顯示先前對話的精簡摘要,包含關鍵技術概念與檔案

指令

您可以使用 /compact 指令手動執行壓縮。這會壓縮到該時間點為止的所有內容。當您想要釋放上下文空間,同時保留先前工作內容的記憶時,這非常方便。

Claude Code 自動完成選單中的 /compact 指令

如果您想要完全從頭開始,不保留先前工作階段的任何記憶,請執行 /clear。這會移除所有內容。

在 Claude Code 中執行 /clear 以開始全新的工作階段

若要檢查您目前上下文的狀態,請執行 /context 指令。您會得到上下文大小的高層次概覽、佔用最多空間的類別,以及顯示細項分解的視覺化圖表。

/context 指令的輸出,顯示上下文使用情況的細項分解,並附有視覺化長條圖

何時該使用哪一個

一般經驗法則如下:

  • 使用 /compact:當您正在處理特定功能,且快要達到上下文上限但仍需要繼續時。讓上下文與您目前的功能保持相關性是很重要的。

  • 使用 /clear:當您想要開始一項新功能時。您不會希望先前的對話對新事物產生偏見。對於您希望 Claude 在不同工作階段之間記住的事項,請將它們放入您的 CLAUDE.md 檔案中,這樣它就不必從頭重新發現這些內容。

    一個包含指令、重要注意事項與架構區段的 CLAUDE.md 檔案

節省上下文空間的技巧

具體明確。 模糊的提示看起來可能比較精簡,但長遠來看實際上會耗費更多上下文。若缺乏明確的指示,Claude 就必須更深入地探索您的程式碼庫並自行進行推理——這會比詳細的提示佔用更多的上下文空間。

管理您的 MCP 伺服器。 MCP 伺服器預設會將其所有可用工具載入上下文中,即使您並未使用它們也一樣。如果您設定了與目前專案無關的伺服器,請考慮將它們關閉。您也可以嘗試使用「Skills」,其運作方式與 MCP 伺服器類似,但不會預先將所有內容載入上下文中。

使用子代理(subagents)。 子代理與您的主要代理平行執行,但擁有完全獨立的上下文視窗。對於您只需要得到答案的任務——例如「驗證端點位於哪裡?」——子代理會完成這項工作,並只將摘要回傳給您的主要代理,讓您的主要上下文保持乾淨。

重點回顧

在 Claude Code 中管理上下文至關重要。使用 /compact 來摘要冗長的工作階段,並使用 /clear 來重新開始。若要有效運用您的上下文視窗:提示要具體明確、檢查目前消耗上下文的內容,並使用子代理來委派您只需要結果的任務。