LLM Prompt Caching 经济学:购买 GPU 前先测量
Tech
AI
LLM Infrastructure
Prompt Caching
Inference

LLM Prompt Caching 经济学:购买 GPU 前先测量

Prompt caching 可以改变云端与本地 LLM 的经济性,但前提是工作负载会重复使用稳定前缀。配置容量前先进行测量。

Uygar DuzgunUUygar Duzgun
Jul 30, 2026
更新於 2026年8月17日
16 min read

LLM prompt caching 可以让高价 API 在重复上下文场景下比利用率不足的本地 GPU 更便宜。但它也可能完全无法节省成本。决定因素不是模型的标价,而是前缀复用、缓存写入成本、读取折扣、过期、驱逐、利用率,以及失败工作的成本。

受众: 负责 LLM 平台成本、延迟或基础设施决策的高级实践者。

实用规则:在购买 GPU 容量之前,先在真实工作负载上测量缓存读取和失效情况。 一项新的企业编码代理案例研究以惊人的 99.3% 缓存命中率说明了这一点,但其作者研究的是一名开发者、两个连续的 28 天周期、不同的模型系列,以及一个生产代码库。应将这篇论文视为测量提示,而不是云端与本地方案的裁决。

LLM prompt caching 改变了什么

LLM 处理输入大致分为两个阶段:

Prefill: 模型读取 prompt,并为其中的 token 构建 attention 状态。
Decode: 模型逐个 token 生成新内容。

在服务层,前缀缓存可以为 prompt 前缀存储可复用的 attention 或 key-value 状态。后续请求如果包含相同且符合条件的前缀,就可以跳过部分重复的 prefill 工作。变化的后缀仍然需要处理,模型也仍然会解码生成新的答案。

这一点很重要。Prompt caching 不是响应缓存。它不会返回已存储的答案,不会缩短输出,不会修复薄弱的 prompt,也不保证端到端延迟更低。它主要针对重复的输入计算,并且通常会改善首 token 时间。

最初的 Prompt Cache 论文 对可复用的 prompt 模块进行了形式化,并报告了原型在 GPU 上 8×、在 CPU 上 60× 的首 token 时间改进。这些结果来自论文测试的模型、硬件、prompt 和实现,并不是对当前商业 API 的预测。

99.3% 案例研究:有用但边界狭窄的证据

一篇发表于 2026 年 7 月的预印本 *Inference Economics of Enterprise Coding Agents*,比较了一个生产单体代码库中连续两个 28 天周期:

使用 Claude Code 搭配 Claude Opus 4.7 和 4.8 的 API 配置;
使用 OpenCode 搭配运行在 NVIDIA Blackwell 硬件上的量化 GLM-5.1 和 5.2 的本地部署配置。

作者分析了 LLM 遥测数据和 Git 历史。他们报告称,API 周期的 prompt-cache 命中率为 99.3%,API 的有效成本为每百万处理 token 0.573 美元,而共享本地部署分配的摊销单位成本为 2.83 美元。API 处理的 token 数量多出 16.9 倍,而本地硬件利用率较低,因此这些标准化 token 价格并不能解决基础设施问题。

总成本结果会因资源分配方式而不同。按照论文中的台湾市场和劳动力假设,共享本地容量使估算的真实总拥有成本降低了 40.1%。专用本地预留容量的成本比使用缓存 API 高 43.8%。本地周期还对应着更高的修复提交比例:74.9%,而 API 周期为 45.9%。

作者测量了什么

两个周期的请求和 token 遥测数据;
prompt-cache 行为和实际 API 支出;
硬件分配与摊销假设;
被分类为功能、修复和其他工作的提交;
从时间戳推导出的开发者工作流指标。

作者推断了什么

当利用率足够高时,共享本地推理可以在总成本上胜出;
专用硬件可能不敌高度缓存的 API;
模型质量和修复工作应纳入成本模型;
混合路由可能在基础设施节省与缺陷负担之间进行权衡。

该研究无法证明什么

研究设计不是随机化的,并且采用了连续周期。两个周期之间,代码库、开发者、任务组合和工作方式都可能发生变化。模型能力、服务栈、harness 和量化方式也同时发生了变化。第一作者知道研究假设。修复提交标签是代理指标,而不是独立的缺陷审计。原始生产遥测数据和完整的重放环境没有公开。

更持久的结论比标题中的数字更窄:前缀复用和 GPU 利用率可能压倒标价比较,而修复工作可能压倒 token 节省。

在计算命中率前定义测量契约

除非明确分母,否则“缓存命中率”是含糊的。一个 dashboard 可能用缓存 token 除以符合条件的前缀 token;另一个可能用发生任何缓存读取的请求数除以全部请求数;第三个可能将缓存 token 作为总输入的比例,其中包括未缓存的后缀。

请使用分开的指标:

