提示缓存是一项功能,它通过重用先前请求中的计算工作来加快Claude的响应速度并降低文本生成的成本。要理解这是如何运作的,让我们先看看在典型请求中Claude内部通常会发生什么。
Claude通常如何处理请求
当您向Claude发送消息时,在您收到响应之前,幕后会发生很多事情。Claude不会立即开始生成文本——它首先会对您的输入消息进行大量处理工作。

以下是Claude对您的消息所做的处理:
- 对提示进行分词
- 为每个令牌创建嵌入
- 根据周围文本添加上下文
- 生成输出文本

所有这些预处理工作都发生在Claude生成任何实际响应之前。一旦Claude完成对您请求的处理并发回响应,它就会丢弃刚刚完成的所有计算工作。

丢弃工作带来的问题
当您与Claude进行对话时,这会产生一种低效性。假设您发出一个后续请求,其中包含之前的相同消息,加上Claude之前的响应,再加上一条用于继续对话的新消息。

当Claude再次看到原始消息时,它必须重新执行刚刚丢弃的所有相同计算工作。Claude本质上会这样想:"我刚刚处理过这条完全相同的消息并完成了所有这些工作,然后把它丢弃了。现在我必须重新做一遍。"

提示缓存如何解决这个问题
提示缓存通过保存计算工作而不是丢弃它来解决这种低效性。以下是其工作原理:

当Claude处理您的初始请求时,它不会丢弃所有预处理工作,而是将这些工作存储在缓存中。该缓存就像一个查找表,将特定的输入消息映射到其对应的计算结果。

当您发出包含相同内容的后续请求时,Claude可以检查其缓存并重用之前的工作,而不是从头开始。
主要优势与限制

提示缓存提供了几个优势:
- 使用缓存内容的请求执行起来更便宜、更快
- 初始请求将写入缓存
- 后续请求可以从缓存中读取
- 缓存的生命周期为5分钟
- 仅在您反复发送相同内容时才有用(但这种情况极为常见)
缓存的生命周期为5分钟,因此它对于在短时间内发出多个具有重叠内容的请求的对话或工作流最为有利。这种模式在实际应用中其实非常常见——想想聊天机器人、文档分析工具,或任何维护对话上下文的系统。
提示缓存特别有价值,因为许多AI应用确实会反复发送相同的内容。无论是系统提示、对话历史,还是正在分析的大型文档,相同的文本通常会在一个会话中的多个请求中出现。