Claude Code缓存机制详解:省钱提速实战指南

在使用 Claude Code 进行开发时,你是否注意到有时响应飞快、有时却明显变慢,而账单成本也随之波动?这背后的关键机制就是 Prompt Caching(提示缓存)。本文将系统梳理这项功能的核心原理、失效规则与最佳实践,帮助你在日常工作流中显著提升效率并降低成本。
什么是 Prompt Caching
Prompt Caching 本质上是一种智能记忆机制。在没有缓存的情况下,每次与 Claude 对话,模型都需要重新读取此前所有的聊天记录和上下文;而有了缓存,它就能记住已处理过的内容,只关注最新的变化。这大幅加快了响应速度,也节省了重复处理的开销。
技术背景:KV Cache 与大模型推理
Prompt Caching 的底层实现依赖于大语言模型推理中的 KV Cache(键值缓存) 机制。在 Transformer 架构中,每个 Token 在经过注意力层时都会产生对应的 Key 和 Value 向量。当处理相同的前缀文本时,这些向量可以被复用,而无需重新计算——这正是缓存加速的物理基础。Anthropic 将这一底层机制封装为对用户友好的 Prompt Caching API,让开发者无需了解模型内部细节即可受益。从成本角度看,Anthropic 官方数据显示,缓存命中的 Token 读取成本约为正常输入 Token 的 10%,而写入缓存的成本约为正常输入的 125%——这意味着只有当同一前缀被多次复用时,缓存才真正划算。
系统会自动管理这一过程,但理解其工作方式能帮你避免许多常见的"踩坑"行为。缓存并非玄学,而是遵循清晰规则的工程机制——一旦掌握,就能主动引导它为你服务。
缓存的三层结构与失效连锁
Claude Code 将请求分成三个层级:
- 系统提示层(最顶层):包含核心指令和工具定义,很少变动。
- 项目上下文层(中间层):例如 CLAUDE.md 文件等项目配置。
- 实时对话层(最底层):即当前正在进行的对话内容。
这个结构的关键在于前缀匹配机制:只有当上层内容保持不变时,下层的缓存才能被有效复用。一旦顶层内容发生变化,整个缓存链条就会失效——这就是所谓的"失效连锁反应"。
前缀匹配的工程逻辑
前缀匹配(Prefix Matching)的根源在于 Transformer 的自回归计算特性。模型处理文本时,每个 Token 的注意力计算依赖于其之前所有 Token 的 KV 向量。这意味着只有当一段文本从头部开始完全一致时,中间的计算结果才能被复用——任何前缀的改变都会导致后续所有 Token 的计算失效,形成"失效连锁"。这一特性使得缓存对内容顺序极为敏感:将稳定的系统提示置于对话上下文之前,是利用缓存的黄金法则。这也解释了为何 Claude Code 将系统提示层设计为最顶层——它是所有请求中最不变的部分,最适合长期缓存。
除了内容本身,还有两个隐藏的"密钥"决定缓存有效性:模型和工作量级别。Opus 模型的缓存和 Sonnet 模型的缓存完全隔离,高工作量级别与默认级别的缓存也互不相通。

因此,最佳做法是:在开始任务前就确定好模型和工作量设置,避免中途切换导致缓存失效、请求变慢。
缓存存储位置
缓存存储在服务器端,具体位置取决于你的登录方式:使用 API 密钥或直接订阅时,缓存位于 Anthropic 的服务器上;若通过 Bedrock 或 Vertex AI 使用,则缓存位于对应的云服务商处。理解这一点,有助于把握缓存的作用范围与生命周期。
哪些操作会打碎缓存
了解"雷区"是避免性能损失的第一步。以下几类操作会导致 Claude Code 缓存失效:
切换模型与工作量级别
每个模型和级别都有独立缓存。使用 /model 命令从 Sonnet 切换到 Opus,或用 /effort 命令调整工作量时,缓存都会失效。尤其需要注意 Opus Plan 模型,它在规划与执行模式间的自动切换同样会触发失效。好在系统通常会在这些操作前发出警告。
MCP 服务器与工具权限变化
由于工具定义属于系统提示层,任何改变可用工具集的操作——比如连接或断开 MCP 服务器——都会使缓存失效。同样,如果在对话中途完全禁用某个工具(如 Bash),也会修改系统提示导致失效。
MCP 协议与工具定义的关系
MCP(Model Context Protocol)是 Anthropic 于 2024 年推出的开放协议,旨在标准化 AI 模型与外部工具、数据源之间的连接方式。在 Claude Code 中,每个 MCP 服务器连接都会向系统提示层注入工具定义(Tool Definitions)——这些定义描述了模型可以调用哪些函数、参数格式是什么。由于工具定义是系统提示的一部分,任何 MCP 服务器的增减都会改变这段文本,从而破坏缓存前缀。理解这一机制有助于制定更合理的配置策略:在工作会话开始时一次性连接所有需要的 MCP 服务器,而非动态增减,可以有效维持缓存稳定性。

