SideQuest 处于 agent 类别中 KV cache / context 管理 这条主线上,其相关论文沿三条轴展开:
| 论文 | 层次 | 关系 |
|---|---|---|
| Continuum (2511.02230) | serving 层:tool call 间歇的 KV 保留/驱逐 | 互补——Continuum 决定"何时释放 KV",SideQuest 决定"释放 KV 中的哪些 token" |
| SAGA (2605.00528) | cluster 层:跨 worker 的 workflow-aware 缓存调度 | 互补——SAGA 管跨 session 的 GPU 显存分配,SideQuest 管单 session 内的 token 语义淘汰 |
| PBKV (2605.06472) | serving 层:跨 workflow 的预测驱动 KV 管理 | 互补——PBKV 用 GraphSAGE 预测 agent 调用序列驱动淘汰/预取,SideQuest 用 LLM 语义推理驱动 token 级淘汰 |
三者在 KV cache 管理栈中占不同层次:SAGA 管集群级分配,Continuum/PBKV 管 serving 引擎级保留,SideQuest 管单 session 内的 token 级语义淘汰 [2602.22603] [2511.02230] [2605.00528] [2605.06472]。
| 论文 | 方法 | 关系 |
|---|---|---|
| CMV (2602.22402) | 三遍结构化裁剪(删 base64、tool output、元数据) | 对比——CMV 是启发式结构裁剪,SideQuest 是模型驱动语义裁剪 |
| Claude Code 分析 (2604.14228) | 五层渐进式 compaction pipeline | 参照——Claude Code 的 5 层 pipeline 是目前生产级 coding agent 的 SOTA context 管理实践 |
| 论文 | 优化目标 | 关系 |
|---|---|---|
| PASTE (2603.18897) | 投机性工具执行——减少 tool wait time | 正交——PASTE 减少时间维度的等待,SideQuest 减少空间维度的 KV 占用;两者可叠加 |
| CPU-Centric (2511.00739) | CPU 侧工具执行瓶颈 | 互补——揭示了 SideQuest 可能遗漏的另一维度:即使 KV cache 被压缩,CPU tool 执行仍可能是 E2E 瓶颈 |
| SGH (2604.11378) | 结构化 DAG 执行框架 | 概念关联——SGH 将 agent 从 ReAct loop 提升为 DAG scheduler,SideQuest 的辅助线程机制可嵌入 DAG 节点内部 |
SideQuest 的根本创新不在于 KV cache eviction 本身,而在于 eviction 决策的信息源。所有相关工作都使用 LLM 外部的信号(attention score、workflow DAG、tool 延迟分布、token 结构)做决策,SideQuest 是唯一让 LLM 自身推理哪些 token 已过期的方案 [2602.22603]。
| 论文 | 淘汰决策信号 | 信号类型 |
|---|---|---|
| H₂O/SnapKV/R-KV (baselines) | 累积 attention score / token 冗余度 | 统计代理 |
| Continuum | tool call 延迟分布 + 显存占比 | serving 指标 |
| SAGA | AEG 后继节点转移概率 × token 重叠度 | 工作流结构 + 统计 |
| PBKV | GraphSAGE 拓扑嵌入 + 前缀摘要 + 语义信号 | GNN 预测 |
| CMV | message 类型(user/assistant vs tool_result/base64) | 结构启发式 |
| SideQuest | LLM 对 tool response 语义有效性的推理 | 模型语义 |
SideQuest 通过并行辅助线程(fork 主线程 KV cache,异步生成删除命令)隔离管理 token,使 eviction 推理不污染主上下文 [2602.22603]。这与其他方案的架构选择形成鲜明对比:
SideQuest 的辅助线程每次生成 ~110-140 token 的管理推理 [2602.22603],GPU 开销显著高于上述方案。但其收益也更彻底——语义理解使得 non-completion rate 与 uncompressed baseline 同量级,而 heuristic 方法在 BrowseComp 上导致 60%+ 的模型崩溃 [2602.22603]。
相对于 Continuum:两者解决同一场景(multi-turn ReAct agent)的不同子问题。Continuum 解决 turn 间 KV 驱逐导致的排队气泡(per-turn queueing delay 占总延迟 58.2%)[2511.02230];SideQuest 解决 turn 内 KV 线性增长导致的显存和 attention bandwidth 瓶颈。两者可叠加。
相对于 PBKV:PBKV 在 agent 调用粒度(每个 agent 是一次 LLM 请求)管理缓存节点,而 SideQuest 在 token 粒度管理单个 session 内的 cursor。PBKV 的退役缓存淘汰 + 评分驱动淘汰 [2605.06472] 是确定性护栏 + 概率系统的分层架构——与 SideQuest 的启发式对照有异曲同工之处(SideQuest 的对照是 uncompressed baseline 而非 LRU)。
相对于 Claude Code 5-layer compaction:Claude Code 的 budget reduction → snip → microcompact → context collapse → auto-compact 管线 [2604.14228] 是增量式的渐进压缩,最后手段 auto-compact 使用模型生成 summary——这与 SideQuest 的辅助线程在哲学上相似(都用模型参与压缩决策),但 Claude Code 的 auto-compact 是不可逆的全局 summarization,而 SideQuest 是可控的 cursor 级删除。
SideQuest 仅在 gpt-oss-20b(21B total / 3.6B active, MoE, MXFP4)上验证 [2602.22603]。辅助线程的 eviction 推理能力是否可迁移到 Llama、Qwen、Claude 等其他模型完全未知。PBKV 至少验证了 Qwen3-14B 和 Qwen3-32B 两个模型 [2605.06472],SAGA 验证了 Llama-3-70B [2605.00528],Continuum 横跨 8B-355B 四个模型族 [2511.02230]——相比之下 SideQuest 的泛化证据最弱。
矛盾根源:SideQuest 的设计哲学(让 LLM 自身做 eviction 推理)天然要求 per-model LoRA 微调,而 Continuum/SAGA/PBKV 作为 serving 层方案与模型完全解耦。这不是实验疏忽,而是方法论的 structural limitation。
论文声称辅助线程"与主线程并行,理论上不增加关键路径延迟" [2602.22603],但从未量化辅助线程的 GPU 计算和 bandwidth 占用。每次辅助线程生成 110-140 token 的推理 [2602.22603],在高并发场景下,这些 token 会与主线程竞争 GPU decode bandwidth。
PBKV 的预测器仅 ~350K 参数,推理 1.18ms/次 [2605.06472],且运行在独立 CUDA stream 上不占主推理路径。SAGA 的 coordinator 开销仅 12.3ms + 3.1ms [2605.00528]。SideQuest 的辅助线程 overhead 可能比这两者高 1-2 个数量级——这在 SGLang serving 实验中被 batch size 增大带来的收益掩盖了,但在 GPU 接近饱和时可能成为瓶颈。
SideQuest 仅在 FRAMES(多跳推理)和 BrowseComp(网页导航)上评估 [2602.22603]。这两个 benchmark 都是 deep research 类型——tool response 主要是网页内容,语义 staleness 判断相对简单("这个搜索结果页还有用吗")。
缺失的关键场景:
SideQuest 与 H₂O/SnapKV/R-KV 的对比在固定 cache budget(16K/24K token)下进行 [2602.22603]。这些 heuristic 方法是为固定长文档的单轮查询设计的,直接套用到 agentic 多轮场景本就不合适。更公平的对比应该是与 Continuum(专为 agent serving 设计的 TTL 机制)或 PBKV(专为 agent workflow 设计的预测驱动淘汰)做对比——但论文发表时这些工作可能尚未出现。
Hindsight 标注(Algorithm 2)在正确推理 trace 上计算 cursor 的 last-use index [2602.22603]。这假设正确的 eviction 决策可以从完成的 trace 中后向推导——但 agentic 推理的非单调性恰恰意味着"当前看不出用处的 cursor 未来可能被需要",而 hindsight 标注无法捕获那些因过早 evict 而导致失败的 counterfactual 路径。
SideQuest 代表了 agent KV cache 管理从 统计代理信号(attention score, LRU, workflow 转移概率)向 语义信号(LLM 自身的理解)跃迁的范式转变。在这个谱上:
统计代理 ← ← ← → → → 语义理解
H₂O/SnapKV Continuum SAGA/PBKV CMV/5-layer SideQuest
(attention) (TTL+cost) (AEG+GNN) (structure) (LLM reasoning)
正面信号:
采纳障碍:
SideQuest 的最大生态位价值在于 可组合性。它工作在 token 语义层,与 serving 层(Continuum 的 TTL)、cluster 层(SAGA 的 workflow 调度)、execution 层(PASTE 的投机执行)均正交。一个完整的 agent serving 栈可以同时部署:
Claude Code 的 5-layer compaction pipeline [2604.14228] 实际上已经在生产中实现了类似的多层组合(budget reduction → snip → microcompact → context collapse → auto-compact),SideQuest 的辅助线程可以被视为这条 pipeline 中 auto-compact 层的一种更精细的替代方案。
将 SideQuest 的 token 级语义淘汰与 Continuum 的 turn 级 TTL 或 PBKV 的 workflow 级预测淘汰组合。当前 SideQuest 只管 session 内部的 cursor 删除,而 Continuum/PBKV 只管 serving 引擎级的缓存保留——两者在不同粒度上独立运作,联合优化可能产生超加性收益。关键挑战:两层决策的一致性——如果 SideQuest 认为某个 cursor 仍有语义价值,但 Continuum 的 TTL 已过期并驱逐了整个 session 的 KV cache,语义判断就被浪费了。
CMV 的三遍裁剪 [2602.22402] 以零 GPU 成本删除确定性无用的 token(base64 图片、thinking block、API 元数据),SideQuest 的辅助线程处理需要语义判断的 token。将两者级联为 CMV-first → SideQuest-second 的管线:先用结构裁剪以零成本削减 20-39% [2602.22402],再用语义淘汰进一步压缩。这类似 Claude Code 5-layer pipeline 的思路 [2604.14228],但将最后一层从 model-generated summary 替换为 SideQuest 的可控 cursor 删除。
SideQuest 目前需要 per-model LoRA 微调。如果 eviction 推理能力可以通过 distillation 或 prompt engineering 跨模型迁移,将大幅降低部署门槛。PBKV 的 ~350K 参数 GNN 预测器 [2605.06472] 提供了一个参照——用极小的外部模型做预测,避免修改 LLM 本身。一个 hybrid 方向:用 SideQuest 的 hindsight trace 训练一个小型外部 eviction predictor(而非 LoRA 微调 LLM),同时保留语义信号的优势。
PASTE 在 LLM "思考"时投机执行 tool [2603.18897],SideQuest 在主线程执行时并行运行辅助线程做 KV 清理。两者都利用了 agent 循环中的"并行窗口"。联合优化:在 LLM decode 阶段同时运行 (a) PASTE 的投机 tool 执行和 (b) SideQuest 的辅助线程 eviction 推理,实现 GPU compute + CPU tool execution + KV management 的三路并行。
SGH [2604.11378] 将 agent 执行从 ReAct loop 提升为 DAG scheduler,每个节点有独立的 context 分区($\mathcal{C}_{\text{exec}} \cap \mathcal{C}_{\text{diag}}=\emptyset$)。SideQuest 的辅助线程可以被嵌入 DAG 节点内部,为每个节点独立运行 KV cache 管理。更进一步:DAG 的结构信息(哪些节点是后继、哪些 tool response 跨节点共享)可以作为辅助线程的额外输入,增强其 eviction 决策的准确性——这将 SideQuest 的语义信号与 SAGA 的结构信号统一起来。