Claude API 的 Prompt Caching(提示缓存)和 Batch API(批量处理)是开发者降低费用的两大杀手级功能。单独使用就能省 50%-90%,两者结合最高可降低 95% 费用。本文基于 Anthropic 官方文档(2026年3月最新),用最实战的方式教你如何开启、代码示例和真实成本对比。
掌握后,你的项目月费用能从几十美元轻松降到几美元,尤其适合批量处理、RAG、Agent、多轮对话等重复上下文场景。
一、Prompt Caching(提示缓存)——重复内容省90%费用
核心原理:把系统提示、Few-shot示例、参考文档等“静态内容”缓存起来,后续调用只收取 0.1x 输入价格(即90%折扣)。
缓存类型(2026最新):
- 5分钟缓存:写入 1.25x,读取 0.1x(适合高频实时调用)
- 1小时缓存:写入 2x,读取 0.1x(适合批量或稍长间隔)
缓存命中后,结合 Batch API 可进一步打折。
1. 自动缓存方式(最简单,新手推荐)
在 messages.create() 顶部添加 cache_control 字段,系统自动缓存最后一块可缓存内容。
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "这是你的系统提示和长文档...(重复内容)"
},
{
"type": "text",
"text": "用户本次具体问题",
"cache_control": {"type": "ephemeral"} # 关键:开启自动缓存
}
]
}
]
)
2. 显式断点方式(更精准控制)
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[
{"role": "user", "content": "系统提示 + 超长参考文档..."},
{
"role": "user",
"content": [
{"type": "text", "text": "用户问题"},
{"type": "text", "text": "", "cache_control": {"type": "ephemeral"}}
]
}
]
)
实战建议:把系统提示、工具定义、RAG知识库放在缓存断点前,效果最佳。
二、Batch API(批量处理)——异步任务直接打5折
适合非实时任务(如批量总结、数据提取、评估)。处理时间最长24小时,但费用直接减半,且支持 Prompt Caching 叠加。
Batch API 完整代码示例
import anthropic
import time
client = anthropic.Anthropic()
# 创建批量请求
batch = client.beta.messages.batches.create(
requests=[
{
"custom_id": "req_001",
"params": {
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "总结这篇文章..."}]
}
},
# ... 可以一次性加几千条
]
)
print("Batch 创建成功,ID:", batch.id)
# 轮询结果(或设置 Webhook 更高效)
while True:
result = client.beta.messages.batches.retrieve(batch.id)
if result.processing_status == "ended":
print("处理完成!")
break
time.sleep(60) # 每分钟检查一次
批量 + 缓存结合:每个 request 里都加上 cache_control,节省效果翻倍。
三、实战组合:Batch + Prompt Caching 最大化省钱
推荐场景:每天批量处理几千条用户反馈总结、RAG 检索、代码审查等。
成本对比示例(Sonnet 4.6,单次输入800 token + 输出400 token):
| 方式 | 单次费用(美元) | 1000次费用 | 节省比例 |
|---|---|---|---|
| 普通调用 | ≈0.006 | 6美元 | – |
| 仅 Prompt Caching | ≈0.0012 | 1.2美元 | 80% |
| 仅 Batch API | ≈0.003 | 3美元 | 50% |
| Batch + Caching | ≈0.0006 | 0.6美元 | 90%+ |
四、成本优化最佳实践(直接落地)
- 把系统提示、Few-shot示例、工具定义全部放入缓存
- 高频重复内容使用5分钟缓存,低频用1小时缓存
- 非实时任务全部走 Batch API
- 在 Console 设置预算提醒和用量警报
- 用 anthropic SDK 的 logging 监控 cache hit rate
- 定期清理不用的 Batch 结果,避免存储费用
进阶技巧:把 RAG 知识库拆分成多个小块,只缓存常用部分。
五、总结
Prompt Caching + Batch API 是 Claude API 降低费用的最强组合。新手直接把系统提示缓存 + 非实时任务走 Batch,就能把月费用砍到原来的 1/10。
实战建议:先在测试环境中验证缓存命中率,再大规模上线。掌握这两个技巧后,Claude API 的性价比会远超想象。
现在就去 console.anthropic.com 创建你的第一个 Batch + Caching 请求吧!
欢迎在评论区分享你的实际节省比例或遇到的问题,我可以帮你优化代码。
官方链接:
Prompt Caching 文档:https://platform.claude.com/docs/en/build-with-claude/prompt-caching
Batch Processing 文档:https://platform.claude.com/docs/en/build-with-claude/batch-processing
最新定价:https://platform.claude.com/docs/en/about-claude/pricing
Console 管理中心:https://console.anthropic.com