Claude Code 的上下文窗口是有限的。一旦接近上限,模型开始"遗忘"早期对话——症状是开始产生与之前一致但有细微偏差的代码。
/compact 是什么:
/compact 命令会让 Claude 把当前对话压缩成一份高密度摘要,保留关键决策和上下文,丢弃冗余的中间过程。之后用压缩版继续对话,相当于"续命"。
/compact
什么时候手动触发:
- 对话已经超过 2 小时,涉及大量文件改动
- 你发现 Claude 开始重复问已经回答过的问题
- 即将进入新的任务阶段(如从"分析"到"实现")
Claude Code 也会自动触发:
当上下文使用率超过一定阈值,Claude Code 会自动 compact,并在右上角提示。你可以在 settings.json 里调整触发时机:
{
"autoCompact": true
}
compact 之后的注意事项:
- 核心决策不会丢:文件路径、方案选择、约束条件会被保留
- 详细对话历史会丢:别指望它记得你三小时前说过的玩笑话
- 可以手动补充关键信息:compact 后可以说"记住,我们在用 Go 1.21,不允许 CGO"
把 /compact 当成长对话的"检查点",而不是出问题时的应急方案。