跳转到主要内容
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 和自动内存文件。

相关资源

有关时间线中显示的功能的更深入覆盖,请参阅这些页面: