時間線顯示的內容
該會話演示了一個現實流程,包含代表性的令牌計數:- 在您輸入任何內容之前:CLAUDE.md、自動記憶、MCP 工具名稱和技能描述都加載到上下文中。您自己的設置可能會在此處添加更多內容,例如輸出樣式或來自
--append-system-prompt的文本,兩者都以相同方式進入系統提示。 - 當 Claude 工作時:每個文件讀取都會添加到上下文中,路徑範圍規則會自動與匹配的文件一起加載,並且PostToolUse hook在每次編輯後觸發。
- 後續提示:子代理在其自己的單獨上下文視窗中處理研究,因此大型文件讀取不會進入您的視窗。只有摘要和一個小的元數據預告片返回。
- 最後:
/compact用結構化摘要替換對話。大多數啟動內容會自動重新加載;下表顯示每個機制會發生什麼。
壓縮後的存活內容
當長會話壓縮時,Claude Code 會總結對話歷史以適應上下文視窗。您的指令會發生什麼取決於它們的加載方式:| 機制 | 壓縮後 |
|---|---|
| 系統提示和輸出樣式 | 不變;不是消息歷史的一部分 |
| 項目根目錄 CLAUDE.md 和無範圍規則 | 從磁盤重新注入 |
| 自動記憶 | 從磁盤重新注入 |
帶有 paths: frontmatter 的規則 | 丟失,直到再次讀取匹配的文件 |
| 子目錄中的嵌套 CLAUDE.md | 丟失,直到再次讀取該子目錄中的文件 |
| 調用的技能主體 | 重新注入,每個技能上限為 5,000 個令牌,總計 25,000 個令牌;最舊的優先刪除 |
| Hooks | 不適用;hooks 作為代碼運行,不是上下文 |
paths: frontmatter 或將其移動到項目根目錄 CLAUDE.md。
技能主體在壓縮後重新注入,但大型技能會被截斷以適應每個技能的上限,一旦超過總預算,最舊的調用技能就會被刪除。截斷保留文件的開始部分,因此請將最重要的指令放在 SKILL.md 的頂部附近。
當您的上下文填滿時
Claude Code 會在您接近限制時自動壓縮,因此完整的上下文視窗不會結束您的會話。自動傳遞的工作方式與時間線中的/compact 步驟相同。請參閱當上下文填滿時以了解它保留的內容。
您也可以在自動傳遞運行之前採取行動:
- 使用焦點進行壓縮:在開始長時間新任務之前,運行帶有指令的
/compact,例如/compact focus on the auth bug fix。摘要保留您選擇的內容,而不是自動傳遞猜測的重要內容。 - 在任務之間清除:切換到不相關的工作時運行
/clear。舊對話會擠出您接下來需要的文件,並在每條消息上花費令牌。 - 委託大型讀取:將研究發送給子代理,以便文件內容保留在其上下文視窗中,而不是您的。
[1m] 模型變體。Sonnet 5 以 1M 運行,無需選擇 [1m] 變體;請參閱Sonnet 5 上下文視窗以了解其自動壓縮閾值和 LLM 閘道例外。壓縮在更大的限制下以相同方式工作。
檢查您自己的會話
該可視化使用代表性數字。要在任何時刻查看您的實際上下文使用情況,請運行/context 以獲取按類別的實時分解和優化建議。運行 /memory 以檢查在啟動時加載了哪些 CLAUDE.md 和自動記憶文件。