上下文与压缩机制
本页解释 Claude Code 的上下文窗口和自动压缩。它不是安装必读,但适合经常长对话、长时间写代码的用户。
适合谁看
- 对话很长时,发现 Claude Code “忘了前面说过什么”。
- 缓存费用突然变化,想知道是不是压缩导致。
- 想调整自动压缩触发阈值。
什么是上下文窗口
你和模型对话时,历史消息、文件内容、工具结果都会占用上下文。上下文窗口就是模型一次能处理的最大内容容量。
不同模型的窗口大小不同,具体以官方和当前渠道实际支持为准。文档里不要把模型窗口写成永久固定值,因为模型版本和线路能力会变化。
为什么会触发压缩
Claude Code 会根据当前对话累计占用判断是否需要压缩。压缩的目的不是丢数据,而是把早期内容总结成更短的摘要,让对话能继续进行。
压缩后可能出现:
- 早期细节变模糊。
- 之前命中的缓存失效。
- 下一次请求费用变高。
- 需要你重新补充关键背景。
调整压缩阈值
Claude Code 可通过环境变量调整自动压缩阈值:
txt
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE推荐值是 78 或 80,表示上下文使用到大约 78% 或 80% 时提前压缩,避免撑到极限才处理。
在 ~/.claude/settings.json 的 env 里加入:
json
{
"env": {
"ANTHROPIC_API_KEY": "sk-xxxxxxxxxxxxxxxx",
"ANTHROPIC_BASE_URL": "https://max.c-api.cc",
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "78"
}
}| 参数值 | 效果 | 适合谁 |
|---|---|---|
100 | 更晚压缩 | 短对话、轻度使用 |
78 / 80 | 提前留出余量 | 大多数重度用户 |
60 | 更频繁压缩 | 极长任务,但会更容易丢细节 |
怎样减少压缩后的遗忘
把长期有效的信息写进记忆文件,而不是只放在聊天里。
- Claude Code 使用
CLAUDE.md。 - Codex 使用
AGENTS.md。 - 项目背景、代码规范、常用命令适合放进去。
- 临时讨论、一次性需求不适合放进去。
继续看:记忆文件说明。

