MyRelay

← 回到笔记本

提示词缓存如何降低账单:从整理输入到核对费用

做课程问答或开发个人助手时,你可能每次都发送同一份资料,只更换最后的问题。提示词缓存可以复用已经处理过的输入前缀,让命中的部分按缓存价格计费。它复用的是计算状态,每次回答仍会重新生成。下面从一组重复请求开始,逐步检查能省下多少。([developers.openai.com](https://developers.openai.com/api/docs/guides/prompt-caching?utm_source=openai))

先找出值得重复使用的内容

挑一个真实任务,例如围绕同一份课程讲义连续提问。把讲义、固定规则和示例标出来,再把每次变化的问题单独列出。这些稳定内容是缓存的候选对象;重复使用的次数越多,越值得测量实际收益。先从你本来就要发送的内容入手,不必为了缓存增加材料。([platform.claude.com](https://platform.claude.com/docs/en/build-with-claude/prompt-caching))

把固定材料放到提示词前面

接下来整理输入顺序:先放固定规则和讲义,最后放本次问题。缓存通常要求开头的内容精确匹配,意思相同但措辞不同,也可能影响复用。把时间、随机编号等变化内容移到后面,并保持工具说明和排列顺序稳定。连续对话时,尽量追加新消息,避免反复改写前文。([developers.openai.com](https://developers.openai.com/api/docs/guides/prompt-caching?utm_source=openai))

确认模型与调用方式支持什么

不要把缓存理解成所有接口通用的开关。有的服务自动寻找可复用内容,有的需要指定缓存边界,还可能设有最低输入长度和有效期。以谷歌的隐式缓存为例,相近时间内发送相同前缀,有助于提高命中机会;具体条件仍应核对所选模型的说明。通过中转调用时,也要确认对应功能是否受支持。([ai.google.dev](https://ai.google.dev/gemini-api/docs/caching))

用假设数字算清费用差别

假设一段固定输入普通处理一次花费一元,缓存首次写入花费一点二五元,后续每次读取花费零点一元。十次请求全部命中时,这段输入合计花费二点一五元,而逐次普通处理需要十元。这只是演算,实际费率须另行核对;新问题、输出及其他费用还要分别计算。部分服务的缓存写入确实比普通输入更贵,因此只用一次未必划算。([platform.claude.com](https://platform.claude.com/docs/en/build-with-claude/prompt-caching))

连续测试几次,再核对真实账单

先发送一次完整请求,再保持固定材料不变,连续提出几个不同问题。逐次记录输入量、缓存读取量、输出量和费用。请求变快不能单独证明缓存命中,应查看接口返回的用量记录。比较整组请求的总费用,并把首次写入算进去,才能知道实际节省了多少。([developers.openai.com](https://developers.openai.com/api/docs/guides/prompt-caching?utm_source=openai))

在 MyRelay,你可以查看每次请求的令牌用量和费用,用自己的真实任务做对照。如果你想从小额预算开始验证,可以创建一个 MyRelay 账户,先测试一组本来就需要完成的请求。

命中不稳定时,逐项检查变化

如果缓存读取量偏低,先检查前缀是否被修改,再检查模型、工具和缓存有效期。不要为了提高命中率保留无用内容;缩短输入即使降低缓存复用,也可能减少总支出。最终应以完成同样任务的实际费用为准,而不是追求一个漂亮的命中率。([developers.openai.com](https://developers.openai.com/api/docs/guides/prompt-caching/diagnostics?utm_source=openai))

顺便看看