资讯动态

掌握Prompt Caching:让您的Agent跑得更久、更稳、更便宜,收藏这篇开发者必备指南!

发布时间:2026/8/23 0:24:04 来源:尧图企业网站定制
本文深入探讨了如何通过设计缓存友好的会话结构来优化Agent性能。强调稳定内容应放在会话前缀变化内容追加在后面以便模型复用已读前缀降低成本。文章详细解析了Prompt Caching的原理指出其并非简单的缓存机制而是Agent的基础设施。通过分层上下文管理稳定前缀、任务状态、动态尾巴可显著提升缓存命中率降低计算开销。同时文章也提醒开发者注意细节避免破坏缓存并提供了监控Prompt Caching效果的指标。最终强调优化Agent性能的关键在于先设计好“地基”再谈智能体。Agent 要跑得久、跑得稳、跑得便宜不能只靠更大的上下文窗口。真正要先设计的是缓存友好的会话结构稳定内容放在前面变化内容追加在后面让模型已经读过的前缀可以持续复用。Prompt Caching 不是一个“打开就省钱”的按钮。它更像 Agent 的地基。系统提示词、工具定义、项目规则、长期任务背景这些内容一旦被反复重算Agent 每走一步都在为旧信息重新付钱一旦被稳定缓存后面的多轮动作才有机会变成低延迟、低成本的增量调用。上一篇讲长上下文和 KV Cache 时我们说上下文不是免费的。今天可以再往前推一步Agent 不是怕上下文长而是怕每一轮都把同一段上下文当新内容重读。Agent 为什么比普通聊天更需要缓存普通聊天通常是一问一答系统提示词不长工具也少。Agent 不一样。一个代码 Agent 或研究 Agent 每次请求里经常会带上几类固定内容系统行为规则工具定义和调用协议项目说明、仓库约束、工作流规范任务目标、已有计划和关键背景。这些内容在第一轮有价值因为模型必须先理解工作环境。问题出在第二轮、第三轮、第五十轮如果稳定前缀没有命中缓存模型就会把同一批工具定义和项目规则重新做一遍 prefill。这就是 Agent 成本里很隐蔽的一项不是新问题贵而是旧前缀反复贵。OpenAI 的 Prompt Caching 文档把优化原则说得很直接缓存命中依赖 prompt 的精确前缀匹配静态内容应该放在开头动态内容应该放在末尾。Anthropic 的文档也强调缓存引用的是tools、system、messages这个顺序里直到缓存断点的完整前缀。换成 Agent 语言就是一句话上层要稳下层才敢动。Prompt Caching 缓存的不是“回答”而是“读过的前缀”很多缓存系统缓存的是最终结果比如“同一个问题直接返回同一个答案”。Prompt Caching 不是这个逻辑。它缓存的是模型处理输入时产生的中间状态尤其是 attention 层在 prefill 阶段算出的 Key/Value 状态。这点很关键。Agent 每一轮都可能需要新的推理和新工具调用不能简单复用上一次回答。但如果前面的系统提示词、工具定义、项目背景完全一样模型就不需要每次都从零读完这些前缀。Prompt Cache 论文把这种思想表达成“复用重叠 prompt 片段的 attention states”。论文关注的例子包括系统消息、prompt 模板和上下文文档这些正是 Agent 请求里最常重复的部分。它的实验也说明长 prompt 场景下复用 attention state 对首 token 延迟尤其有帮助。所以Prompt Caching 对 Agent 的价值不只是省输入 token 费用。更准确地说它同时影响三件事影响解释成本缓存读通常比完整输入处理便宜TTFT稳定前缀不再完整 prefill首 token 更快出来并发重复 prefill 减少后服务端更容易把资源留给真正新增的请求OpenAI 文档里还提到满足条件的 prompt 会自动缓存并通过usage.prompt_tokens_details.cached_tokens报告缓存命中的 token 数。Anthropic 则提供更显式的cache_control断点并通过cache_creation_input_tokens、cache_read_input_tokens和input_tokens拆出缓存写入、缓存读取和未缓存输入。这些指标不只是账单字段。对 Agent 工程来说它们应该进入监控面板。为什么稳定前缀是 Agent 的“地基”一个 Agent 系统通常有三层上下文。第一层是稳定前缀包括系统规则、工具 schema、角色边界、安全约束、项目指南。这一层应该尽量不动因为它决定缓存能不能命中。第二层是任务状态包括当前目标、计划、已完成步骤、未解决问题、关键文件和引用材料。这一层会变化但应该以追加或压缩摘要的方式变化避免回头修改第一层。第三层是动态尾巴包括用户新指令、模型最新回复、工具输出、终端日志、检索结果。这一层天然会增长也是 Agent 每一步真正需要新增处理的部分。缓存友好的 Agent不是把所有内容都塞进一个巨大 prompt而是把上下文按“稳定程度”分层。稳定前缀越干净缓存命中率越高动态尾巴越克制长会话越不容易膨胀。这也是为什么 Claude Code、Cursor、Devin 这类 Agent 工具都非常重视项目说明文件、工具协议和会话结构。对用户来说这些只是提示词对推理系统来说它们是可以被反复复用的计算资产。哪些细节最容易把缓存打碎Prompt Caching 最反直觉的地方是它通常要求“完全一样”。意思不是语义差不多而是 token 前缀要匹配。下面这些细节都会让缓存命中率下降破坏方式后果改法每轮在 system prompt 里注入时间戳前缀每轮都变把时间放到动态消息工具 schema 顺序不稳定工具前缀哈希变化固定序列化顺序会话中途增删工具缓存断点前内容变化会话开始前加载常用工具中途切模型模型相关缓存不可复用按模型维度设计会话把状态写回系统提示词稳定层被污染状态追加到消息或单独摘要检索材料排序飘忽文档前缀不稳定固定排序、去重、分层插入这些问题在 demo 里不明显因为 demo 只有三五轮。到了真实 Agent 工作流几十轮工具调用、上百个文件片段、多次压缩摘要混在一起缓存命中率会被这些小变化吃掉。KVFlow 论文讨论多 Agent 工作流时提到Agent 会被反复调用固定 prompt 对应的 KV tensor 本来可以复用但普通 LRU 策略可能在下一次复用前把缓存淘汰掉所以需要工作流感知的缓存管理和预取。TokenDance 进一步从多 Agent 同步轮次出发指出多 Agent 会共享大量相同输出块普通前缀缓存并不能充分利用这种冗余。这说明 Prompt Caching 已经不是“提示词技巧”。它正在变成 Agent serving 的系统设计问题。自己做 AgentPrompt 应该怎么排如果你在做自己的 Agent可以直接按这个顺序组织请求1. **System rules** 稳定身份、行为边界、输出规范、安全约束 2. **Tool definitions** 固定工具列表、固定 schema、固定序列化顺序 3. **Project or product context** 项目说明、代码规范、长期约束、业务背景 4. **Task state** 当前目标、计划、已完成动作、未完成事项、压缩摘要 5. **Dynamic messages** 用户最新输入、工具结果、检索片段、终端输出这套排法的目标不是让 prompt 看起来整齐而是让缓存断点前的内容尽量稳定。这里还有一个容易被忽略的原则不要把短期状态写进长期前缀。 比如“当前时间”“这一步刚失败了”“用户刚刚改了需求”这些信息很重要但它们应该进入动态消息或任务状态而不是改写系统提示词。如果上下文快满了也不要粗暴重写整段 prompt。更好的方式是做 cache-safe compaction保留稳定前缀把历史对话压缩成新的任务状态摘要再继续往后追加。压缩会产生新内容但至少不会把地基一起砸掉。该怎么监控 Prompt Caching不要只看总 token。总 token 会告诉你花了多少但不会告诉你 Agent 结构好不好。我建议至少看 5 个指标指标看什么Cache read tokens有多少输入来自缓存Cache creation tokens有多少输入在写入缓存Uncached input tokens还有多少输入每轮都在重算Cache hit ratio缓存读取占缓存相关 token 的比例TTFT首 token 是否随着缓存命中下降一个简单的缓存效率可以这样算cache_hit_ratio cache_read_tokens / (cache_read_tokens cache_creation_tokens uncached_input_tokens)这个公式不追求学术严谨它的作用是帮你发现趋势如果 Agent 跑了很多轮cache_read_tokens仍然很低就说明稳定前缀没有稳定如果uncached_input_tokens持续暴涨就说明动态尾巴失控如果 TTFT 没有改善可能是缓存没命中也可能是检索材料和工具输出太长。什么时候不要迷信 Prompt CachingPrompt Caching 很重要但不是所有慢请求都能靠它解决。短 prompt 的一次性问答缓存收益有限。每轮检索材料都完全不同的 RAG缓存也很难救前缀漂移。输出很长、decode 阶段占大头的任务Prompt Caching 对首 token 有帮助但不会让生成本身消失。高并发系统里缓存还会受到路由、TTL、模型、机器内存和淘汰策略影响。OpenAI 文档里提到prompt 至少达到一定长度才会显示实际缓存命中Anthropic 的缓存也有默认生命周期并且长 TTL 会有额外写入成本。这些约束提醒我们Prompt Caching 是工程杠杆不是无限免单。更稳的判断标准是稳定前缀是否足够长同一前缀是否会被多次复用请求间隔是否在缓存生命周期内动态内容是否只追加在后面监控里是否能看到缓存读 token 上升。五个条件都满足Prompt Caching 才会真正变成 Agent 的收益。结尾先设计地基再谈智能体Agent 系统的很多问题表面上是模型能力问题落到线上经常是上下文工程问题。稳定前缀没有设计好工具再多也会变成重复 prefill。动态尾巴不控制长上下文会吞掉 TTFT 和显存。缓存指标不监控成本下降只能靠猜。我会把 Prompt Caching 当成 Agent 的基础设施而不是成本优化小技巧。一个合格的 Agent 设计至少要回答三个问题哪些内容必须稳定放在前缀哪些状态只能追加不能回写每轮请求的缓存命中率是否可观测把这三个问题答清楚Agent 才不是每走一步都重新认识世界。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价