需要注意的是:像 Bash(rm) 这样的作用域预限制是安全的,不会影响缓存。
压缩对话与升级软件
运行 /compact 命令会用摘要替换历史记录,这会使对话层缓存失效,但系统提示和项目上下文的缓存仍然可用。建议在任务间隙主动压缩。此外,升级 Claude Code 后,由于系统提示可能更新,第一个请求需要重建缓存——如果此时恢复一个很长的会话,可能产生一笔不小的额外开销。
哪些操作是缓存安全的
与雷区相对,许多常用操作是完全缓存安全的,可以放心使用:
- 编辑代码文件:完全安全,文件内容是按需读取并追加到上下文末尾的。
- 切换权限模式、调用技能、运行
/recap:均不影响缓存前缀。 /rewind回退命令:非常高效,它只是截断对话,剩余部分仍能命中之前的缓存。

你可能没注意到,编辑 CLAUDE.md 或更改输出样式虽然不会让缓存失效,但新的更改也不会立即生效,需要等到下一次压缩或重启会话。这是因为这些配置在会话开始时就已加载到系统提示层。
生命周期、监控与特殊场景
缓存的生命周期(TTL)
缓存并非永久存在,目前提供两种生存时间选择:5 分钟和 1 小时。5 分钟成本更低,1 小时则能让缓存在较长中断后依然"温暖"。订阅用户默认使用 1 小时 TTL;API 密钥用户默认 5 分钟,但可通过环境变量启用 1 小时。
TTL 与云服务缓存基础设施
TTL(Time-To-Live,生存时间)是分布式缓存系统中的标准概念,用于控制缓存数据的有效期。Claude 的两档 TTL 设计反映了不同使用场景下延迟成本与存储成本之间的权衡:5 分钟 TTL 适合高频、短时任务,存储开销小;1 小时 TTL 则适合需要中断后恢复的长任务,避免"冷启动"开销。值得注意的是,缓存存储在服务提供商的服务器端(Anthropic、AWS Bedrock 或 Google Vertex AI),这意味着缓存是按用户账户隔离的,而非按设备——但 Claude Code 在客户端进一步限制了缓存范围(单机单目录),这是为了保证上下文一致性的工程决策,而非底层 API 的限制。
此外,缓存的有效范围被严格限制在一台机器的一个目录内。不同文件夹的缓存彼此独立,即便在同一文件夹内切换 Git 分支,新会话也无法复用旧分支的缓存。
如何监控缓存效率
API 会返回两个关键指标:cache_creation_input_tokens(写入缓存的令牌数)和 cache_read_input_tokens(从缓存读取的令牌数)。健康的系统应保持很高的读取/创建比率。如果创建值持续偏高,说明缓存可能在频繁失效,需要排查是否存在不当操作。
子代理与分叉的区别

这是两个容易混淆的高级场景:
- 子代理(Subagent):会创建独立的对话和缓存,首次调用需要预热,但不会影响父代理的缓存。
- 分叉(Fork):会继承父代理的缓存,可以直接读取,因此启动非常迅速。
Agent 架构中的两种扩展模式
子代理与分叉的区别折射出 AI Agent 系统架构中的两种扩展思路。子代理模式类似于微服务架构中的独立服务调用:每个子代理拥有独立的上下文窗口和缓存空间,父代理通过消息传递与其通信,适合需要完全隔离执行环境的并行任务。分叉模式则类似于操作系统中的进程分叉(
fork()):子进程继承父进程的内存状态,在 Claude Code 的语境中即继承父代理的缓存前缀,因此启动极快,适合在同一上下文基础上派生出多个略有差异的执行路径。在设计复杂的多步骤 AI 工作流时,理解这两种模式的缓存特性,可以显著影响整体系统的响应时间与 Token 消耗。
理解两者差异,有助于在复杂任务中做出更高效的架构选择。
高级配置与最佳实践
作为高级选项,可以通过环境变量完全禁用 Prompt Caching,用于调试特定问题——既可全局禁用,也可仅针对特定模型(如 Haiku、Sonnet、Opus)禁用。组织管理员还能通过托管设置统一配置缓存策略。但除非必要,不建议禁用缓存,否则会显著影响性能和成本。
总结核心原则——理解前缀匹配机制,尽量保持前缀稳定:
- 会话开始时就配置好模型与工作量级别,避免中途变更;
- 在任务间隙主动运行
/compact压缩; - 优先使用
/rewind回退,而非重启会话; - 定期监控缓存性能指标,及时发现异常失效。
掌握这些技巧,你就能让缓存真正为工作提效增值,在享受 Claude Code 强大能力的同时,把成本控制在合理范围内。
核心要点
相关推荐

monolog:无需整理的AI笔记应用,语义搜索找回一切
monolog是一款取消文件夹和标签的AI笔记应用,用户只需像聊天一样记录想法,AI自动理解内容并通过语义搜索帮你找回信息。支持iOS、Android、Web等全平台同步。

AI编程助手为何这么烧钱?揭秘Harness背后的真实账单
深度解析AI编程助手Claude Code、Cursor、Cline等工具的隐形成本结构,揭示系统提示词、Agent往返震荡和Prompt缓存如何影响你的账单,提供实用的成本优化策略。

AirTag追踪揭秘:亚马逊疑似销毁珍本书训练AI
404 Media记者用AirTag追踪稀有书籍,发现其被送往亚马逊AI训练设施。调查揭示AI公司可能通过破坏性扫描珍本书获取训练数据,引发版权争议与文化遗产保护讨论。