跳转至

Agent 协作

工作负载画像:Prefix 复用度中高(task 级共享)|上下文中长|工具调用打断生成|多次 LLM 调用构成单任务

特征

  • 多 agent 间上下文部分共享:同一 task 的不同 step 共享 system prompt + task description
  • 工具调用打断生成:每次 tool result 注入都改变 KV 末尾,产生新的 sealed block
  • 长链路:单个 task 可能涉及十几次 LLM 调用,每次调用的 prompt 在上一次基础上追加
  • 分支-合并模式:多 agent 并行执行后合并结果,KV 有"分叉"的访问结构

关键 KV 问题

1. 共享 Prefix 的去重

多个 agent 看到的 system prompt + task description 完全相同,但每个 agent 的 trailing 状态略有不同。

  • 共享部分(system prompt):prefix cache 可 100% 命中
  • 差异部分(每个 agent 的独立历史):各自独立,无法共享
  • 关键设计:block 粒度要能对齐到 system prompt 的末尾,避免跨 block 污染共享部分

2. 工具调用后的 KV 续接

工具调用完成后,tool result 注入 prompt,整段输入改变。能否复用工具调用前的 KV?

  • 严格意义上:tool result 改变了 prompt,tool result 之后的所有 token 的 K/V 都与位置编码强绑定,必须重新 prefill
  • 实践上可复用的部分:截至工具调用之前的 prefix(包括 system prompt、历史对话、此前的工具调用链)可精确命中
  • sealed block 对齐:只有已填满的 block 才能命中 prefix cache;tool result 注入后,末尾未填满的 block 需要重新计算

3. 多 Agent 的 KV 隔离

  • 不同 agent 的 KV 必须隔离(prompt 结果不能混淆)
  • 但 prefix 重叠的部分(system prompt、共享 task context)应当共享同一批 KV block——需要系统支持 ref-counted block 共享
  • 多租户场景下还需考虑 cache_salt 隔离,避免不同用户的 agent 共享 KV

工程实证

Claude Code 的 KV Cache 工程

主站 essay 对 Anthropic 的 prompt caching 接口进行了详细分析,揭示了 Agent 场景的几个关键洞察:

  • 90% 的缓存失效来自服务器端路由/驱逐,而非客户端变化——优化应集中在服务端调度而非客户端 prompt 设计
  • Cache 价格差 10×:cache read $0.30/MTok vs full input $3/MTok,命中率是 Agent 推理成本的单变量决定性因素
  • 缓存失效的诊断粒度:Anthropic 将失效分为 5 类——eviction、ttl_expired、prompt_too_large、rate_limited、usage_capped——每类对应不同优化策略
  • Agent list 位置优化:将可用工具列表从 tool description 移至 message attachment,消除了 10.2% 的 cache_creation_tokens

来源:主站 essay Claude Code Context & KV Cache 工程

Mooncake Store 的 Agentic Trace 实测

在 610 条真实 agent trace 上,Mooncake Store 的分布式 KV 池实现:

指标 基线 Mooncake Store 倍数
Cache hit rate 1.7% 92.2% +54×
Throughput 基准 3.8× —
P50 TTFT 基准 −46× —
端到端延迟 基准 −8.6× —

Agent 场景的跨请求前缀共享远高于最初预期——一旦系统支持分布式 KV 池,收益是阶跃式的。

来源:主站 reading vLLM × Mooncake Store

Agentic 负载的三种退化模式

2026 Q1-Q2 的 agentic KVCache 论文群显示,Agent 不是"更长的 chat",而是状态积累型负载。典型退化模式有三类:

退化模式 现象 代表证据
middle-phase thrashing 大批量 agent 中间阶段 cache 命中率从 90% 崩到 40% 以下,49.1% 端到端延迟来自额外重计算 CONCUR
存储 I/O 瓶颈 append 很短、历史 KV 很长,cache-compute 比率升到 22 GB/PFLOP 甚至 117–267 GB/PFLOP DualPath
结构化量化失配 tool schema / CoT / obs token 敏感度不同,uniform low-bit 破坏关键语义 TriAxialKV

Agent 负载的调度粒度也在变化:CONCUR 用 AIMD 做 agent-level admission control;HexAGenT 把请求建模为在线 DAG;Helium 用查询计划视角消除跨调用冗余;MARS 将 GPU 推理和 CPU 工具执行共同纳入延迟关键路径。这些工作共同说明,KVCache 优化必须与 workflow-level 调度结合。

来源:主站 essay Agentic 推理的性能重构,主站 reading CONCUR:KV Cache 的 AIMD 时刻,主站 reading DualPath,主站 reading TriAxialKV

Regime 交叉:HBM Prefix Cache vs L2 KV Cache

LMCache 在 2 张 AMD MI300X 上重放 739 条匿名化 Claude Code agent trace,展示了一个容易被合成 benchmark 遮蔽的结论:L2 KV cache 是否有收益由 working set regime 决定。

Regime 推荐策略 证据
<100K token working set HBM prefix cache 足够 低负载 8 并发 / 32K 上下文时,HBM-PC 完成 52 请求 vs LMCache 25
100K–250K 监控 HBM eviction,谨慎启用 L2 LMCache connector 开销可能抵消收益
250K–500K LMCache DRAM tier 必要 压力测试平均 TTFT 34.59s vs HBM-PC 102.17s;p95 112.78s vs 240.87s;完成请求数 28 vs 12
>500K 需要 NVMe / remote L3 单靠 DRAM tier 容量不足

合成 16K cache-rate benchmark 因为没有制造 HBM 压力,反而显示 LMCache 吞吐低于 HBM-PC 10–17%。因此 Agent KVCache benchmark 必须同时控制 prefix 复用和 HBM 压力。

来源:主站 field-note LMCache 在 AMD MI300X 上的部署实录


工程配置建议

配置项 推荐值 / 策略 原因
Prefix Cache 必开 system prompt + task context 全员共享
Block Size 16(较细) 工具调用断点处对齐,避免 sealed block 浪费
分布式 KV 池 推荐(Mooncake Store / LMCache) 跨实例命中,agent 路由不受限于单副本
Cache-aware routing 推荐 同 task 的多次调用路由到同一副本
cache_salt 隔离 多租户场景必开 不同用户 agent 的 KV 隔离
Agent-level admission 高并发 agent 批处理推荐 防止 middle-phase thrashing 和 LRU 颠簸
L2/L3 tier working set >250K token 后启用 HBM prefix cache 不再能覆盖持续状态

关键指标

  • Task 级 Prefix Cache 命中率:应关注单个 task 内跨调用的累积命中率,而非单次请求命中率
  • cache_creation_tokens 占比:越低越好;超过 20% 说明大量 prefix 未命中
  • 工具调用后的 TTFT:反映工具注入后重新 prefill 的效率
  • 分布式 KV 池命中率:Mooncake Store / LMCache 的跨实例命中率
  • middle-phase hit-rate trough:衡量 agent 批处理是否进入 cache thrashing
  • sustained working set:决定是否从 HBM prefix cache 切到 L2/L3 tier

关联章节

版本历史

版本 日期 说明
v0.2 2026-06-02 新增 agentic 负载三种 KV 退化模式、CONCUR/DualPath/TriAxialKV 证据与 LMCache MI300X regime 交叉
v0.1 2026-05-14 从工作负载总览拆分,保留 Claude Code 与 Mooncake Store 实证数据