什么是提示缓存?

作者

Shalini Harkar

Lead AI Advocate

大型语言模型 (LLM) 功能强大,但也面临两个主要挑战:成本和延迟。每个经过处理的词元都会产生费用,而当用户反复查询相同上下文(例如大型文档)时,会因触发重复计算而增加成本。

此外,处理这些请求所产生的延迟可能会降低应用程序的响应速度,导致用户体验不佳[1]。提示缓存成为应对这些挑战的关键解决方案。

在本文中,我们将深入了解提示缓存究竟是什么、它与传统缓存有何不同、如何将其应用于 AI 应用程序,以及各种使用场景。我们还将介绍提示缓存的优势以及需要注意的事项。

什么是提示缓存?

提示缓存是一种提升 LLM 速度和成本效率的简单方法。它通过存储提示词中经常保持不变的部分(例如指令内容或参考资料相关信息),避免模型反复处理这些词元,从而实现性能优化。

例如,当您向 LLM 发送请求(例如“解释什么是人工智能?”)时,模型会读取完整的提示词,以理解请求并生成响应。如果您再次发送相同的提示词,模型会重复执行相同的处理过程,从而增加时间和成本。

通过提示缓存,模型会在首次请求后保存提示词中重复出现的部分。当您再次发送相同的提示词时,模型会检索已存储的内容,而无需重新处理这些部分。这一过程可以让响应速度更快、效率更高,并降低成本,因为模型无需针对相同的提示词重复执行相同的计算过程。[2]

提示缓存与传统缓存有何不同?

目标与范围:

  • 提示缓存可保存重复的 LLM 提示,以避免重新计算并减少延迟。
  • 传统缓存会存储经常访问的数据或资源(例如 HTML 页面、数据库查询结果、API 响应、图像),以便后续访问时提升速度。

输出可靠性:

  • 提示缓存仅在每次请求的提示词以及所有参数(例如 temperature、top-p 等)完全相同的情况下才能生效。
  • 传统缓存具有确定性,这意味着相同的输入始终会产生相同的输出(例如完全相同的查询结果或图像)。

性能:

  • 提示缓存可减少重复或相似 LLM 请求中的词元使用量、API 成本和端到端延迟。
  • 传统缓存可提升应用程序性能,降低后端或数据库负载,并减少网络延迟。

到期和失效:

  • 提示缓存通常与模型版本更新或重新训练周期相关。
  • 传统缓存通过 TTL(生存时间)、版本控制或手动失效机制进行管理,以便在底层数据发生变化时更新缓存。[3]

提示缓存如何工作?

在提示缓存中,提示词中重复的部分会被存储,以便在后续请求中重复使用,从而避免重新发送和处理这些内容。

以下是其运行流程的分步指南:

  1. 密钥生成:当提交提示词时,系统会创建一个缓存密钥。 
    精确匹配缓存使用提示词文本(或其哈希值或标准化形式),并且可以包含模型名称、temperature 或系统提示词等参数。只有在提示词和所有设置完全一致时,该方法才能生效。
    语义缓存则会生成提示词的嵌入向量,并搜索语义相似的缓存条目。这种缓存方式即使在措辞发生变化时,也能实现内容复用。这两种缓存方法是相互独立的方案,各自具有不同的优势。
  2. 缓存查找:随后,系统会使用该密钥或嵌入向量在缓存存储中进行匹配检查。对于传统缓存,缓存存储通常是键值存储;而对于语义匹配,则通常使用向量数据库。
  3. 缓存命中和缓存未命中:缓存命中时,系统会立即返回已存储的结果,避免重新处理请求。缓存未命中时,系统会将提示词发送给模型,然后保存输出结果,以便下次使用。
  4. 存储结果:在缓存未命中的情况下,LLM 返回响应后,生成的输出结果(有时还包括嵌入向量或其他元数据)会存储在对应密钥下,以便未来使用。
  5. 失效:缓存条目可以根据服务器定义的生存时间 (TTL)、模型更新或内容变化而过期,以确保答案保持准确且及时。

