Claude Code
上下文管理
如何高效管理 Claude Code 的上下文窗口
Claude Code 的上下文窗口是有限的(Opus 4.6 约 200K token)。长时间会话中,合理管理上下文是高效使用的关键。
上下文是什么?
上下文 = 整个对话历史 + 工具调用结果 + 系统指令。每次你和 Claude 对话、每次 Claude 读取文件、执行命令,都会消耗上下文空间。
当上下文快满时,Claude Code 会提醒你,并可能自动压缩。
/compact 命令
这是最重要的上下文管理工具。
/compact工作原理:
- 将当前完整对话发送给模型
- 模型生成精炼摘要,保留关键信息
- 用摘要替换冗长的原始对话
- 释放大量 token 空间
自定义压缩重点
/compact 重点保留关于数据库架构的讨论/compact 只保留最近的代码修改和当前任务目标带参数的 /compact 会引导压缩过程优先保留你关心的信息。
/clear 命令
完全清空对话历史,从零开始:
/clear适合在不相关的任务之间切换。比如你刚修完一个 bug,现在要开发新功能,用 /clear 清掉无关上下文。
减少上下文消耗的技巧
1. 精确读取文件
不要:
读一下 src/app/layout.tsx更好:
读一下 src/app/layout.tsx 的第 10-30 行Claude 的 Read 工具支持 offset 和 limit 参数,只读取需要的部分。
2. 用搜索代替全文读取
不要:
帮我找找哪里用了 getUserById 这个函数(Claude 可能会挨个读文件)
更好:
搜索代码库中所有调用 getUserById 的地方(Claude 会用 Grep 工具,高效且省上下文)
3. 及时使用 /compact
不要等到上下文快满了才压缩。完成一个阶段性任务后,主动 /compact 一下。
4. 拆分大任务
与其在一个超长会话中完成所有事情,不如拆成几个独立会话。每个会话聚焦一个子任务。
5. 利用 /btw 做快速提问
/btw TypeScript 的 satisfies 关键字怎么用?/btw 的内容不会进入主对话历史,适合做快速提问而不污染上下文。
上下文指示器
Claude Code 界面会显示当前上下文使用情况。关注以下信号:
- 正常:上下文使用 < 60%,可以继续工作
- 注意:上下文使用 60-80%,考虑
/compact - 紧张:上下文使用 > 80%,尽快
/compact或/clear - 自动压缩:Claude Code 在极限时会自动触发压缩
/cost 查看消耗
/cost显示当前会话的 token 消耗和费用,帮你了解使用成本。