Login
Back to Blog
AI API Prompt Caching 完整指南:Claude、GPT、Gemini 缓存省钱教程 2026

AI API Prompt Caching 完整指南:Claude、GPT、Gemini 缓存省钱教程 2026

C
Crazyrouter Team
April 15, 2026
10 views中文Guide
Share:

AI API Prompt Caching 完整指南:Claude、GPT、Gemini 缓存省钱教程 2026#

当你的 AI 应用每天处理大量相似请求时,Prompt Caching(提示缓存)可以帮你节省 50-90% 的 API 费用。本指南详细介绍各大平台的缓存机制和最佳实践。

什么是 Prompt Caching?#

Prompt Caching 是 AI API 提供商推出的优化功能:当你多次发送包含相同前缀内容的请求时,系统会缓存已处理过的 token,后续请求只需支付极低的缓存读取费用。

核心原理#

code
普通请求:
[系统提示 (2000 tokens)] + [用户消息] → 全部计费

缓存请求:
[系统提示 (2000 tokens) ← 已缓存] + [用户消息] → 只有用户消息计费

各平台缓存支持#

平台缓存类型缓存折扣最小缓存量缓存时效
Anthropic (Claude)显式缓存90% 折扣1,024 tokens5 分钟
OpenAI (GPT)自动缓存50% 折扣1,024 tokens5-60 分钟
Google (Gemini)Context Caching75% 折扣32,768 tokens自定义

各平台缓存实战#

Claude Prompt Caching(Anthropic)#

Claude 的缓存需要显式标记:

python
import anthropic

client = anthropic.Anthropic(api_key="你的密钥")

# 使用 Crazyrouter 转发也支持缓存
import openai
client = openai.OpenAI(
    api_key="你的-crazyrouter-key",
    base_url="https://crazyrouter.com/v1"
)

# 方法:将大量系统提示放在前面,利用前缀缓存
SYSTEM_PROMPT = """你是一个专业的法律文档分析师。
以下是本公司的合同模板和法律条款参考(约 5000 字)...
[大量参考资料文本]
"""

# 第一次请求(写入缓存)
response = client.chat.completions.create(
    model="claude-sonnet-4-5-20250929",
    messages=[
        {"role": "system", "content": SYSTEM_PROMPT},
        {"role": "user", "content": "审核这份合同第三条是否合规。"}
    ],
    max_tokens=2000
)

# 后续请求(命中缓存,系统提示部分享受 90% 折扣)
response2 = client.chat.completions.create(
    model="claude-sonnet-4-5-20250929",
    messages=[
        {"role": "system", "content": SYSTEM_PROMPT},  # 相同前缀 → 命中缓存
        {"role": "user", "content": "检查第五条的违约责任条款。"}
    ],
    max_tokens=2000
)

GPT-5 自动缓存(OpenAI)#

OpenAI 的缓存是自动的,无需特殊设置:

python
import openai

client = openai.OpenAI(
    api_key="你的-crazyrouter-key",
    base_url="https://crazyrouter.com/v1"
)

# GPT 会自动缓存相同的消息前缀
SHARED_CONTEXT = """你是一个代码审查专家。
以下是我们的编码规范(约 3000 字)...
[编码规范内容]
"""

# 批量审查多个文件(自动缓存共享上下文)
files_to_review = ["file1.py", "file2.py", "file3.py"]

for file_name in files_to_review:
    response = client.chat.completions.create(
        model="gpt-5.2",
        messages=[
            {"role": "system", "content": SHARED_CONTEXT},
            {"role": "user", "content": f"审查 {file_name} 的代码..."}
        ],
        max_tokens=2000
    )
    # 从第二次请求开始,SHARED_CONTEXT 部分自动享受 50% 折扣
    print(f"审查 {file_name}: {response.choices[0].message.content[:100]}...")

Gemini Context Caching(Google)#

python
import openai

client = openai.OpenAI(
    api_key="你的-crazyrouter-key",
    base_url="https://crazyrouter.com/v1"
)

# Gemini 的上下文缓存适合处理超长文档
LONG_DOCUMENT = """[一份 100 页的技术文档,约 50,000 tokens]"""

# 多次提问同一文档的不同方面
questions = [
    "总结文档的核心架构",
    "列出所有性能指标",
    "找出潜在的安全风险"
]

for q in questions:
    response = client.chat.completions.create(
        model="gemini-2.5-flash",
        messages=[
            {"role": "system", "content": f"基于以下文档回答问题:\n{LONG_DOCUMENT}"},
            {"role": "user", "content": q}
        ]
    )
    print(f"Q: {q}\nA: {response.choices[0].message.content[:200]}\n")

缓存省钱计算#

场景:客服机器人(每天 10,000 次调用)#

项目无缓存有缓存节省
系统提示 (3K tokens × 10K 次)$90.00$9.00$81.00
用户消息 (500 tokens × 10K 次)$15.00$15.00$0.00
输出 (1K tokens × 10K 次)$300.00$300.00$0.00
日总费用$405.00$324.00$81/天
月总费用$12,150$9,720$2,430/月

💡 结合 Crazyrouter 的路由优化,还可以再省 20-30%。

Prompt Caching 最佳实践#

1. 把不变内容放在前面#

python
messages = [
    # ✅ 固定内容在前 → 容易命中缓存
    {"role": "system", "content": "固定的系统提示和参考资料..."},
    {"role": "user", "content": "变化的用户输入"}
]

2. 保持前缀一致#

python
# ❌ 错误:每次请求的前缀不同,无法命中缓存
messages = [
    {"role": "system", "content": f"当前时间:{datetime.now()} 你是..."},
    ...
]

# ✅ 正确:动态内容放后面
messages = [
    {"role": "system", "content": "你是一个专业助手...(固定部分)"},
    {"role": "user", "content": f"当前时间是 {datetime.now()},请回答..."}
]

3. 合理控制缓存粒度#

  • 太少(<1024 tokens):无法触发缓存
  • 太多(>100K tokens):缓存写入成本高
  • 最佳:2K-30K tokens 的系统提示/参考资料

常见问题 (FAQ)#

Prompt Caching 需要额外付费吗?#

不需要。缓存是由 API 提供商自动管理的,你只需按照最佳实践设计请求格式,就能自动享受缓存优惠。

所有模型都支持 Prompt Caching 吗?#

主要的大模型(Claude 3.5+、GPT-4o+、Gemini 2.0+)都支持。通过 Crazyrouter 调用时,缓存功能会自动透传。

缓存会影响回答质量吗?#

完全不会。缓存只是避免重复计算相同的输入 token,输出质量与不使用缓存完全一致。

如何查看是否命中了缓存?#

大多数 API 会在响应头或 usage 字段中返回缓存命中信息。例如 Claude 的 usage.cache_read_input_tokens 字段会显示缓存读取的 token 数。

总结#

Prompt Caching 是降低 AI API 成本最有效的方法之一。通过合理设计请求结构,你可以节省 50-90% 的输入 token 费用。

开始使用缓存优化:

  1. 注册 Crazyrouter 获取统一 API Key
  2. 将固定的系统提示和参考资料放在消息前缀
  3. 监控缓存命中率,持续优化

Crazyrouter 支持 300+ 模型的统一接入,自动路由到最优后端,配合 Prompt Caching 可以将你的 AI API 成本降到最低。

Related Articles