符合条件的前缀 token: 根据 provider 或 engine 规则可以复用的输入 token。
缓存读取比例: 缓存读取 token 除以符合条件的前缀 token。
请求命中率: 发生任何缓存读取的符合条件请求数除以符合条件的请求数。
写入放大: 缓存写入 token 除以符合条件的前缀 token。
未缓存后缀: 每次请求都要处理的变化输入 token。
首 token 时间: 第一个生成 token 到达前经过的时间。
端到端延迟: 直到可用响应完成所经过的时间。
每个成功任务的成本: 所有推理和平台成本除以通过验收标准的任务数。
推薦閱讀

将 provider 报告的使用字段与自行推导的指标分开。token 数量也会随着模型 tokenizer 和模板变化;LLM tokenizer tax 解释说明了为什么原始字符数不能很好地替代 token 统计。

当前 API 和自托管行为并不统一

以下快照于 2026 年 7 月 30 日核查。用于采购或计费前,请重新检查链接的文档。

PlatformCache controlObservable signalOperational constraint
------------
OpenAI APIGPT-5.6 支持隐式和显式 prompt caching`cached_tokens` 和 `cache_write_tokens`当前 GPT-5.6 指南规定显式写入按未缓存输入价格的 1.25× 计费;读取享受折扣
Anthropic API自动缓存或显式 block breakpoint分开的缓存创建和读取用量前缀顺序为 tools、system,然后是 messages;默认 TTL 为 5 分钟,也可付费使用 1 小时选项
Gemini Interactions APIGemini 2.5 及更新模型默认启用隐式 context caching`usage.total_cached_tokens`通用内容应放在开头;当前最低要求按模型为 2,048 至 4,096 token
vLLM可在 engine 中启用 Automatic Prefix CachingEngine 指标和请求计时团队需要自行负责容量、驱逐、隔离、升级和可观测性

OpenAI 当前的模型指南建议 GPT-5.6 用户监控缓存写入和读取,因为显式写入的成本高于未缓存输入。Anthropic 的 prompt-caching 文档说明了 5 分钟写入按基础输入价格的 1.25× 计费、1 小时写入按 2× 计费,以及缓存读取按 0.1× 计费。Google 的 context-caching 指南表示,Interactions API 会自动启用隐式缓存,并在用量中报告缓存 token。vLLM 的 Automatic Prefix Caching 示例展示了自托管 engine 中相同的共享前缀理念。

这些实现共享的是一种原则,而不是可移植的计费契约。最低前缀长度、缓存范围、保留时间、存储费用、使用字段和隔离方式都可能不同。

涵盖前缀设计、使用遥测、失效测试和总成本的四步 prompt cache 测量循环
涵盖前缀设计、使用遥测、失效测试和总成本的四步 prompt cache 测量循环

*在改变基础设施前先测量缓存:稳定前缀,运行冷启动和热启动测试,强制失效,然后比较总成本。*

可复用前缀的盈亏平衡公式

设:

`U` = 每个可复用前缀 token 的未缓存输入价格;
`W` = 每个可复用前缀 token 的缓存写入价格;
`R` = 每个可复用前缀 token 的缓存读取价格;
`N` = 前缀在过期或被驱逐前被复用的请求数。

忽略存储费用,每个请求的平均可复用前缀费用为:

`(W + (N - 1) × R) / N`

当满足以下条件时,缓存处理该前缀的成本低于未缓存处理:

`N > (W - R) / (U - R)`

该公式只隔离了可复用前缀。它不包括变化后缀、输出 token、可缓存长度下限、存储费用、驱逐导致的未命中、并发影响、工程人力和失败任务。

以一个有日期的示例说明,2026 年 7 月 30 日 Anthropic 的 5 分钟倍数为 `U = 1`、`W = 1.25` 和 `R = 0.1`。仅考虑输入时,阈值为 `N > 1.28`,因此对于符合条件的前缀,在缓存生命周期内的第二次使用就能摊薄更高的写入费用。这并不意味着总共两次 API 调用就能让缓存获利。较短的前缀、较长的未缓存后缀、一次缓存未命中或昂贵的输出,都可能抹去节省。

将该公式作为成本模型的单元测试。用当前 provider 契约和测量到的工作负载值替换每个变量。

为什么看似稳定的 prompt 仍然会缓存未命中

大多数未命中源于 prompt 构建,而不是模型。

易变数据出现得太早

时间戳、请求 ID、随机 nonce、用户名或新检索结果如果出现在前部,就会改变其后的每个 token。将稳定的 tools、策略、模板和可复用文档放在前面。将请求特定数据移到可复用前缀或显式 breakpoint 之后。

序列化在请求之间发生变化

JSON 键顺序、空白、工具顺序和文档顺序可能改变原本等价的前缀。使用确定性序列化。在语义允许的情况下,按照稳定标识符对工具定义和检索文档排序。

