SGH (Structured Graph Harness) 提出用 scheduler-theoretic 框架将 Agent Loop 和 graph executor 放在同一条 $|\mathcal{U}|$ 连续谱上,主张静态 DAG + 三级 recovery + plan versioning 是 agent 执行系统的"正确"设计点。本文将其与 8 篇 agent category 同期/近期工作进行对比分析。
| 论文 | 关系 | 关联理由 | ||
|---|---|---|---|---|
| 2604.14228 (Claude Code 逆向分析) | 直接对照 | 首次源码级解剖生产级 ReAct agent,揭示 "1.6% 决策逻辑 + 98.4% 确定性基础设施" 范式 [2604.14228]。Claude Code 是 SGH 所批判的 Agent Loop ($ | \mathcal{U} | =1$) 的最成功部署实例,构成了"理论批判 vs 生产验证"的核心张力。 |
| 2603.18897 (PASTE) | 替代路径 | 通过 pattern-aware speculative tool execution 实现 tool 与 LLM 推理的时间重叠,不需要任何 DAG 结构即可将 E2E 延迟降低 48.5% [2603.18897]。代表了与 SGH 正交的 "不改执行结构、改执行时机" 路径。 |
| 论文 | 关系 | 关联理由 | ||||
|---|---|---|---|---|---|---|
| 2511.02230 (Continuum) | 基础设施互补 | 为多轮 ReAct agent 引入 KV cache TTL 机制,在不改变 agent 执行结构($ | \mathcal{U} | =1$)的前提下实现最高 8.18× 延迟下降 [2511.02230]。证明 $ | \mathcal{U} | =1$ 的 scheduler 只要配合正确的 serving 优化仍有巨大改善空间。 |
| 2605.00528 (SAGA) | 描述性 DAG vs 规定性 DAG | 也使用 DAG(Agent Execution Graphs),但用于 KV cache 复用预测而非控制 agent 执行 [2605.00528]。SAGA 的 DAG 是描述性的(观测 agent 行为),SGH 的 DAG 是规定性的(预定义执行路径)。SAGA 在 64-GPU 集群上实测 1.64× TCT 下降。 | ||||
| 2605.06472 (PBKV) | 动态工作流挑战 | 显式证明静态 DAG 假设无法处理运行时条件分支和重试循环 [2605.06472],用 GraphSAGE 预测器替代静态距离度量,且提供 Lipschitz 退化保证。直接挑战 SGH "静态 DAG 足以描述 agent 工作流" 的核心前提。 |
| 论文 | 关系 | 关联理由 |
|---|---|---|
| 2602.22402 (CMV) | 共享哲学、不同层次 | 也使用 DAG 建模(会话快照为节点、分支为边)+ 不可变快照 + 版本化,但应用于 context window 生命周期管理而非执行调度 [2602.22402]。CMV 和 SGH 在 "immutable + versioned" 哲学上同源,但 CMV 有实现(CLI 工具 + 76 会话实测),SGH 没有。 |
| 2602.22603 (SideQuest) | 非确定 LLM 管理的反例 | 用 LLM 自身做 KV cache 垃圾回收(并行辅助线程语义推理 stale 响应),精度损失仅 2-5% 且避免了启发式方法的模型崩溃 [2602.22603]。与 SGH "LLM 策略不可检查" 的批判形成对比——SideQuest 表明 LLM 驱动的非确定决策在受控场景下可以很可靠。 |
| 论文 | 关系 | 关联理由 |
|---|---|---|
| 2511.00739 (CPU-Centric) | 瓶颈错位 | 实测 CPU 工具执行占 E2E 延迟高达 88% [2511.00739]。SGH 关注执行图结构和并行调度,但真实 agent 系统的主导瓶颈可能不在 DAG scheduling,而在 CPU 侧工具执行效率——这是 SGH 完全未讨论的维度。 |
SGH 是 8 篇论文中唯一提出统一分类框架的工作。$|\mathcal{U}|$ 连续谱(从 Agent Loop 的 $|\mathcal{U}|=1$ 到 graph executor 的 $|\mathcal{U}|\ge 1$)是一个有用的概念工具,将 70 个开源 agent 项目放到同一尺度上比较 [2604.11378]。其他论文都在解决具体问题——Continuum 解决 KV cache TTL,SAGA 解决 workflow-atomic scheduling,PASTE 解决 tool stall——但没有一篇试图提供跨系统的比较语言。
SGH 的状态机 termination 证明(Theorem 6.2)和 validation gap 公式(Theorem 6.3)也是独有的——其他论文要么无形式化证明(Continuum、CMV、PASTE),要么提供的是松散上界(SAGA 的 competitive ratio 20.5× vs 实测 1.31×),要么仅对子问题提供保证(PBKV 的 Lipschitz 界仅覆盖 eviction regret)。
| 维度 | SGH (2604.11378) | 最强对照 | Delta |
|---|---|---|---|
| 实现成熟度 | 纯理论,0 LOC | Claude Code: ~512K LOC 生产系统 [2604.14228] | SGH 没有任何代码验证 |
| 实验数据 | 无。只设计了 G0–G6 实验 protocol | SAGA: 64-GPU 集群,500 SWE-bench tasks [2605.00528] | SGH 的所有收益预测都是 theoretical |
| 并行收益量化 | 估计 30-40% 任务有 natural parallelism [2604.11378] | PASTE 在无 DAG 下通过 speculation 实现 48.5% E2E 减少 [2603.18897] | PASTE 用更轻量的方法达到了 SGH 声称需要 DAG 才能获得的并行收益 |
| Recovery 机制 | 三级升级(retry → patch → replan) | Claude Code: denial → reason → model revises [2604.14228] | Claude Code 的 recovery-oriented 设计在生产中有效;SGH 的三级机制增加复杂度但未验证 |
| KV cache 感知 | 仅在 infrastructure impact 中提及 | Continuum: 最高 8.18× 延迟下降 [2511.02230] | SGH 的 multi-ready 并发会 amplify serving 需求,但未考虑与 KV cache 管理的交互 |
| 动态工作流支持 | 不支持——静态 DAG 假设 [2604.11378] | PBKV: 显式处理条件分支和重试循环 [2605.06472] | SGH 在 PBKV 证明最有价值的场景(动态工作流)上完全不适用 |
| CPU 瓶颈 | 未讨论 | 2511.00739: CPU 占 E2E 延迟 88% [2511.00739] | SGH 关注 DAG scheduling 但忽略了实测中的主导瓶颈 |
核心矛盾:Agent Loop "不够用" vs "已经很好用"
SGH 声称 Agent Loop ($|\mathcal{U}|=1$) 有三个结构性缺陷(隐式依赖、无界 recovery、不可审计) [2604.11378]。但 Claude Code 的源码分析表明,最成功的 coding agent 正是一个 ReAct loop,其价值的 98.4% 来自确定性基础设施(permission、compaction、persistence),而非执行结构 [2604.14228]。Continuum 进一步证明,在不改变 $|\mathcal{U}|=1$ 结构的前提下,仅优化 serving 层 KV cache 管理就能获得 8.18× 加速 [2511.02230]。
矛盾根源: SGH 从 scheduler 理论出发分析 agent 系统,认为 $|\mathcal{U}|$ 是最重要的设计轴。但 Claude Code 和 Continuum 的实践表明,agent 系统的实际瓶颈往往不在 scheduling 结构,而在围绕 loop 的基础设施质量——context management、KV cache、permission system、tool execution 效率。SGH 的理论分析是正确的($|\mathcal{U}|=1$ 确实不能表达结构性并行),但其实际重要性被高估了。
SGH 估计生产级实现需要 3300–6500 LOC [2604.11378],但至今无任何 prototype。同 category 的每一篇对照论文都有实现和实验数据:
没有实验数据,SGH 的七组对照实验 protocol (G0–G6) 中的 $G_{\text{graph}}$、$G_{\text{scaffold}}$ 等分解增益永远无法验证。作者自己也承认 "所有 graph gain > 0 都是 theoretical prediction" [2604.11378]。
PBKV 显式证明了静态 DAG 假设的失败 [2605.06472]:真实 agent 工作流包含条件分支(Tester 失败触发重试循环)和运行时动态路径(Retriever 根据内容生成子查询),调用序列在运行时才确定。PBKV 实测 LRU 命中率仅 27-28%,而其预测驱动策略将命中率提升至 69%——这个提升完全来自处理动态性的能力。
SGH 将动态图排除在设计空间之外(因为 "audit trail 变成移动目标" [2604.11378]),但 PBKV 通过工作流生命周期追踪 + 评分堆维护 [2605.06472] 实现了对动态工作流的有效管理,且提供了 Lipschitz 退化保证。SGH 牺牲了表达力来换取形式化保证,但 PBKV 表明这种牺牲可能不必要——可以在拥抱动态性的同时提供形式化界。
SGH 的核心论点是:Agent Loop 的 $|\mathcal{U}|=1$ 结构性限制只有通过显式 DAG 才能突破 [2604.11378]。但 PASTE 在不引入任何 DAG 的情况下,通过投机执行实现了 tool 和 LLM 的时间重叠,将 tool stall 减少 67%,overlap 提升 10× [2603.18897]。
PASTE 的方法论上仍是 $|\mathcal{U}|=1$(agent 的 ReAct loop 未改变),但通过旁路的 pattern-based speculation 在 serving 层实现了事实上的并行。SGH 的 scheduler 框架无法描述这种"执行结构不变但执行时机重叠"的优化——这是框架本身的盲区。
SGH 坦承 contract validation 的 $\Pr[\text{all correct}] \ge \prod_v p_v$ 会导致 10 节点链仅有 60% 正确率(当每节点 $p_v=0.95$) [2604.11378]。SideQuest 的实测数据提供了有趣的对照:LLM 做语义 eviction 判断的精度损失仅 2-5% [2602.22603],且 non-completion rate 与 uncompressed baseline 同量级,远优于启发式方法的 60%+ 崩溃率 [2602.22603]。
这表明 LLM 做 semantic judgment 可能比 SGH 假设的更可靠——但前提是任务足够受限(SideQuest 只判断 "tool response 是否过期")。SGH 的 validation gap 分析方向正确(诚实公开失败概率是好的),但其悲观估计可能过度——特别是 SideQuest 表明即使 syntactic check 不完美,LLM-based semantic check 在受控场景下也有很高正确率。
2511.00739 的实测数据显示 CPU 工具执行占 E2E 延迟最高 88% [2511.00739],且 GPU 越强瓶颈越快转向 CPU(Toolformer 推理占比从 88% 降至 77%) [2511.00739]。SGH 的整个框架关注 agent 执行的调度结构,但如果 88% 的时间在 CPU 工具执行上,DAG scheduling 只能优化剩余 12% 的排布——收益上限极低。
PASTE 精准地打击了这个瓶颈:它不改变 scheduling 结构,而是通过投机执行将 tool 工作与 LLM 思考重叠,直接减少 tool stall [2603.18897]。COMB/MAS 则从 CPU-GPU 微批调度角度解决同一问题 [2511.00739]。SGH 的 multi-ready 并发调度在理论上可以并行执行多个 tool call,但这恰恰会放大 CPU 瓶颈——多个并行工具同时争夺 CPU 资源,正是 2511.00739 揭示的 core over-subscription 问题。
SGH 占据 agent category 中独特的 理论/分类学 生态位。它不与任何实用系统直接竞争,而是试图提供一种跨系统的比较语言。$|\mathcal{U}|$ 连续谱是一个有分析力的概念工具,但 SGH 的规定性设计(静态 DAG + 三级 recovery)在当前 agent 生态中缺乏采用证据。
SGH 提出的 "agent 执行 = scheduler 问题" 这一 reframing 具有范式转移潜力——它让经典 DAG scheduling 半个世纪的积累(HEFT、critical path、Kahn 拓扑排序)可以被复用 [2604.11378]。但同期论文的实践表明,当前生态正在走另一条路:
SGH 的规定性 DAG 路径目前没有追随者。最接近的实际系统是 Airflow/Prefect,但它们缺乏 LLM-aware 能力 [2604.11378]。
SGH 将 $|\mathcal{U}|$ 视为静态设计选择,但一个更有弹性的系统可以在运行时动态切换:exploratory 阶段用 $|\mathcal{U}|=1$(ReAct loop,灵活应对未知),exploit 阶段切换到 $|\mathcal{U}|\ge 1$(DAG 并行,高效执行已知步骤)。切换信号可以来自 PBKV 的预测器——当预测精度 $>$ 阈值时启用 graph mode,否则回退到 loop [2605.06472]。这消除了 SGH "任务依赖必须 upfront 枚举" 的最大约束 [2604.11378]。
SGH 的 multi-ready 并发节点天然需要多个 LLM 请求同时活跃。将 SGH 的 DAG 拓扑信息传递给 serving 层,可以让 SAGA 的 WA-LRU [2605.00528] 或 Continuum 的 TTL [2511.02230] 精确预测哪些 KV cache 需要保留。SGH 的 plan version 可以作为 SAGA Agent Execution Graph 的 high-quality 结构化输入,替代 SAGA 的 87% 准确率模式推断 [2605.00528]。
结合 PASTE 的 Pattern Tuple 机制 [2603.18897] 和 SGH 的 DAG 规划:planner 生成初始 DAG,但 runtime 通过 pattern-based speculation 预测性地 fork 出 speculative 分支。命中时 promote 为正式节点,未命中时 discard。这保留了 SGH 的 auditability(正式 DAG 不变)同时获得了 PASTE 的延迟收益(speculative overlap)。关键挑战是 speculation 分支的 side-effect 管理——PASTE 的三级投机策略(full/dry_run/warm-up)可以直接复用 [2603.18897]。
SGH 的 DAG 调度器可以集成 2511.00739 的 CPU 瓶颈感知 [2511.00739]:每个 DAG 节点标注预期的 CPU/GPU 资源需求,scheduler 的 ready-set dispatch 策略考虑 CPU core availability 和 $B_{cap}$ 微批上限 [2511.00739],而不仅仅是 DAG 拓扑。这避免了 multi-ready 并行放大 CPU over-subscription 的风险。
将 CMV 的会话 DAG 版本控制 [2602.22402] 与 SGH 的执行 DAG 统一:每个 SGH 节点的 $\mathcal{C}_{\text{exec}}$ 对应一个 CMV snapshot,plan version 切换时自动 branch。这可以将 SGH 的 context isolation($\mathcal{C}_{\text{exec}} \cap \mathcal{C}_{\text{diag}} = \emptyset$)[2604.11378] 与 CMV 的 structurally lossless trimming 结合——每个节点只保留需要的 context,tool output 按 CMV 的三遍算法裁剪 [2602.22402],在 DAG 级别实现精确的 token 预算控制。