Claude Code

Claude Code 上下文与账户额度:/compact、/clear 和缓存

区分 Claude Code 对话上下文与账户用量,比较 /compact、/clear 的作用,解释缓存和压缩为何不会补回已消耗额度。

/context 查看一个对话占用的上下文空间;/usage 查看账户用量限制。腾出对话空间不会补回已消耗的账户额度,先根据问题选择要看的指标。

分别查看两种限制

  • 对话上下文:用 /context 查看消息、文件内容、工具输出等占用了多少当前模型窗口。即使账户还有额度,长对话也可能需要压缩。
  • 账户用量:用 /usage 查看适用的额度窗口和恢复时间。即使新对话很短,只要账户窗口已经耗尽,请求仍可能被阻止。

这两个百分比不能互相代替。恢复时间的问题见 Claude Code 各窗口何时重置

何时用 /compact,何时用 /clear

  • 继续同一任务/compact 把早先的对话历史替换为摘要。先保存重要决定、约束和未完成事项,再检查 /context,并核对摘要是否保留了下一步需要的信息。
  • 开始无关任务/clear 开始上下文为空的新对话,之前的会话仍可通过 /resume 找到。项目指令与记忆可能重新加载,因此新对话不等于没有输入 token。
  • 账户额度耗尽:两个命令都不会退回之前的用量。应按限额后的恢复步骤处理,而不是反复清空会话。

这些操作见命令参考上下文窗口说明。压缩是摘要,不能保证保留早先的每个细节。

为什么 /compact 本身也会消耗用量

生成摘要需要一次模型请求,后续任务才使用较短的历史。这样可能减少后续轮次反复处理的上下文,但不代表摘要免费,也不会抹去之前的消耗。

Claude Code 的缓存可以复用匹配的请求前缀。压缩改变了对话历史,相关缓存需要重建;如果恢复旧会话时缓存已经过期,摘要请求就无法命中原来的缓存,需要重新处理历史。见官方缓存说明

不要把缓存命中当作额度恢复,也不要用 API 缓存价格比例承诺固定的订阅节省量。任务、认证方式和适用计量规则仍然重要。

两个判断示例

以下是帮助判断的假设场景,不是账户实测结果。

  1. 测试输出很大,账户还有额度:保存失败用例和关键约束,停止追加完整日志;需要继续同一任务时再压缩。检查上下文构成,执行下一步有针对性的操作。成功表示所需内容装得下、工作能继续,不表示账户用量下降。
  2. 刚开新对话,周额度已经耗尽/context 可能显示很少的历史,/usage 仍然阻止请求。继续清空没有用;查看官方恢复时间或适用的付费选项,账户确认可用后再继续。

下次受限前减少无用工作

只读相关文件范围,过滤无关输出,给子 Agent 划分不重叠的任务。保存简短交接记录,包括决定、涉及文件和下一条验证命令。可以在 /usage 中对比相似工作,但不要根据一个命令或一次测试承诺固定节省比例。

公共重置记录和个人计时器见 Claude Code 平台页。只有官方界面给出明确的个人恢复时间,才保存计时器。

Claude Code · 重置历史与个人倒计时