提示缓存是一项功能,它通过重用先前请求中的计算工作来加快Claude的响应速度并降低文本生成的成本。Claude不会在每次请求后丢弃所有处理工作,而是可以在您再次发送类似内容时保存并重用这些工作。
Claude通常如何处理请求
要理解提示缓存,让我们先看看在未启用缓存的情况下,典型请求期间会发生什么。

当您向Claude发送消息时,它不会立即开始生成响应。相反,Claude会对您的输入进行大量的预处理工作:

- 将提示分词为更小的片段
- 为每个令牌创建嵌入
- 根据周围文本添加上下文
- 只有在此之后才生成实际的输出文本
在向您发送响应后,Claude会丢弃所有这些计算工作——分词、嵌入和上下文分析全部被丢弃。

丢弃工作带来的问题
当您发出包含相同内容的后续请求时,这会变得低效。例如,在一次对话中,您要求Claude完善对同一长文本的摘要:

Claude必须对它刚刚分析过的内容重复所有相同的预处理工作。Claude可能会这样想:"我刚刚处理了那条消息,却丢弃了我所做的所有工作——我本可以重用它的!"

提示缓存如何解决这个问题
提示缓存通过保存预处理工作而不是丢弃它来改变这个工作流程:

当您发出初始请求时,Claude会执行所有常规的预处理工作,但会将结果存储在缓存中,而不是丢弃它们。该缓存就像一个查找表,它说:"如果我再次看到这条消息,我会重用我已经完成的这项工作。"

主要优势和局限性
提示缓存提供了几个优势:
- 更快的响应: 使用缓存内容的请求执行速度更快
- 更低的成本: 您为请求中缓存的部分支付更少的费用
- 自动优化: 初始请求写入缓存,后续请求从缓存中读取
但是,需要记住一些重要的局限性:
- 缓存持续时间: 默认情况下,缓存内容的存活时间为5分钟,每次重用都会重置该计时器,且不会产生额外费用。您可以选择将生命周期延长至1小时,但这会带来更高的缓存写入价格。
- 有限的使用场景: 仅在您反复发送相同内容时才有益
- 高频率要求: 当相同内容在您的请求中极其频繁出现时最为有效
提示缓存最适合文档分析工作流等场景,在这些场景中,您会针对同一份大型文档提出多个问题,或者在迭代编辑任务中,基础内容保持不变,而您对特定方面进行完善。