提示词缓存使我的克劳德应用程序接口账单减少了85%。以下是具体的设置方案。

发布日期:2026-07-01 10:45:26   浏览量 :5
发布日期:2026-07-01 10:45:26  
5

上个月,我对一个每天处理约 4,000 个请求的人工智能代理进行了并行测试。该代理拥有一个较长的系统提示词(大约包含 2,800 个令牌,涵盖规则、工具定义和示例),每次调用都会发送这些内容。在启用提示词缓存之前:每天费用为 47 美元。在该系统提示词块上启用缓存之后:每天费用降至 6.80 美元。

这并非四舍五入造成的误差。仅通过一次配置更改,且无需对代理的行为进行任何调整,成本就降低了 85%。

以下是提示词缓存的确切工作原理,以及如何避开常见陷阱进行设置。

提示词缓存的实际作用(以及非作用)

Anthropic 的提示词缓存工作在前缀级别。当您发送请求时,应用程序接口会检查您的消息前缀是否与之前缓存的前缀完全匹配。如果匹配,这些缓存的令牌将从键值存储中提供,而不是通过完整模型重新处理——因此您只需为它们支付低得多的每令牌费率。

定价结构(截至 2026 年年中,适用于 Claude 3.5 Sonnet 模型):

  • 常规输入令牌:每百万令牌 3.00 美元
  • 缓存写入(首次使用,或缓存未命中):每百万令牌 3.75 美元(写入缓存需加收 25% 的费用)
  • 缓存读取(缓存命中):每百万令牌 0.30 美元(相比常规价格优惠 90%)

缓存会在请求之间保留 5 分钟(每次命中都会重置生存时间)。对于任何调用频率高于每 5 分钟一次的代理(大多数生产环境中的代理皆属此类),这几乎总是一项优势。

确切的应用程序接口调用方式

关键在于 cache_control 块。您可以将其作为“断点”添加到您希望缓存的任何消息块的末尾。应用程序接口将缓存直至并包括该断点的所有内容。

import anthropic

client = anthropic.Anthropic()

# 您的长系统提示词 - 工具定义、规则、示例等。
SYSTEM_PROMPT = """
您是 Acme Corp 的支持代理...
[2,800 个令牌的规则、工具定义、角色设定、示例]
"""

response = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    system=[
        {
            "type": "text",
            "text": SYSTEM_PROMPT,
            "cache_control": {"type": "ephemeral"

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据