Claude Code 的 prompt caching,真正决定长会话速度和成本的那层地基

在 Claude Code 里做长任务,最容易被忽略的不是模型多聪明,而是每一轮请求到底有没有命中缓存。一个大型仓库里,CLAUDE.md、自动记忆、MCP 工具定义、skills、前面读过的文件、终端输出、模型回复和工具结果都会被带进上下文。没有 prompt caching,每次提问都像把整本项目手册、整段聊天记录、全部工具说明重新交给模型读一遍。打开缓存以后,Claude Code 会复用已经处理过的部分,只处理新追加的那一小段内容,所以速度、延迟和成本都会明显不同。Claude Code 官方文档也把这件事讲得很直接,缓存的目的就是避免 API 在每一轮重复处理完整历史,而是复用已经处理过的内容。(Claude)

很多人第一次遇到缓存问题,常见感受是同一个 Claude Code session 前半段很快,某个操作之后突然变慢,成本统计也像被踩了一脚油门。原因往往不是模型突然退化,而是前缀缓存被打穿了。Claude Code 每次发送消息都会发起一次新的 API request,模型本身不会在请求之间保存记忆,所以 Claude Code 需要重新发送完整上下文。prompt caching 依靠请求开头的 prefix matching 工作,请求最前面那段如果和最近处理过的内容完全一致,就能读缓存。只要 prefix 中间某处变了,从那里往后的内容就要重新计算,官方文档也明确说它不是按文件或按片段做缓存,而是按请求开头做精确匹配。(