Skill · Anthropic Claude Blog
借助提示词缓存将Claude API成本削减90%
图片: Growtika 来自 Unsplash
别再每次API调用都重新处理相同的系统提示词和上下文。提示词缓存会存储重复的提示词前缀,并在多次请求间复用,按标准输入价格的10%计费,从而大幅降低RAG系统、多轮对话和批处理工作流的成本。
Claude的提示词缓存功能让你可以将提示词中的部分内容标记为可缓存--通常是系统指令、工具定义和静态上下文--这样API便可在多次请求间复用已处理好的表示,而不必每次都重新处理相同的token。对于需要反复发送同一套大型指令或知识库的生产工作流来说,这一功能尤其强大。
要使用它,需在至少1024个token的内容块上(适用于Sonnet/Opus模型)用cache_control: {"type": "ephemeral"}标记缓存断点。首次请求时,Claude会正常处理全部内容。在后续具有相同前缀的请求中,系统会从缓存层取回缓存版本,仅处理你新增的后缀token--缓存命中部分只需支付标准输入价格的大约10%。
一个真实例子:如果你运行一个客户支持聊天机器人,使用包含2万个token的公司知识库,在Claude Sonnet 5.5上,每发送一条客户消息都附带该知识库的话,每100次请求需花费4美元。启用缓存后,同样的100次请求只需约0.25美元,因为只有客户的实际消息(未缓存的后缀)才按全价计费。若再叠加Batch API(异步任务额外享受50%折扣),token成本总计可节省95%以上。
请注意,缓存前缀默认在5分钟后过期--每次缓存命中都会刷新--因此TTL对你的流量模式很重要。对于高频工作负载,5分钟的默认值通常已足够。对于稀疏查询,可以考虑1小时TTL选项(可在API请求中通过ttl: "1h"启用)。
来源与版权
原始来源: Anthropic Claude Blog