Take away

缓存命中可以简单理解为:大模型发现“这次输入的前半段内容,和之前处理过的一段内容一样”,就不再重复计算这部分,直接复用之前的计算结果。

这里的“缓存”,通常指 KV Cache,也就是 Transformer 在推理时保存下来的 Key / Value 中间结果。

而且一般的概念是前缀缓存命中,也就是说要求前缀内容逐 token 一模一样(文本完全一致、顺序一致、分词一致等),才容易命中缓存。

所以在做 Agent、RAG、代码助手时,常见优化方式是:把稳定不变的内容放在前面,比如系统提示词、工具说明、固定知识库摘要、SOP流程;把每次变化的用户问题放在后面。这样更容易命中前缀缓存。

补充

大模型的前缀缓存,本质是:

当前输入的前半部分与历史请求“逐 token 完全一致”时,模型可直接复用之前计算结果,减少重复推理。

因此,在日常使用 Agent、RAG、CodeAgent 时,可以通过“稳定前缀”显著降低成本(命中缓存可以减低大模型使用成本)和时延。

核心优化建议如下:

  1. 固定 Prompt 模板
    系统提示词、Tool Schema、输出格式尽量长期稳定,避免频繁修改描述、顺序或措辞。

  2. 固定内容放前面
    将:

放在输入最前面;动态问题、告警、业务数据放后面。

  1. RAG 内容保持稳定
    避免:

建议固定知识顺序与 chunk 结构,提高缓存复用率。

  1. Tool/Skill 描述固定化
    Agent 中 Tool Schema 往往占大量 token,应保持:

这是最容易命中缓存的部分。

  1. 长会话中保持上下文结构稳定
    推荐长期固定:
<System>
<Memory>
<Tools>
<Conversation>

避免在中间频繁插入新的系统提示或重排上下文。

对于你们当前的光网络 Agent 场景,尤其适合将:

构造成“静态诊断前缀”,只让故障数据动态变化,这样能够显著降低推理成本并提升响应速度。