在 LLM 中实现提示缓存

LangChain 为在 LLM 应用程序中添加提示缓存提供了灵活的框架。与独立缓存系统不同,LangChain 是一个用于构建 LLM 应用程序的集成框架。它将缓存与其他必要组件整合到一个解决方案中,例如链式调用、记忆、检索增强生成 (RAG) 和工具集成。

如需了解如何使用 LangChain 实现提示缓存,请点击以下链接:

用例

  • 交互式文档门户:提示缓存可通过存储有关组织政策、流程或技术文档的常见问题响应,在内部知识管理系统中发挥重要作用。当员工反复搜索类似信息时,缓存响应可以即时提供答案,而无需重复向 LLM 发起查询。 

  • 营销活动:提示缓存通过预先计算并保存常见问题的答案,简化聊天机器人和自动化系统的运行。例如,有关折扣、产品规格或库存情况的查询可以通过缓存快速响应,确保用户能够快速获得常见问题的答案。在用户流量高峰期间,缓存响应可减少不必要的 LLM 调用,从而降低不必要的 API 成本并缓解延迟问题。

  • 客户支持系统:在允许客户提交问题的支持渠道中,可以将针对常见咨询的答案(例如故障排查、账户管理问题或账单相关问题)作为缓存提示词存储。这可以带来更快的响应速度,确保回复内容的一致性,并减少对 LLM 处理相同类型咨询的依赖。这些改进有助于提升运营效率并提高客户满意度。[4]

优势

  • 成本降低:通过重复使用提示词-响应对,而不是多次调用 LLM,节省 API 成本。
  • 速度:提供缓存响应可以立即返回答案,节省查询的整体处理时间,并提高响应速度。
  • 智能资源利用:避免不必要的计算资源浪费,并将资源留给其他不同类型的复杂查询。
  • 无限容量:合理管理高流量和重复查询,并随着应用规模扩展保持其顺畅运行。
  • 一致的响应:通过提示机制,所有相同或相似的查询都会一次又一次地产生相同的响应,从而为用户构建可信赖且可靠的体验。
  • 用户体验:能够提供更快速且可预测的响应,可在面向客户的应用程序中带来更流畅的互动体验,从而提升用户满意度。
  • 减少服务器负载:通过将可使用缓存响应解答的查询从服务器处理流程中移除,降低服务器工作负载,并提升系统运行效率。[5]

主流平台通过缓存写入和保留管理机制使用提示缓存存储,同时利用 TTL 和缓存控制机制管理输出结果并限制请求速率,确保数据隐私,并根据缓存使用情况制定相应的定价或成本策略。嵌入向量架构和系统指令也可以进行缓存,用于实时交互,从而提升跨多个多轮对话中的工具使用体验。

使用提示缓存需要考虑的要点

虽然提示缓存可以带来显著优势,但在优化和性能方面,仍需注意其局限性。一些关键注意事项包括:

  • 动态查询或上下文敏感型查询的管理:虽然提示缓存对于动态查询(例如随时间变化或依赖之前用户输入的查询)或上下文敏感型查询的作用通常有限,例如包含实时数据更新或重复多轮对话的查询,但这些查询必须生成能够响应新信息的回复。
  • 过时响应:如果数据或上下文发生变化,缓存响应可能会很快过时,从而在响应查询时提供错误或不相关的信息。
  • 边缘情况的复杂性:修改缓存以支持部分提示词复用或针对特定情况采取缓解措施,可能会带来更多问题,因为这些修改会增加系统设计的复杂性以及实施难度。
  • 缓存维护方面的挑战:有效管理缓存(例如设置过期时间或处理存储限制)可能会带来额外的运维负担。[6][7]

摘要