上下文管理器破坏了前缀连续性

激进的裁剪可以节省输入 token,却会使缓存前缀失效。TokenPilot 是一篇发表于 2026 年 6 月的进行中预印本,将其视为联合优化问题。作者稳定摄取过程,并延迟驱逐,直到上下文失去任务价值。他们报告称,在两个 benchmark 和两种执行模式中,成本降低了 56% 至 87%,同时保持了有竞争力的任务表现。这些结果需要在论文工作负载和 LightMem2 集成之外进行复现。

缓存在真实负载下过期或被驱逐

推薦閱讀

热启动本地测试可能掩盖 TTL 边界和容量压力。自托管前缀缓存与其他 KV-cache 系统一样,都受有限内存现实的约束。更深入的 KV-cache 驱逐指南介绍了为什么并发和序列长度上升时复用可能崩溃。

模型或模板发生变化

模型版本、tokenizer、chat template、图像 detail 设置、工具 schema 或安全前导语都可能创建新的前缀。将发布和 prompt 迁移视为缓存失效事件。

当前 vLLM 工程讨论说明了这种压力。上下文感知保留提案认为并发 agent 工作负载可能驱逐有价值的前缀,而语义 KV-cache 提案则探索精确匹配之外的复用。这些是开放的设计讨论,不是生产保证或采用率测量。

可复现的 prompt-cache 测试

推薦閱讀

使用与为真实工作评测 AI 模型相同的任务集。缓存测试增加受控的前缀变更和基础设施核算。

1. 固定具有代表性的工作负载

从生产流量或隐私安全的重放数据集中选择 30 至 100 个任务。保留真实的前缀长度、后缀长度、输出长度、工具、文档和并发分布。在运行测试前定义任务成功标准。

不要针对一个很长的演示 prompt 进行优化。缓存友好的客服工作流和缓存不友好的研究工作流可能具有完全相反的经济性。

2. 拆分稳定内容和易变内容

为每个 prompt 片段标注:

在整个部署期间保持稳定;
在某个租户或会话内保持稳定;
每次请求都会变化;
敏感程度足以需要单独的保留决策。

构建确定性的 prompt assembler。记录不透明的前缀版本或带密钥的 hash,使每个请求都能标识其尝试复用的前缀。不要将 secret 或原始客户内容放入日志。

3. 运行受控矩阵

对于每个任务类别,测量:

TrialChangeQuestion answered
---------
Cold没有可复用状态的新前缀基线写入或 prefill 成本是多少?
Warm完全相同的符合条件前缀provider 或 engine 是否报告读取?
Early mutation更改开头附近的一个 token有多少复用会消失?
Late mutation只更改后缀稳定前缀是否仍可复用?
TTL boundary在过期前后重复请求生产流量有多大概率及时到达?
Concurrency分阶段增加并行请求驱逐或调度是否会降低复用?
Version change更改模型、工具或模板哪些部署会使缓存失效?

运行足够多次重复测试,以便报告分布,而不是单个延迟数字。将 p50 和 p95 首 token 时间与端到端延迟分开。

4. 同时记录计费和质量

记录:

未缓存输入 token;
缓存写入 token;
缓存读取 token;
输出 token;
存储或保留费用;
首 token 时间和完成时间;
限流或重试成本;
任务成功率和人工修复时间。

精确前缀状态复用应避免重复的 prefill 计算,但这并不能免除质量检查。模型、量化级别、路由策略或服务栈的变化,即使缓存机制本身正确,也可能改变输出质量。

5. 计算三种成本视角

Provider 账单: 测试周期内实际开具的用量账单。
每个成功任务的成本: provider 账单加上重试和修复工作,再除以验收通过的任务数。
总拥有成本: 比较 API 和工程成本,以及硬件折旧、融资、能源、闲置容量、网络、可观测性、值班工作和升级人力。

如果本地方案依赖持续的利用率,就测试利用率假设。GPU 采购不会因为电子表格把每个闲置小时都分配给未来需求,就自动变得经济。

云端 API、本地 GPU,还是混合路由?

这个决策很少是二选一。

在以下情况下优先使用缓存 API

前缀很长、稳定,并且会在 provider 的保留窗口内重复使用;
需求具有突发性,专用 GPU 可能处于闲置状态;
更强的托管模型能够显著减少重试或修复工作;
provider 的数据处理、缓存隔离和区域控制符合政策要求。

在以下情况下优先使用共享本地容量

总体利用率较高且可测量;
工作负载到达可预测;
数据或延迟约束要求本地执行;
团队能够负责服务、升级、可观测性、隔离和事故响应;
具有代表性的评测显示质量和修复负担可接受。

在以下情况下使用混合路由

