多数团队在输入 token 上多花了钱。如果你每次请求都发同一段长 system prompt、工具定义或文档上下文,你就是在为模型已经见过的文本付全价重新处理。提示缓存解决这个问题,而在国产模型上,折扣很狠。
提示缓存怎么工作
发请求时,厂商会对你提示的前缀做哈希。如果这个完全相同的前缀最近见过,就以普通输入价的一小部分从缓存返回,通常约十分之一。只有提示新增的尾部按全价计费。
关键规则:缓存以稳定前缀为键。把所有不变的东西(system prompt、工具 schema、few-shot 示例、固定文档上下文)放在前面,把可变的用户输入放在最后。
重要的缓存价格(2026)
- DeepSeek 开创了激进缓存定价:缓存读取约 $0.07/M(V4-Flash 约 $0.014/M),而普通输入是 $0.14–$0.435/M。
- Kimi K2.6 紧随其后,缓存读取约 $0.16/M。
对带一大段稳定 system prompt 的 agent 工作,有效输入成本能降到 $0.03–$0.07 每百万 token,往往比你生成的输出还便宜。
把提示结构摆对以命中缓存
差(可变内容在前,几乎不命中):
messages = [
{"role": "user", "content": user_question}, # 每次都变
{"role": "system", "content": LONG_SYSTEM_PROMPT}, # 位置错了
]好(稳定前缀在前,每次都命中):
messages = [
{"role": "system", "content": LONG_SYSTEM_PROMPT}, # 不变 → 进缓存
{"role": "user", "content": FIXED_CONTEXT}, # 不变 → 进缓存
{"role": "user", "content": user_question}, # 只有这条是"新的"
]这样第一次之后的每次请求都复用缓存前缀,你只为 user_question 付全价。
一个算过的例子
一个带 2 万 token system prompt + 工具的 agent,每天回答 10 万条短问题:
- 不用缓存:2万 × 10万 = 每天 20 亿输入 token,按约 $0.14/M ≈ 每天 $280。
- 用缓存(前缀按 Flash 约 $0.014/M 命中)≈ 缓存前缀部分 每天 $28。
仅凭提示结构,输入成本降 10 倍,质量不变。
这件事在真实世界值多少钱(2026 年 8 月实测)
真实数据从一个意外的来源到了:一位编码工具创始人公布了 48 小时 DeepSeek 流量的客户端缓存命中率,按发请求的工具分列。差距:最好的客户端命中率 98.6%,另一款专门优化过的 97.9%——而一款流行的通用 agent CLI 只有 89.3%。9 个百分点听着不大,换算成钱就大了:DeepSeek 的缓存未命中价约是命中价的 50 倍,同等负载下,结构最好的客户端为输入付的账单,约是最差那个的四分之一。同一个模型、概念上同样的提示——差的全是本文讲的那套请求组装纪律:前缀稳定、工具定义排序固定、动态内容放最后。(讨论区一条公道的提醒:单看命中*率*会美化拆一堆小请求的话痨客户端,要连同每任务总 token 一起看。)
用起来
DeepSeek V4-Pro、V4-Flash 和 Kimi K2.6 都暴露这种缓存行为,而你能通过 Turiloop 一个 OpenAI 兼容的 Key 调用它们全部。让稳定前缀保持稳定、可变输入放最后,省钱就是自动的。按量付费、国际卡、免中国手机号。