许多Claude Code用户在长时间编码会话中,常感觉Token额度消耗过快。但据Anthropic工程师透露,影响实际成本的关键并非代码量大小,而是系统能否有效复用已处理过的上下文。近日,一位工程师通过优化缓存使用,在一周内成功复用超过3亿Token,其中单日缓存量高达9100万。
核心机制在于Prompt caching(提示缓存)。缓存Token的成本仅为普通输入Token的10%,这意味着9100万缓存Token的实际计费仅相当于900万普通Token。Claude Code长会话之所以显得更「耐用」,正是因大量重复上下文被成功复用,而非模型提供免费工作。
缓存运作依赖「前缀匹配」原则:只要新请求的前缀与已缓存内容完全一致,Claude即可直接读取缓存,避免重复处理整段上下文。根据文档,缓存分为三层:
- 系统层:包含基础指令、工具定义和输出风格,全局缓存
- 项目层:包括CLAUDE.md、项目记忆和规则,按项目缓存
- 对话层:涵盖历史消息记录,随对话轮次增长
工程师特别指出,Claude Code订阅版的缓存TTL(存活时间)为1小时,而API默认仅5分钟,子代理(Sub-agent)则固定为5分钟。这一差异曾引发用户混淆,但官方确认Claude Code的1小时缓存窗口保持不变。
监测数据显示,缓存命中率直接影响多方效益。Anthropic工程师Thariq表示:「我们实际上会监控prompt cache命中率,一旦过低就会触发警报。」高命中率时,Claude Code响应更快、服务成本下降、用户额度更耐用,长会话编码也更可行;反之则各方均受损失。
三大实用习惯提升缓存效率
对于普通用户,无需深究技术细节,只需养成以下关键习惯:
- 避免会话空置超1小时:缓存过期后,重新启动会话比继续「冷却」旧会话更经济
- 任务切换时做好会话交接:使用总结性过渡而非直接续聊,可维护缓存连续性
- 大文档优先存入Projects:相比直接粘贴进对话,Projects采用独立优化机制,更利于缓存管理
常见缓存破坏场景
部分操作会无声重置缓存:
- 切换模型:不同模型拥有独立缓存,切换即导致缓存失效
- 启用「Opus plan」模式:该模式在规划与执行阶段切换模型,本质上属于缓存中断操作
- 中途修改CLAUDE.md:修改不会立即生效,需下次会话重启才应用,当前缓存不受影响
为帮助用户直观掌握Token消耗,开发者开源了本地Token仪表盘工具,可展示每日输入、输出、缓存创建与读取数据。该工具基于本地会话记录统计,需注意不同设备间的数据独立性。
工程师最后强调,prompt caching虽可深度研究,但用户只需掌握关键原则:缓存Token成本仅为十分之一、Claude Code缓存窗口1小时、避免随意切换模型、在任务间隙做好清晰交接。这些实践足以让大多数用户显著提升额度使用效率,实现更持久、经济的编码辅助体验。
