INFO
搞懂缓存机制,从Gemma4到Claude Code省80%Token
从 KV 缓存原理到 Claude Code 实战,系统讲透 token 省钱机制
🔗 原文链接 | @MinLiBuilds | 🇨🇳 | ⭐⭐⭐⭐⭐ 5 ⭐5 5/5 📅 2026-04-10
kv-cache claude-code token-optimization transformer caching prompt-caching
背景
在本地跑 Gemma 4 的时候发现一个有趣的现象:第一次对话和后续对话的 token 消耗差距巨大。这让我开始深入研究 Transformer 的缓存机制。
KV 缓存原理
Transformer 的注意力机制中,Q(Query)、K(Key)、V(Value)三个矩阵是核心。当模型处理第 i 个 token 时,需要计算它与之前所有 token 的注意力分数。
关键洞察:在 Decoder-only 架构中,历史 token 的 K 和 V 矩阵是不变的。这意味着我们可以把之前计算过的 KV 结果缓存起来,避免重复计算。
具体来说:
- Prompt 阶段:逐 token 计算,每个新 token 都需要和前面所有 token 做注意力
- 生成阶段:每个新 token 只需要和缓存的 KV 做注意力,计算量大幅降低
实测数据
在本地 Gemma 4 上的测试:
| 场景 | Token 消耗 | 节省比例 |
|---|---|---|
| 首次对话(无缓存) | 5000 | — |
| 相同 prompt 第二次 | 1000 | 80% |
| 追加少量新内容 | 1200 | 76% |
Claude Code 实战
Claude Code 已经内置了 KV 缓存优化。关键技巧:
- 保持 system prompt 稳定:频繁修改 system prompt 会导致缓存失效
- 合理使用
/compact:在对话过长时压缩,但不要过于频繁 - 工具调用上下文:将常用工具定义放在 prompt 前部,利用缓存
- 批量操作:一次性给出完整指令,而非多次短对话
省钱公式
实际成本 = (新 token 数 × 新 token 价格) + (缓存读取数 × 缓存价格)Claude 的缓存读取价格是新 token 的 1/10。所以只要你能保持 prompt 前部稳定,就能大幅降低成本。
结论
理解 KV 缓存不仅是省钱技巧,更是理解大模型运行机制的关键。从工程角度,合理利用缓存可以让你的 AI 应用成本降低 50-80%。