游乐游手机版
首页/AI热点日报/热点详情

Anthropic提示词缓存新功能解读

类型:热点整理2026-07-14
Anthropic 近期为 Claude 系列模型引入了一项极具实用价值的新能力——提示词缓存(Prompt Caching)。简单来说,该功能允许你将输入中那些稳定不变的大段内容(例如长文档、背景信息、系统指令)暂时存储起来,后续请求只要内容未发生变化,便可直接复用,从而省去重复处理的步骤。最终效

Anthropic 近期为 Claude 系列模型引入了一项极具实用价值的新能力——提示词缓存(Prompt Caching)。简单来说,该功能允许你将输入中那些稳定不变的大段内容(例如长文档、背景信息、系统指令)暂时存储起来,后续请求只要内容未发生变化,便可直接复用,从而省去重复处理的步骤。最终效果自然是响应速度更快、使用成本也更低。

直白地讲,如果你需要频繁与模型交互长内容,这个功能堪称省钱利器。

Anthropic 新功能解读:提示词缓存(Prompt Caching)

什么场景下该启用提示词缓存

原理上与 Redis 这类缓存思路类似——当存在大量重复利用的上下文时,就值得把缓存开启。但提示词缓存有一个显著特点:它更偏爱长内容,因为缓存读取的费用仅为基础输入的 10%,内容越长越划算。

几个典型应用场景:

  • 对话型机器人:如果机器人携带长指令或上传的文档进行持续对话,缓存能在每一轮交互中同时降低成本并缩短延迟。
  • 代码助手:将代码库摘要或相关代码片段缓存起来,进行代码补全或问答时速度会明显提升。
  • 大文档处理:把整本书籍、长篇论文乃至带图片的文档一次性缓存,后续无论询问什么内容,都无需反复上传,响应速度也不会被文档长度拖累。
  • 复杂指令与示例:让模型参考大量指令、操作流程或 Few-shot 示例的场景,缓存后每次调用都能直接复用,而且可以放入更多样化的示例。
  • 多工具与多步骤流程:涉及多次工具调用或代码迭代时,缓存能减少每一步的重复输入,从而提升整体效率。
  • 知识库互动:像书籍、论文、播客转录这类长文本内容,将整个文档缓存后再提问,体验会流畅得多。

定价策略是如何设计的

官方对价格描述得非常清晰,有一个核心策略需要把握:多输入、少输出。因为输出 token 的价格一直是输入的 5 倍,这一点没有变化。

  • 缓存写入:5 分钟有效期比基础输入贵 25%,1 小时有效期贵 100%。
  • 缓存读取:仅为基础输入价格的 10%。
  • 输出 token:始终按标准价计费。

有一点值得特别说明:只要你在 5 分钟内再次用到这份缓存(例如用相同的内容发起请求),缓存的有效期会自动重置为 5 分钟,而且这个刷新动作不会产生额外费用。也就是说,只要请求频率不低于 5 分钟一次,缓存就能持续使用。

API 调用方式

用法很简单——在 API 请求中用 cache_control 标记你想要缓存的内容块即可。后续相同的内容会自动命中缓存,完全不需要手动管理生命周期。

举个实际例子,Messages API 的写法如下:

import Anthropic from '@anthropic-ai/sdk';

const client = new Anthropic();

const response = await client.messages.create({
  model: "claude-opus-4-20250514",
  max_tokens: 1024,
  system: [
    {
      type: "text",
      text: "You are an AI assistant tasked with analyzing literary works. Your goal is to provide insightful commentary on themes, characters, and writing style.\n",
    },
    {
      type: "text",
      text: "",
      cache_control: { type: "ephemeral" }
    }
  ],
  messages: [
    {
      role: "user",
      content: "Analyze the major themes in 'Pride and Prejudice'."
    }
  ]
});
console.log(response.usage);

// 再次用相同输入调用
const new_response = await client.messages.create(...)
console.log(new_response.usage);

返回的 usage 字段对比:

{"cache_creation_input_tokens":188086,"cache_read_input_tokens":0,"input_tokens":21,"output_tokens":393}
{"cache_creation_input_tokens":0,"cache_read_input_tokens":188086,"input_tokens":21,"output_tokens":393}

第一次是缓存创建,第二次则直接读取缓存。18.8 万 token 的输入,第二次调用几乎只花费了 10% 的输入费用,效果一目了然。

使用时的注意事项

  • 有最小长度要求:Opus/Sonnet 系列至少 1024 tokens,Haiku 系列至少 2048 tokens,低于此阈值不会被缓存。
  • 思考块(thinking block)不能直接用 cache_control 缓存,但如果与其他内容一起出现,可以被间接缓存。
  • 子内容块(如引用)不能直接缓存,只能缓存其所属的顶级块(比如文档本身)。
  • 默认缓存生命周期为 5 分钟,每次命中自动延长 5 分钟。例如 12:00 创建缓存,12:03 又使用了一次,有效期就会延长到 12:08。
  • 缓存严格按组织隔离,不同组织即使内容完全相同也不会共享缓存数据,从而保障数据安全与隐私。
  • 缓存命中要求内容完全一致——哪怕有一个字或一张图不同,也不会命中。
  • 混合使用缓存时间时,计费会根据命中缓存的位置和每个缓存段的类型分段计算。
  • 每个请求最多设置 4 个缓存断点(即 4 个 cache_control 标记)。
  • 缓存对输出没有影响,输出内容与不使用缓存时完全一致。
  • 无法手动清除缓存,只能等待其到期自动失效。
  • 缓存可以与工具调用、视觉能力配合使用。但更改图片、工具设置等会导致缓存失效。
  • 缓存采用加密哈希,且组织隔离,安全性有充分保障。

常见问题速览

缓存生命周期多久?
默认 5 分钟。如果 5 分钟内再次命中,自动延长 5 分钟。也可以通过参数设置为 1 小时。

哪些模型支持?
Claude Opus 4、Sonnet 4、Sonnet 3.7、Sonnet 3.5、Haiku 3.5、Haiku 3、Opus 3。

如何判断是否命中缓存?
查看 API 响应中的 usage 字段,cache_read_input_tokens 大于 0 即表示命中。

缓存失效的原因有哪些?

  • 缓存内容有任何变动(文本、图片等)
  • 超过生命周期未被使用
  • 修改工具选择、图片内容等
  • 子内容块或思考块无法直接缓存

话说回来,现在输入侧有了缓存,但输出端依然按标准价计费。希望 Anthropic 后续也能针对输出做类似优化——毕竟给 Agent 加缓存,就像给软件加缓存一样,既快速又高效。不知道国内厂商有没有跟进类似功能?

来源:https://www.53ai.com/news/tishicijiqiao/2025061546057.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。