VanaAPI

← Writing

提示词缓存如何降低账单:从请求布局到成本验证

Money mattersZH2026-10-24

如果每次调用都发送同一份系统指令、工具定义或参考文档,你可能正在反复支付处理相同输入的费用。提示词缓存让模型服务复用已经处理过的输入前缀,命中部分通常按不同于普通输入的价格计费。本篇按步骤说明如何组织请求,以及如何确认它确实降低了账单。

§ 第一步:分清缓存了什么

提示词缓存通常复用输入处理结果,不是直接返回上一次的答案。即使前缀命中缓存,模型仍会处理本次新增的内容并生成输出,输出部分也仍然计费。它与应用层保存完整问答的结果缓存不同,适合共享背景、但问题不断变化的请求。

先检查业务中有哪些重复内容:固定角色说明、工具参数定义、产品手册,以及多轮对话里已经发送的历史。只有这些内容被重复使用,缓存才有降低成本的空间。

§ 第二步:确认当前模型与协议的规则

Vana API 提供统一入口 https://api.vanaapi.com,兼容 OpenAI 接口,也支持 Anthropic Messages 和 Gemini 原生协议。接口兼容不代表缓存机制完全一致:有的路径自动识别重复前缀,有的需要显式设置缓存控制,有的采用独立缓存资源。

接入前,确认当前模型和调用路径是否支持缓存,以及最低输入长度、有效期、写入费用、读取费用和可能的存储费用。不要把某一种协议的缓存参数直接搬到另一种协议,也不要假定请求成功就表示缓存已经生效。

§ 第三步:把稳定内容放在前面

缓存通常依赖一致的输入前缀。可以按以下顺序整理请求:

  • 最前面放固定系统指令和安全约束。
  • 随后放稳定的工具定义、参考资料和示例。
  • 最后放用户问题、检索结果及本次任务参数。

例如,客服应用可以先发送服务规范和产品说明,再追加用户当前的问题。不要在固定前缀开头插入时间戳、随机编号或每次变化的用户信息,否则后面的相同内容也可能无法复用。工具顺序、空格和序列化方式也应尽量稳定。

§ 第四步:按协议启用,不额外填充内容

如果当前路径采用自动缓存,重点是保持前缀一致,并让真实业务内容达到适用门槛。如果需要显式控制,应按对应接口说明标记稳定内容的边界,或创建并引用缓存资源。

不要为了达到缓存门槛而加入无用文本。额外内容本身有成本,也可能干扰回答。多轮会话应保留原有消息顺序,在末尾追加新消息;修改前面的指令或资料,通常意味着需要重新建立相关缓存。

§ 第五步:用两次请求验证命中

先发送一次包含稳定前缀的请求,再在有效期内发送第二次,只修改末尾的问题。查看响应中的用量信息,区分普通输入、缓存写入、缓存读取和输出。不同协议的字段名称可能不同,应以实际返回及对应说明为准。

接着对照 Vana API 的实际用量和计费记录。延迟缩短可以作为观察信号,但不能单独证明缓存命中。若没有命中,优先检查前缀是否一致、长度是否达标、缓存是否过期,以及调用是否仍使用兼容的模型与路径。

§ 第六步:计算整段工作流的净节省

不使用缓存时,总成本主要由普通输入和输出构成;使用缓存后,则需要合计普通输入、缓存写入、缓存读取、输出,以及适用时的存储费用。

举个纯计算示例:假设同一段前缀使用十次,普通处理每次成本为一单位,首次缓存写入为一点二五单位,后续读取每次为零点一单位。前缀成本就从十单位降到二点一五单位。这些数字仅用于演示,不是 Vana API 报价,新增输入和输出还要另算。

因此,重复次数多、稳定前缀长、请求间隔落在有效期内的任务更值得优化。只调用一次的长文档,未必能从缓存中获益。

§ 第七步:上线后持续检查账单

按工作流记录缓存读取量、写入量、总费用和成功完成的任务数。遇到提示词改版、模型切换或流量间隔变化时,重新验证,避免把测试阶段的命中率当成长期保证。同时遵守数据保留与隔离要求,不要为提高命中率混用不同用户的敏感内容。

Vana API 按实际 token 用量计费,没有月费。你可以创建一个账户,选取重复前缀明显的小型工作流做对照测试。判断优化是否成功,应看相同任务质量下的总账单,而不只是缓存命中比例。