探索上下文視窗
Claude Code 上下文視窗在會話期間如何填充的互動模擬。查看自動加載的內容、每個文件讀取的成本,以及規則和 hooks 何時觸發。
Claude Code 的上下文視窗包含 Claude 對您的會話所知的一切:您的指令、它讀取的文件、它自己的回應,以及從不在您的終端中出現的內容。下面的時間線介紹了加載的內容和時間。請參閱書面分解以獲取相同內容的列表形式。
時間線顯示的內容
該會話演示了一個現實流程,包含代表性的令牌計數:
- 在您輸入任何內容之前:CLAUDE.md、自動記憶、MCP 工具名稱和技能描述都加載到上下文中。您自己的設置可能會在此處添加更多內容,例如輸出樣式或來自
--append-system-prompt的文本,兩者都以相同方式進入系統提示。 - 當 Claude 工作時:每個文件讀取都會添加到上下文中,路徑範圍規則會自動與匹配的文件一起加載,並且PostToolUse hook在每次編輯後觸發。
- 後續提示:子代理在其自己的單獨上下文視窗中處理研究,因此大型文件讀取不會進入您的視窗。只有摘要和一個小的元數據預告片返回。
- 最後:
/compact用結構化摘要替換對話。大多數啟動內容會自動重新加載;下表顯示每個機制會發生什麼。
壓縮後的存活內容
當長會話壓縮時,Claude Code 會總結對話歷史以適應上下文視窗。您的指令會發生什麼取決於它們的加載方式:
| 機制 | 壓縮後 |
|---|---|
| 系統提示和輸出樣式 | 不變;不是消息歷史的一部分 |
| 項目根目錄 CLAUDE.md 和無範圍規則 | 從磁盤重新注入 |
| 自動記憶 | 從磁盤重新注入 |
帶有 paths: frontmatter 的規則 |
丟失,直到再次讀取匹配的文件 |
| 子目錄中的嵌套 CLAUDE.md | 丟失,直到再次讀取該子目錄中的文件 |
| 調用的技能主體 | 重新注入,每個技能上限為 5,000 個令牌,總計 25,000 個令牌;最舊的優先刪除 |
| Hooks | 不適用;hooks 作為代碼運行,不是上下文 |
路徑範圍規則和嵌套 CLAUDE.md 文件在讀取其觸發文件時加載到消息歷史中,因此壓縮會將它們與其他所有內容一起總結。下次 Claude 讀取匹配的文件時,它們會重新加載。如果規則必須在壓縮過程中持續存在,請刪除 paths: frontmatter 或將其移動到項目根目錄 CLAUDE.md。
技能主體在壓縮後重新注入,但大型技能會被截斷以適應每個技能的上限,一旦超過總預算,最舊的調用技能就會被刪除。截斷保留文件的開始部分,因此請將最重要的指令放在 SKILL.md 的頂部附近。
檢查您自己的會話
該可視化使用代表性數字。要在任何時刻查看您的實際上下文使用情況,請運行 /context 以獲取按類別的實時分解和優化建議。運行 /memory 以檢查在啟動時加載了哪些 CLAUDE.md 和自動記憶文件。
相關資源
有關時間線中顯示的功能的更深入覆蓋,請參閱這些頁面: