Take away
缓存命中可以简单理解为:大模型发现“这次输入的前半段内容,和之前处理过的一段内容一样”,就不再重复计算这部分,直接复用之前的计算结果。
这里的“缓存”,通常指 KV Cache,也就是 Transformer 在推理时保存下来的 Key / Value 中间结果。
而且一般的概念是前缀缓存命中,也就是说要求前缀内容逐 token 一模一样(文本完全一致、顺序一致、分词一致等),才容易命中缓存。
所以在做 Agent、RAG、代码助手时,常见优化方式是:把稳定不变的内容放在前面,比如系统提示词、工具说明、固定知识库摘要、SOP流程;把每次变化的用户问题放在后面。这样更容易命中前缀缓存。
补充
大模型的前缀缓存,本质是:
当前输入的前半部分与历史请求“逐 token 完全一致”时,模型可直接复用之前计算结果,减少重复推理。
因此,在日常使用 Agent、RAG、CodeAgent 时,可以通过“稳定前缀”显著降低成本(命中缓存可以减低大模型使用成本)和时延。
核心优化建议如下:
-
固定 Prompt 模板
系统提示词、Tool Schema、输出格式尽量长期稳定,避免频繁修改描述、顺序或措辞。 -
固定内容放前面
将:
- 系统角色
- 工具说明
- SOP流程
- 知识定义
- JSON Schema
放在输入最前面;动态问题、告警、业务数据放后面。
- RAG 内容保持稳定
避免:
- 每次随机排序知识块
- 动态调整 chunk
- 重复生成摘要
建议固定知识顺序与 chunk 结构,提高缓存复用率。
- Tool/Skill 描述固定化
Agent 中 Tool Schema 往往占大量 token,应保持:
- tool 顺序固定
- 参数结构固定
- 描述文本固定
这是最容易命中缓存的部分。
- 长会话中保持上下文结构稳定
推荐长期固定:
<System>
<Memory>
<Tools>
<Conversation>
避免在中间频繁插入新的系统提示或重排上下文。
对于你们当前的光网络 Agent 场景,尤其适合将:
- QoT规则
- 拓扑Schema
- 根因规则
- Tool能力
- SOP流程
构造成“静态诊断前缀”,只让故障数据动态变化,这样能够显著降低推理成本并提升响应速度。