稳定且高复用的任务受益于缓存 API;
可预测的高流量任务能够让共享本地 GPU 保持繁忙;
敏感或受监管数据需要不同的路由;
质量门可以将困难任务升级处理,而不会掩盖增加的成本。
推薦閱讀

免费或补贴 endpoint 有助于原型开发,但不会消除工作负载核算的必要性。免费 AI models API 案例研究是区分访问价格与生产可靠性的有用起点。

Prompt-cache 安全需要单独测试

缓存会产生依赖数据的时序:复用的前缀可能比未命中时更快返回第一个 token。一项 ICML 2025 审计使用时序测量测试了真实 API,并报告称,在研究期间的七家 provider 中发现了跨用户缓存共享的证据。

这一结果是具有历史性的、特定于 provider 的证据。它不能说明这些服务今天如何隔离缓存。

向当前 provider 和内部平台负责人询问:

缓存范围是全局、组织、项目、租户、会话,还是特定于请求 key?
如何强制执行租户边界?
调用方能否提供 cache key 或 salt?
保留和删除语义是什么?
zero-data-retention 模式是否会改变缓存行为?
哪些使用和审计记录能够证明已配置的政策?

对于自托管系统,应加入跨租户时序和驱逐测试。不要仅仅为了调试缓存,就将可复用的敏感前缀写入日志。存储 hash、token 数量、版本标识符和符合政策的元数据。

决策清单

不要仅凭标价批准 GPU 采购或 API 迁移。应要求提供:

明确定义的符合条件前缀分母;
冷启动、热启动、变更、TTL 和并发结果;
来自真实使用字段的缓存读取和写入测量;
p50 和 p95 首 token 时间,以及端到端延迟;
包括修复工作的每个成功任务成本;
有文档记录的缓存隔离和保留政策;
共享和专用本地利用率场景;
混合路由场景;
针对模型、模板和工具变化的重新运行计划。

Prompt caching 很有价值,因为重复上下文很常见。但将它作为采购捷径很危险,因为复用情况取决于工作负载。测量前缀,测量未命中,然后比较总成本。

Claim checks

Important claimEvidence typeCheck and limitation
---------
编码代理研究报告了 99.3% 的 prompt-cache 命中率Primary research,2026 年 7 月预印本一名开发者、一个代码库、两个连续周期;结果不可直接迁移
论文报告 API 每百万处理 token 成本为 0.573 美元,而共享本地分配为 2.83 美元Primary researchAPI 处理的 token 数量多出 16.9 倍,且本地利用率较低;总支出和 TCO 是更有力的比较
共享本地容量节省了 40.1% 的 TCO,而专用容量成本高出 43.8%Primary research取决于论文中的硬件、分配、台湾市场、劳动力和质量假设
Prefix caching 会复用重复 prompt 片段的 attention 状态Peer-reviewed primary research and official engine docs它减少重复的 prefill 工作;解码和变化后缀的工作仍然存在
Anthropic 的 5 分钟缓存写入成本为基础输入的 1.25×,读取成本为 0.1×Official documentation,2026 年 7 月 30 日核查价格和支持的模型可能变化;示例不包括输出、后缀和存储
在 Interactions API 中,Gemini 隐式缓存默认用于 Gemini 2.5 及更新版本Official documentation,2026 年 7 月 7 日更新最低 token 数量和显式缓存支持因 API 和模型而异
TokenPilot 在其测试设置中报告了 56%–87% 的成本降低Primary research,进行中的预印本两个 benchmark 和特定集成;需要独立复现
当缓存范围跨越用户时,prompt-cache 时序可能泄露信息ICML 2025 primary research对所测试 provider 的历史审计;不要据此推断当前 vendor 行为

Sources

[Primary research] Peng、Lin 和 Lee,*Inference Economics of Enterprise Coding Agents: A Case Study of Cloud vs. On-Premise LLMs*,arXiv,2026 年 7 月 13 日。
[Primary research] Gim 等,*Prompt Cache: Modular Attention Reuse for Low-Latency Inference*,MLSys 2024。
[Primary research] Xu 等,*TokenPilot: Cache-Efficient Context Management for LLM Agents*,arXiv,2026 年 6 月 15 日。
[Primary research] Gu 等,*Auditing Prompt Caching in Language Model APIs*,ICML 2025。
[Official documentation] Anthropic,Prompt caching,2026 年 7 月 30 日核查。
[Official documentation] OpenAI,GPT-5.6 model guidance,2026 年 7 月 30 日核查。
[Official documentation] Google,Gemini context caching,2026 年 7 月 7 日更新。
[Official documentation] vLLM,Automatic Prefix Caching,2026 年 7 月 30 日核查。
[Open-source engineering discussion; anecdotal] vLLM issue #37003,Context-aware cache retention,2026 年 7 月 30 日核查。
[Open-source engineering discussion; proposal] vLLM issue #44223,Semantic KV cache RFC,2026 年 7 月 30 日核查。