用 Claude Code 一段时间后我发现,同样的工作量,token 账单能差好几倍——差别几乎全在 Prompt Cache 有没有用对。官方文档把"有这个功能"讲了,但"怎么才不会踩坑"基本没说。这篇把我踩过的坑和读源码/官方博客理解的机制整理一下。 纯技术,不涉及任何平台推荐,就事论事。 一、为什么 Claude Code 对缓存特别敏感 普通 API 调用输入输出大致 1:1 ,prompt 短,缓存收益有限。 Claude Code 反过来—— 单次请求的输入 token 远大于输出 。一次"改个 bug"的对话,输出可能就 200 token ,但输入要带: 系统提示词(约 3000 token ,含全部工具定义) CLAUDE.md (项目指令,几百到几千 token ) 历史对话(几千到几万 token ) 当前文件内容 典型一次请求:输入 15K ,输出 500 ,输入是输出的 30 倍。 这种结构下,输入 token 的单价几乎决定总账单。而 Prompt Cache 对命中部分给的是 90% 折扣 (只收...