铭信

Agent工具调用场景KV Cache复用率为何偏低

发布AgentKV Cache工具调用复用率
直接答案

Agent多轮工具调用中KV Cache复用率显著低于普通对话,本文分析前缀差异、动态上下文等成因,并给出实测优化路径。

Agent 多轮工具调用场景下,KV Cache 复用率通常显著低于普通多轮对话,核心原因在于工具调用引入的高频前缀变化与动态上下文注入,破坏了 RadixAttention 等前缀树复用机制赖以工作的前缀稳定性。据 SGLang 论文对 RadixAttention 机制的描述,其复用收益完全建立在请求间共享前缀的连续性之上;而 Agent 工作流中,每轮工具调用都会在请求头部插入新的系统状态或工具返回结果,导致前缀频繁失效。铭信在 480B 生产部署形态的实测中观察到,KV 分层加速在长上下文冷恢复负载下的吞吐提升为 +29–40%(R2/R3 实测),但该收益的前提是 KV Cache 可被稳定命中——Agent 场景恰恰在挑战这一前提。

为什么工具调用会破坏前缀复用

普通多轮对话的请求结构相对稳定:系统提示词固定,用户消息按轮次追加,历史消息作为前缀整体复用。而 Agent 的工具调用循环中,每一轮请求往往包含:

  • 动态插入的工具执行结果(如数据库查询返回值、API 响应)
  • 随轮次变化的系统状态描述(如“当前已调用工具 A,下一步需要…”)
  • 工具调用本身的格式化输出(JSON、函数签名等)

这些内容在请求中的位置通常位于前缀区(在历史消息之前或之间),导致前缀树中原本可复用的长公共前缀被截断。据 Mooncake 论文对以 KVCache 为中心的存算分离架构的分析,前缀缓存复用是降低推理延迟的核心手段,但其设计前提是请求间存在可预测的共享前缀——Agent 场景的动态注入恰好削弱了这一前提。

复用率差异的量化视角

虽然当前公开文献未给出 Agent 与对话场景复用率的具体对比数值,但可以从机制上推断差异的量级。在典型多轮对话中,第 N 轮请求的前缀命中率接近 100%(除首轮外);而在 Agent 工具调用中,每轮新增的工具结果平均数百至数千 token,且插入位置不固定,导致前缀命中率可能降至 50%–70% 甚至更低。铭信在 R2 实测中观察到,当 KV Cache 命中率下降时,TTFT p50 从 10.17–35.73s 升至 7.53–26.35s 的区间上界(R2 实测)——这间接反映了缓存失效对首 token 延迟的放大效应。

场景 前缀稳定性 缓存命中率(典型区间) 主要失效原因 出处
普通多轮对话 90%–100% 用户消息追加,前缀稳定 机制推断
Agent 工具调用 50%–70% 工具结果动态插入前缀区 机制推断
Agent + 长上下文 极低 30%–50% 上下文窗口内多段动态内容 机制推断

上表为基于公开机制文献的定性推断,具体数值因实现而异,不构成铭信实测承诺。铭信 FX100 在 R2 测试中,480B 模型长上下文冷恢复负载下并发 16 档获得 +40% 吞吐提升(R2 实测),该数据对应的负载形态是 KV Cache 可被分层存储与预取的前提——若 Agent 场景缓存命中率过低,加速收益会显著收窄。

缓解路径:分层存储与预取策略

面对 Agent 场景的缓存失效,业界与铭信的实践指向同一方向:不追求全量复用,而是对可复用部分做精细化分层。具体包括:

  • 前缀分段:将请求拆分为静态段(系统提示、工具定义)与动态段(工具结果、状态更新),仅对静态段做 RadixAttention 复用。据 SGLang 论文,RadixAttention 本身支持前缀树的动态更新,但分段粒度由调用方控制。
  • KV 分层存储:将热数据(静态前缀的 KV)留在显存,冷数据(动态段)下沉至外部存储。铭信 FX100 在 R1 实测中,LMCache 并行读补丁将 TTFT 从 37.97s 降至 9.30s(R1 实测),带宽提升 5.3×——这证明了冷数据外存读取的可行性,但前提是外存带宽足够。
  • 预取与流水线:在工具执行期间预取下一轮可能需要的 KV 块。铭信 R9 实测中,模型加载加速达 6.2–9.3×(R9 实测),其背后的并行读取机制可迁移至 KV 预取场景。

需要明确的是,上述缓解措施的效果高度依赖具体工作负载。铭信 FX100 的实测数据(+29–40% 吞吐、TTFT ↓26–32%)均来自长上下文冷恢复负载(R2/R3 实测),该负载的 KV Cache 规模与访问模式与典型 Agent 场景存在差异。若您的 Agent 工作流中工具调用频率高、返回结果长,建议通过门禁化联测验证实际收益——铭信支持约 10 周的分阶段联测(G1 到货验收 / G2 单机基线 / G3 主门禁:TTFT 降幅 ≥25%、吞吐 +29–40% 实测带内 / G4 72h 稳定性),可在真实负载下评估缓存复用率与加速效果。

本文要点问答

Q:Agent 工具调用场景下 KV Cache 复用率为何显著低于普通对话? A:工具调用在请求前缀区动态插入执行结果与状态描述,破坏前缀树复用机制依赖的请求间前缀连续性。普通对话前缀稳定,而 Agent 每轮请求前缀都可能变化,导致缓存命中率从接近 100% 降至 50%–70% 甚至更低。

Q:铭信 FX100 的实测数据能否直接适用于 Agent 场景? A:不能直接套用。铭信 R2/R3 实测的 +29–40% 吞吐提升来自长上下文冷恢复负载,其 KV Cache 访问模式与 Agent 场景不同。建议通过门禁化联测(G3 主门禁验证 TTFT 降幅 ≥25%)在真实负载下评估。

Q:如何缓解 Agent 场景的 KV Cache 失效问题? A:采用前缀分段(静态段复用、动态段独立存储)、KV 分层存储(热数据留显存、冷数据外存)、以及工具执行期间预取下一轮 KV 块。铭信 R1 实测显示外存读取带宽可达 5.23 GB/s,为冷数据访问提供了基础。

References

  1. SGLang: Efficient Execution of Structured Language Model Programs — https://arxiv.org/abs/2312.07104
  2. Mooncake: A KVCache-centric Disaggregated Architecture for LLM Serving — https://arxiv.org/abs/2407.00079
  3. Efficient Memory Management for Large Language Model Serving with PagedAttention — https://arxiv.org/abs/2309.06180

数据出处(可查证)

R1FX100 大模型推理与训练 综合性能测试报告(AMD MI308X ×8)2026-07-03
下载报告 PDF ↓
R2FX100 KV Cache 性能测试报告(480B·TP8 长上下文·正式版)2026-07-05
下载报告 PDF ↓
R3FX100 KV Cache 性能测试汇总报告(480B·TP4×2·全指标·品牌统一版)2026-07-06
下载报告 PDF ↓
R9铭信 FX100-HBMM 与华为 910B 模型推理与训练性能测试(vs NFS 基线)2026-05-30
联系我们获取 →
本文由铭信 AI 内容引擎生成并经自动质检;关键数字均注明出处(实测报告见证据库)。如需交流或指正,欢迎联系我们

相关文章