Anthropic Prompt Caching 定价拆解:5 分钟 vs 1 小时

Anthropic 两档 cache:5 分钟(1.25x 写入, 0.1x 读取)和 1 小时(1.5x 写入, 0.1x 读取)。Agent 场景怎么选,含费用对比。

先说结论 — Anthropic prompt cache 分两档:5 分钟(写入 1.25×、读取 0.1×)和 1 小时(写入 1.5×、读取 0.1×)。两档读取都省 90%。5 分钟写入便宜、适合几分钟内完成的 agent 循环。1 小时写入贵 20%、但对长 session 和多轮对话省得更多。看你的 agent 一次任务活多久。

Prompt caching 是 2026 年 Anthropic 模型最大的单一成本优化。如果你的 agent 每次调用都发同样的系统提示、加载的文档或对话前缀——几乎肯定是这样——caching 把 Opus 5 的 $15/M input tokens 变成 $1.50/M。90% 的成本直接砍掉。

但 Anthropic 不是一刀切的 cache。他们分成两档,经济学不一样。大部分开发者选了一个就没想过另一个。这篇拆清楚什么时候哪档省钱、什么时候反而多花。

两档对比

维度5 分钟 cache1 小时 cache
TTL5 分钟60 分钟
写入成本1.25× 基础 input 价1.5× 基础 input 价
读取成本0.1× 基础 input 价0.1× 基础 input 价
读取节省90%90%
写入溢价+25%+50%
回本调用数2 次2 次

两档读取价一样(都是 0.1×)。区别全在写入:5 分钟 cache 写入便宜 20%,但只活 5 分钟。

回本计算

以 Claude Sonnet 5($3/M input)为例,缓存 10,000 tokens 的系统提示:

5 分钟 cache

  • 写入:10K × $3/M × 1.25 = $0.0375
  • 每次读取:10K × $3/M × 0.1 = $0.003
  • 不缓存每次:10K × $3/M = $0.03
  • 节省/次读取:$0.03 - $0.003 = $0.027
  • 回本:写入溢价 $0.0075 ÷ 节省 $0.027 = 0.28 次 → 第 2 次调用就回本

1 小时 cache

  • 写入:10K × $3/M × 1.5 = $0.045
  • 每次读取:$0.003(一样)
  • 写入溢价:$0.015
  • 回本:$0.015 ÷ $0.027 = 0.56 次 → 第 2 次调用也回本

两档都在第 2 次调用就回本。区别是第 1 次的代价:1 小时 cache 多花 $0.0075(对 10K tokens)。

什么 Agent 模式选哪档

选 5 分钟 cache

Agent 模式典型行为为什么 5 分钟够
快速 tool-use 循环3-8 轮工具调用,2 分钟内完成全部在 TTL 内
单次分析任务读文档 → 分析 → 输出,1 分钟只需缓存一次
流水线 agent连续处理 10 个 item,每个 30s系统提示跨 item 复用
用户对话(活跃)用户快速来回,30s/轮5 分钟内 10 轮

选 1 小时 cache

Agent 模式典型行为为什么需要 1 小时
长研究任务agent 跑 20-40 分钟做深度分析5 分钟早过期了
间歇性对话用户隔 5-10 分钟回复一次5 分钟 cache 在用户思考时过期
批量处理(慢节奏)每 item 2-3 分钟,50 item 队列系统提示需要在整批存活
多 agent 共享 context多个 agent 读同一份文档不同 agent 在不同时间读

费用对比:真实场景

场景 A:对话 agent,20 轮,每轮 30 秒

系统提示 5,000 tokens,模型 Claude Sonnet 5:

方案总 input 费用节省
无 cache20 × 5K × $3/M = $0.30
5 分钟 cache$0.019 (write) + 19 × $0.0015 = $0.04884%
1 小时 cache$0.023 (write) + 19 × $0.0015 = $0.05183%

差距只有 $0.003。这个场景两档几乎一样——因为 20 轮在 10 分钟内完成,5 分钟 cache 够用。

场景 B:研究 agent,15 分钟任务,8 轮

系统提示 20,000 tokens + 加载文档 50,000 tokens = 70K cacheable:

方案总费用节省
无 cache8 × 70K × $3/M = $1.68
5 分钟 cache$0.263 (write) + 2 × hit + 5 × full (cache 过期后) = $1.3520%
1 小时 cache$0.315 (write) + 7 × $0.021 = $0.46272%

这里差距巨大:5 分钟 cache 省 20%,1 小时省 72%。因为 15 分钟任务里 5 分钟 cache 过期了 2-3 次,每次过期都要重写。

决策规则

如果 agent 任务 < 5 分钟:选 5 分钟 cache(写入便宜)
如果 agent 任务 5-60 分钟:选 1 小时 cache(避免多次重写)
如果 agent 任务 > 60 分钟:选 1 小时 cache + 设计 session 拆分

SandBase 上怎么用

通过 SandBase 调 Anthropic 模型时,cache 行为由 Anthropic SDK 层面控制。你的调用走 SandBase 的 /v1/messages 端点:

from anthropic import Anthropic

# SandBase 透传 Anthropic 协议,含 cache_control
client = Anthropic(
    base_url="https://api.sandbase.ai/v1",
    api_key="sk-..."
)

response = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=4096,
    messages=[{
        "role": "user",
        "content": [
            {
                "type": "text",
                "text": large_document,  # 50K tokens
                "cache_control": {"type": "ephemeral"}  # 5 分钟 cache
            },
            {
                "type": "text",
                "text": "根据以上内容回答..."
            }
        ]
    }]
)

常见误区

误区 1:“cache 总是省钱”

不一定。如果你只调一次(写入后不再读),cache 写入比不缓存还贵 25-50%。只有第 2 次及以后的调用才开始省。单次任务不要开 cache。

误区 2:“1 小时 cache 一定比 5 分钟好”

如果任务 2 分钟内完成,1 小时 cache 写入多花 20%($0.0075/10K tokens)而 TTL 优势用不上。选匹配你 agent 节奏的 TTL。

误区 3:“cache 只对长 prompt 有用”

短 prompt(1K tokens)也有用——省的比例一样(90%)。只是绝对金额小:1K tokens 省 $0.0027/次。但高频 agent(500 次/天)算下来也是 $40/月。

FAQ

两档的 read 价格一样?

是的。两档 read 都是 0.1× 基础价。唯一区别在 write 成本和 TTL。

cache 过期后下一次调用会自动重写吗?

是的。过期后的调用被视为新的 cache write,按 write 价格收费。

能在同一个 session 里混用两档吗?

可以。不同的 cache_control 块可以有不同 TTL。比如系统提示用 1 小时,对话历史用 5 分钟。

Opus 5 和 Sonnet 5 的 cache 价格一样吗?

比例一样(1.25×/1.5× write, 0.1× read),但基础价不同。Opus 5 的 cache read 是 $1.50/M(0.1× $15),Sonnet 5 是 $0.30/M(0.1× $3)。Opus 的绝对节省金额更大。

LLM 全面定价看 定价指南。Sonnet 5 详解看 Claude Sonnet 5

要点

  • 两档 cache 读取都省 90%,区别在写入成本和 TTL
  • 5 分钟 cache:写入便宜 20%,适合快速循环(<5 分钟任务)
  • 1 小时 cache:写入贵但避免多次重写,适合长 session(5-60 分钟)
  • 两档都在第 2 次调用回本——单次调用不要开 cache
  • 决策规则简单:看 agent 任务时长选 TTL