提示缓存是一种智能缓存策略,可提升聊天机器人、代码助手和 RAG 管道等 AI 驱动系统的性能,从而改善整体性能和效率。与多次向 API 发送包含完整提示词或系统提示词的相同请求不同,该系统利用缓存内容(例如提示词前缀、缓存前缀、静态内容)来表示这些数据,从而节省输入词元和输出词元。

其结果是减少 API 调用次数、降低缓存未命中率,并显著提升整体响应速度和用户体验。

提示缓存最适用于 AI 驱动系统中的核心场景,例如聊天机器人。它通过利用用户消息减少 API 请求,并通过简洁的缓存读取显著提高缓存命中率,从而提升系统性能。

在运行函数或响应应用程序中的后续请求或查询时,提示缓存可以节省提示词词元、总词元数量以及词元计数,同时提升指标跟踪的便捷性。借助提示缓存,团队可以实时跟踪提示词词元和总词元,并在生成式 AI 使用场景中,以合理的成本、速度和可靠性,在全球范围内持续扩展大型语言模型。

参考资料

[1] Kaplan, J., McCandlish, S., Henighan, T., Brown, T. B., Chess, B., Child, R., Gray, S., Radford, A., Wu, J., & Amodei, D.(2020 年)。《Scaling Laws for Neural Language Models(神经语言模型的扩展规律)》。arXiv

[2] Gim, I., Chen, G., Lee, S., Sarda, N., Khandelwal, A., & Zhong, L.(2024 年)。《Prompt Cache: Modular Attention Reuse for Low-Latency Inference(提示缓存:用于低延迟推理的模块化注意力复用)》。第 7 届机器学习与系统年度会议 (MLSys 2024) 论文集。美国加利福尼亚州圣克拉拉。

[3] OpenAI。“提示缓存”。《OpenAI Platform Documentation(OpenAI 平台文档)》,OpenAI,访问地址:https://platform.openai.com/docs/guides/prompt-caching

[4] Gu, C., Li, X. L., Kuditipudi, R., Liang, P., & Hashimoto, T.(2025 年)。《Auditing Prompt Caching in Language Model APIs(语言模型 API 中提示缓存的审计)》。arXiv。https://arxiv.org/abs/2502.07776

[5] Kelly, Conor。《Prompt Caching: Reducing latency and cost over long prompts(提示缓存:降低长提示词的延迟和成本)》。Humanloop Blog,2024 年 10 月 2 日,https://humanloop.com/blog/prompt-caching

[6] Chakraborty, S., Zhang, X., Bansal, C., Gupta, I., & Nath, S.(2025 年)。《Generative Caching for Structurally Similar Prompts and Responses(针对结构相似提示词和响应的生成式缓存)》。

[7] Wu, G., Zhang, Z., Zhang, Y., Wang, W., Niu, J., Wu, Y., & Zhang, Y.(2025 年)。《I Know What You Asked: Prompt Leakage via KV-Cache Sharing in Multi-Tenant LLM Serving(我知道您问了什么:多租户 LLM 服务中通过 KV-Cache 共享导致的提示词泄露)》。Network and Distributed System Security Symposium (NDSS) 论文集。

相关解决方案
IBM® watsonx Orchestrate

使用 IBM watsonx Orchestrate 轻松设计可扩展的 AI 助手和智能体,自动执行重复任务并简化复杂流程。

探索 watsonx Orchestrate
人工智能 (AI) 解决方案

借助 IBM 业界领先的 AI 专业知识和解决方案组合,让 AI 在您的业务中发挥作用。

深入了解 AI 解决方案
人工智能咨询服务

IBM Consulting AI 服务有助于重塑企业利用 AI 实现转型的方式。

深入了解 AI 服务
采取后续步骤

无论您是选择定制预构建的应用程序和技能,还是使用 AI 开发平台构建和部署定制代理服务,IBM watsonx 平台都能满足您的需求。

  1. 探索 watsonx Orchestrate
  2. 深入了解 AI 解决方案