加载中

提示缓存是一项功能,它通过重用先前请求中的计算工作来加快Claude的响应速度并降低文本生成的成本。Claude不会在每次请求后丢弃所有处理工作,而是可以在您再次发送类似内容时保存并重用这些工作。

Claude通常如何处理请求

要理解提示缓存,让我们先看看在未启用缓存的情况下,典型请求期间会发生什么。

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

  • 对提示进行分词(将文本分解为更小的单元)
  • 为每个令牌创建嵌入(数学表示)
  • 根据周围文本添加上下文
  • 只有在此之后才生成实际的输出文本

在向您发送响应后,Claude会丢弃所有这些计算工作。一切都被丢弃,Claude宣布自己已准备好处理下一个请求。

重复内容带来的问题

这就是效率低下的地方。假设您正在与Claude进行对话,那么您的后续请求将包括:

  • 之前相同的原始用户消息
  • Claude之前的响应
  • 您的新后续消息

Claude必须重新处理那条原始消息,即使它刚刚在片刻之前分析过完全相同的内容。正如Claude可能会想的那样:"我刚刚处理了那条消息,却丢弃了我所做的所有工作。我本可以重用它的!"

提示缓存如何解决这个问题

提示缓存改变了这种浪费的过程。Claude不会丢弃预处理工作,而是将其保存在缓存中。

其工作原理如下:

  1. 初始请求: Claude处理您的消息并将计算工作写入缓存
  2. 后续请求: 当Claude再次看到相同的内容时,它会从缓存中读取先前处理过的工作,而不是重新开始

缓存就像一个查找表:"如果我再次看到这条消息,我将重用我已经完成的这项工作。"

主要优势和限制

提示缓存提供了几个优势:

  • 更快的响应: 使用缓存内容的请求执行速度更快
  • 更低的成本: 对于重用缓存工作的处理,您支付的费用更少
  • 自动优化: 初始请求写入缓存,后续请求从缓存中读取

但是,需要记住一些重要的限制:

  • 生命周期短: 缓存仅存活5分钟
  • 需要精确匹配: 仅在您反复发送相同内容时才有用
  • 常见用例: 这种情况在对话式应用程序和文档分析工作流程中极为常见

对于用户频繁引用相同文档、继续对话或在短时间内迭代类似提示的应用程序,提示缓存特别有价值。