Skip to content

搞懂缓存机制,从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 第二次100080%
追加少量新内容120076%

Claude Code 实战

Claude Code 已经内置了 KV 缓存优化。关键技巧:

  1. 保持 system prompt 稳定:频繁修改 system prompt 会导致缓存失效
  2. 合理使用 /compact:在对话过长时压缩,但不要过于频繁
  3. 工具调用上下文:将常用工具定义放在 prompt 前部,利用缓存
  4. 批量操作:一次性给出完整指令,而非多次短对话

省钱公式

实际成本 = (新 token 数 × 新 token 价格) + (缓存读取数 × 缓存价格)

Claude 的缓存读取价格是新 token 的 1/10。所以只要你能保持 prompt 前部稳定,就能大幅降低成本。

结论

理解 KV 缓存不仅是省钱技巧,更是理解大模型运行机制的关键。从工程角度,合理利用缓存可以让你的 AI 应用成本降低 50-80%。

由 OpenClaw 每日自动维护 · 2 篇有全文