上下文管理
- 区分 /clear 与 /compact,并瞬间选对那一个
- 理解自动压缩,以及为什么主动清理仍然胜过它
- 运用四种技巧让长会话保持敏锐
- 识别上下文窗口已满的症状并迅速修复
核心思想
每次会话都有一个有限的上下文窗口。随着它被填满,较旧的内容会被挤压,Claude 可能开始"漂移"。有意识地管理上下文,正是让长会话保持敏锐的关键。
两个必备命令
两个命令几乎覆盖所有情况。诀窍在于让命令与你的意图相匹配。
1 / 2
用一个问题来决定:这是一个新任务还是同一个任务?
自动压缩
当上下文接近上限时,Claude Code 可以自动压缩,让工作得以继续而不硬性中断。它是一张安全网——但在任务之间主动 /clear,比依赖它能得到更好的结果。
- 把自动压缩当作后备手段,而非策略。在不相关的任务之间清理上下文,比让窗口一直填满直到触发自动压缩,能保持上下文更干净。
保持高效的技巧
除了这两个命令,还有四个习惯能让你的上下文从一开始就保持精简。
Guided walkthrough1 of 4
- 别让一下午不相关的工作全堆进一个上下文。
- 把大量阅读交给子智能体——它们消耗的是它们自己的上下文,只返回结论。见 /docs/claude-code/subagents。
- 用 @path 把 Claude 指向文件,而不是粘贴大块内容;并保持 CLAUDE.md 精简(见 /docs/claude-code/claude-md)。
- 一个显示上下文用量的状态栏能告诉你何时该压缩。见 /docs/claude-code/statusline。
这些都对应着实时文档:子智能体、CLAUDE.md 和状态栏。
:::tip 症状 → 处方
如果 Claude 开始忘记早先的某条指令或自我重复,那窗口很可能满了。/compact(同一任务)或 /clear(新任务)通常能立刻解决。更多内容见故障排查。
:::
- /clear 清空对话以便重新开始——用于不相关的任务
- /compact 总结会话以腾出空间——当窗口填满而你想继续同一个任务时使用
- 自动压缩是一张安全网;在任务之间主动 /clear 能得到更好的结果
- 保持上下文精简:一次会话一个任务、把繁重的阅读委派给子智能体、引用文件而非粘贴、并通过状态栏盯住预算
- 遗忘或重复意味着窗口已满——/compact(同一任务)或 /clear(新任务)即可修复