Don't Break the Cache: An Evaluation of Prompt Caching for Long-Horizon Agentic Tasks
本文对三大主流大语言模型(LLM)提供商在长程智能体任务中的提示词缓存(prompt caching)进行了全面评估,证明了通过策略性缓存技术——例如排除动态工具结果和管理提示词结构——与朴素的全上下文缓存相比,可以将 API 成本降低 41%–80%,并将首个 Token 生成时间(TTFT)缩短 13%–31%。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在雇佣一位才华横溢但价格昂贵的科研助理来解决一个复杂的谜团。这位助理在开始工作前,需要阅读一本厚厚的说明书(即“系统提示词”)。在工作过程中,他们会向不同的来源打几十个电话,获取答案并将其记录在笔记本上。
每当他们打一个新的电话时,都必须从第一页开始重新阅读整本说明书,以记住该做什么。这既费时又费钱,因为这位助理是按阅读的页数来收费的。
“提示词缓存”(Prompt Caching) 就像是给了这位助理一支神奇的高亮笔。如果说明书没有发生变化,助理可以跳过阅读前 90% 的内容,直接跳转到包含新通话结果的部分。这节省了时间和金钱。
然而,这篇论文提出了一个棘手的问题:这个神奇的高亮笔总是奏效吗,还是我们会把它搞砸?
研究人员使用一个名为 DeepResearch Bench 的基准测试(该测试中,智能体会在长期的、多步骤的网络搜索中寻找答案来回答难题),对三家主要的“助理”公司(OpenAI、Anthropic 和 Google)进行了测试。他们尝试了三种使用高亮笔的方法:
- “天真”法(全上下文): 对所有内容进行高亮,包括新的通话结果。
- “便利贴”法(仅限系统提示词): 仅对说明书进行高亮,但不高亮新的通话结果。
- “清晰界限”法(排除工具结果): 高亮说明书和通话内容,但在每个新结果之后放置一个特殊的“停止”标志,以免高亮笔误抓取下一个人的杂乱笔记。
他们的发现
1. 它节省了大量资金(“钱包”之胜)
无论使用哪种方法,神奇的高亮笔都节省了大量的钱。根据公司的不同,他们节省了 41% 到 80% 的账单费用。
- 类比: 这就像意识到你不需要每次走进图书馆时都买一张新的借阅证;你只需要使用现有的那张即可。
2. 速度很微妙(“交通”问题)
虽然节省资金很容易,但节省时间却很难。
- 令人惊讶的是: 有时,高亮所有内容(天真法)反而会让助理变得更慢。
- 类比: 想象一位快递员试图记住他们递送的每一个包裹的地址。如果他们试图去记忆一个只递送一次且不再递送的包裹,他们就是在浪费时间去记忆。当下一个包裹到来时,他们必须“忘掉”旧的记忆才能腾出空间给新的。这种“写入记忆”的过程会减慢他们的速度。
- 论文发现,如果你只高亮那些稳定的部分(说明书),而让那些杂乱、变化的部分(通话结果)保持原样,助理就能保持快速。
3. “不要破坏缓存”的规则
最大的教训在于你如何划定界限。
- 如果你把动态、变化的信息(例如“当前时间:下午 2:00”或“用户 ID:123”)放在说明书内部,神奇的高亮笔就会失效。系统会认为说明书发生了变化,从而停止高亮并从头开始阅读。
- 解决方法: 保持说明书的纯粹和静态。如果你必须包含变化的信息,请将其放在说明书的最末尾,就像贴在最后一页的便利贴一样。这样,说明书前 99% 的内容仍然可以被高亮并重复使用。
总结
对于构建执行长期、复杂任务的 AI 智能体的公司来说:
- 是的,请使用提示词缓存。 它会大幅降低你的成本。
- 但,要聪明地使用。 不要只是对所有内容都开启它。
- 最佳策略: 只缓存稳定的“说明书”(系统提示词)。让变化的部分(工具结果)自由流动而不进行缓存。这能为你提供成本与速度的最佳平衡。
如果你尝试缓存变化的部分,你可能会面临为“写入”缓存而付费,却无法获得“阅读”收益的情况,这实际上会减慢你的系统速度。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。