STREAMMA:上游每步一生成就转发,多智能体推理又准又快

一句话概括:STREAMMA 把多智能体之间的传输单位从「完整回复」细化到「单个推理步骤」,上游每生成一步就立即转发;结果不但更快,而且更准。这不是经验巧合,而是一组闭式定理刻画出来的必然结果。 STREAMMA STREAMMA STREAMMA

为什么要等上游「全部说完」才开始下一步?

想象一条链式多智能体:Agent 1 → Agent 2 → … → Agent A。在几乎所有现有框架里,它们都遵守同一个约定:上游把整段回复生成完,才把这段回复交给下游。这个约定叫「先生成、后传输」(generate-then-transfer),论文把它对应的执行方式叫 Serial(串行)。

Serial 的代码只有一行值得记住。Algorithm 1 的核心是:

msg ← LLM(ctx_a)        ▷ wait; complete output

这一行是阻塞调用:它要等到整个响应全部生成完才返回。在它返回之前,下游 Agent 什么都做不了。

STREAMMA 提出的替代方案叫 Stream(流式)。它的关键改动是把 LLM(ctx_a) 换成 LLM(ctx_a, stream=True),让模型逐步吐出推理步骤,然后每完成一个步骤就立刻推给下游:

for each step from steps do
  if a < A then
    queue_{a+1}.put(step)     ▷ push; no wait

一个 queue.put,没有等待。所有智能体并发运行,于是 Agent_{a+1} 可以在 Agent_a 还在生成第 s+1 步的时候就开始处理第 s 步。这就是流水线并行(pipeline parallelism)。

需要把两个尺度分清。单条链里 queue_a 在传递步骤;所有链上就构成一条 A 级流水线,Agent 是工位,推理步骤是在工位间流动的活件。工位之间不再等整批活件做完才交接。

看下面这张图,你要在 10 秒内看出「等待」发生在哪里、省下来的时间从哪里来:

Serial 与 Stream 的执行时序对比

图注:上下两张时序图。(a) Serial 协议里,三个智能体 A¹/A²/A³ 的执行块严格首尾相接,前一个全部跑完后下一个才开始,中间那段空白就是等待;整段耗时标为 T_serial。(b) Stream 协议里,每个推理步骤独立生成并立即转发给下一个智能体的同序号步骤,形成阶梯状流水线;底部的红色虚线就是 Time Saved(省下的时间)。这张图只说明时序差异,T_stream 与 T_serial 的长度比不是定量的加速比。STREAMMA

那么 Stream 的改动到底有多大?答案可能超出预期:就代码而言,它与 Serial 只差三处,LLM 调用改成流式、每个步骤立即入队、以及把已生成的步骤追加回自己的上下文以便复用 KV-cache。论文反复强调,两种模式的提示词几乎相同,Stream 只在下游智能体的系统提示词里追加一行 END_STEP 边界、并为根智能体加一段简短的求解器前言。换句话说,它换掉的不是「传什么」,而是「什么时候传」。

把 STREAMMA 放到「流式 LLM」这条谱系里,位置会更清楚。下面这张图来自 Tong 等人的流式 LLM 综述:

流式 LLM 的三档分类

图注:横排三栏,每栏是一个 LLM 在时间轴上的输入(蓝块)与输出(橙块)。(左) Output-streaming:输入一次性全部到达,之后再逐 token 流式输出;(中) Sequential-streaming:输入逐段到达,等输入全部到齐才生成;(右) Concurrent-streaming:边读边写、输入输出在时间轴上交错。需要特别提醒:这张图的轴是单个 LLM 内部的数据流方向,不是智能体之间的通信协议轴。STREAMMA 采用的粒度是 step-level,指的是「智能体之间」传递推理步骤。Streaming LLM Survey

沿这条谱系,token 级有人做过(投机解码),block 级有人做过(骨架展开),完整响应级也一直是主流(AutoGen、MetaGPT 这一类框架),唯独「智能体之间的推理步骤级」是空的。STREAMMA 填的就是这一档。

这一章最后交代 Serial 的第二个代价,它是后面全部理论的伏笔:Serial 让下游以完整响应为条件,包括其中容易出错的后期步骤。下游没有选择,它只能把可靠的开头和可疑的结尾一起吞下去。等待之外,还有污染。

只拿到上游的早期步骤,下游为什么反而答得更准?

论文最反直觉的一句话在这里:在多步推理任务上,接收更少的上下文反而能提升下游的推理质量。

要理解这句话,先接受一个前提:多步推理里,步骤的质量并不是沿位置均匀分布的。论文在 GPQA-Diamond 上跑了一个两智能体链(Agent 1 → Agent 2,S = 8 步),用 LLM-as-judge 把 Agent 1 的每一步二值化(正确记 1,错误记 0),得到下面这条轨迹:

GPQA-Diamond 案例:Agent 1 的步骤级正确性剖面

图注:这是定理 1 情形 I.b 的真实案例。(a) 子图给出 Agent 1 的步骤级正确性:第 1–2 步正确(✓),从第 3 步起一路错误到第 8 步(×),整条轨迹是典型的「前高后零」。(b) 子图用三个加权均值给这次运行定量:均匀均值 p̄ = 0.25,头加权均值 p_head ≈ 0.42,尾加权均值 p_tail ≈ 0.04。于是 p_head ≫ p_tail,剖面呈「头强尾弱」(head-strong, tail-weak)形状,落到定理 1 的 Stream 优势区。

三个数字值得停下来看。p̄ 只有 0.25,说明平均而言这次回复是不可信的;但 p_head 有 0.42,说明开头两步是可靠的。这个不对称正是故事的全部。

在 Serial 里,Agent 2 只看到 Agent 1 的完整输出,于是它继承了错误的尾部,返回错误答案。在 Stream 里,Agent 2 在步骤 2 就拿到了可靠的头部,在上游还在继续犯错的这段时间里,它已经基于这个前缀形成了自己独立的推理轨迹。等到退化的后期步骤到达,它们的影响已经被稀释。同一个上游、不同的到达时机,一个答错、一个答对。

机制上,Stream 凭什么能在上游还在算的时候起跑?看 Algorithm 2 的四行灰色注释,那就是全部答案:

Stream Execution 伪代码

图注:Algorithm 2 的流式执行伪代码。四行灰色注释标出四个动作锚点:all agents concurrent(所有智能体并发)、yield step-by-step(逐步产出)、push; no wait(推送但不等待)、KV cache reuse(追加的步骤自然形成可复用的 KV-cache 前缀)。实现「不等」只需要一次 queue_{a+1}.put(step),机制上并不复杂。STREAMMA

「步数越多越好」这个直觉本身也站不住。Wu 等人在 2025 年的一项独立研究里,用受控实验测过 Chain-of-Thought 长度与准确率的关系:

CoT 准确率随步数的倒 U 曲线

图注:(a) 子图中,一个 6 层 GPT-2 模型在算术任务上,准确率随 CoT 步数呈现倒 U 形——先升后降,存在一个最优长度;任务越难,峰值越靠右。(b) 子图中,在 LeetCode-2K 上用 GRPO 训练 Qwen2.5-7B-Instruct 时,随着训练推进和准确率提高,模型生成的 CoT 平均长度反而下降。这张图说明的是「推理步数并非越多越好」这一现象有独立的控制实验支撑;它是现象学前提,不是定理 1 的证据,数据来自 6 层 GPT-2 而非 STREAMMA 使用的前沿 backbone。When More is Less

把这一章收成一句:少给下游一些上下文之所以不是损失,是因为多步推理的收益并非均匀分布,早期步骤的边际价值远高于后期步骤。「上下文何时到达」比「上下文到达多少」更重要,而这个变量正是 Stream 唯一改变的东西。

流式一定更好吗?Theorem 1 把它拆成六种情形

上一章给了一个案例,这一章要把它变成判据。论文的做法很干净:给上游每一步建模。

设上游第 j 个步骤正确的概率是 $p_j$。一个正确的步骤把下游的步骤级正确性抬高 $\delta > 0$,一个错误的步骤把它压低 $\varepsilon > 0$。那么第 j 步带来的期望变化是

$$\mu_j = p_j \cdot \delta - (1 - p_j) \cdot \varepsilon$$

这个量什么时候非负?解不等式得到临界阈值

$$p^* \triangleq \frac{\varepsilon}{\delta + \varepsilon}$$

当且仅当 $p_j \ge p^$ 时 $\mu_j \ge 0$。p 的含义很直白:一步要「帮得上忙」,它的正确率必须跨过这条线;跨不过去,它就是在帮倒忙。

接下来是三种协议唯一真正的区别。预测下游第 s 步时,它们能看到的上下游上下文完全不同:Single 什么都看不到;Stream 看到的是上游的前缀(步骤 1 到 s);Serial 看到的是上游的全部 S 步。把 $\mu_j$ 在各自能看到的位置上求平均,就得到三个模式的 sCorr(平均步骤级正确性,与任务级准确率正相关)之差。论文在附录里把三个差值化简成极简形式,符号分别由三个加权均值决定:

  • 头加权均值 $p_{\text{head}}$(越早的步骤权重越大)决定 Stream 相对 Single 的增益符号;
  • 均匀均值 $\bar{p}$ 决定 Serial 相对 Single 的增益符号;
  • 尾加权均值 $p_{\text{tail}}$(越晚的步骤权重越大)决定 Serial 相对 Stream 的增益符号。

于是六种排序不需要死记,它由「头、均值、尾各自落在 p* 的哪一侧」自然决定:

定理 1 的六种典型步骤正确性剖面

图注:2 行 × 3 列共六个面板,每个面板横轴是步骤序号 j、纵轴是该步正确率 p_j,水平虚线是阈值 p*。三列对应三种优势区制:左列 Stream 优势(I.a / I.b)、中列 Serial 优势(II.a / II.b)、右列 Single 优势(III.a / III.b)。曲线在 p* 上方的一段标绿勾、下方的一段标红叉,每个面板下有形如「(I.a) p_head > p*, p_tail < p*」的条件标签。面板里的剖面是教学化的代表形状,真实轨迹不必长这样。STREAMMA

逐个走一遍,重点是左列。

情形 I:Stream 优势,条件是 p_head > p* 且 p_tail < p*,也就是「开头可靠、结尾拉胯」。

  • I.a(p̄ > p)**:剖面起点高,后期跌到 p 以下。平均值仍在 p* 之上,说明完整响应整体还是有帮助的,所以 Serial 仍胜过 Single;但 Stream 从可靠前缀起跑、稀释了后期错误,排在 Serial 之前。排序是 Stream > Serial > Single。
  • I.b(p̄ < p)**:平均值已经被后期步骤拖到 p 以下。此时完整响应对下游是净负担,Serial 累积了这些负担、输给完全不受影响的 Single;而 Stream 只暴露可靠的开头,反而赢过 Single。排序是 Stream > Single > Serial。前面 GPQA-Diamond 那一幕就是这一支。

情形 II:Serial 优势,条件是 p̄ > p* 且 p_tail > p*,此时「信息越多越好」真的成立。

  • II.a(p_head > p)**:每一步都在 p 之上,上下文越多越有用。Serial 看到全部,赢最多;Stream 看到部分但有帮助,胜过 Single。排序是 Serial > Stream > Single。
  • II.b(p_head < p)**:早期步骤有害,但后期足够准确,把均值拉过了 p。这正是自我纠错的画像:上游一开始想错了,后来自己纠正回来。Serial 让下游看到完整的「犯错 + 纠正」过程而获益;Stream 迫使下游从有害前缀起跑,等到可靠步骤到达时错误已经塑造了它的推理,于是 Stream 垫底。排序是 Serial > Single > Stream。

情形 III:Single 优势,条件是 p_head < p* 且 p̄ < p*,也就是上游整体都在帮倒忙。

  • III.a(p_tail < p)**:难到所有步骤都跌到 p 以下。Single 完全不受污染,最高;Stream 在上游还没说完就起跑,多少稀释了一点危害;Serial 一次性看到全部,垫底。排序是 Single > Stream > Serial。
  • III.b(p_tail > p)**:后期可靠但早期有害,均值仍低于 p。Single 依然最高;Stream 被迫从有害前缀起跑,垫底。论文指出这一情形罕见,因为严重损坏的前缀留下的可靠步骤太少,很难把 p_tail 抬到 p* 以上。

这六种情形里,I.a 与 I.b 对应的是多步推理中最著名的误差累积效应,也是实验中观察最频繁的区制。II.b 刻画自我纠错。III.a 与 III.b 罕见。所以「Stream 常赢」是一个经验频率结论,不是「Stream 普遍最优」——这个区分很重要,等最后一章会看到它的用处。

「头尾不对称」不只是修辞。论文做了一个受控扰动实验:固定 Agent 1 的输出,只改变哪一步被扰动,再看 Agent 2 在两种协议下的准确率。

步骤级扰动实验:头尾不对称

图注:Agent 1 → Agent 2 链,S = 4,共 6 个代表性 4 位掩码,每格为 100 次运行的平均。上半部分是尾部扰动:只污染最后一个、最后两个、最后三个步骤时,Stream 分别领先 Serial +24.0 / +19.0 / +5.0 个百分点,且优势随被污染的尾部变长而单调缩小,与 p_tail 下降时的预测衰减一致。下半部分是头部扰动:只污染第一个、前两个、前三个步骤时,Serial 分别领先 −34.0 / −36.0 / −33.0 个百分点,Stream 被有害前缀困住。镜像配对把差距从 +24.0 直接翻转为 −34.0,头尾不对称在此暴露无遗。

加速从哪来,又被什么压住?Theorem 2 的上界与 AS/(S+A−1)

准确率的账讲完了,来算时间的账。

先看一个朴素的估计。Serial 是 A 段整段串起来;Stream 是「第一步仍要串行走过 A 个智能体,其余 S − 1 步只需要等最慢的那个智能体」。把这两句话写成比例,加速比天然带一个形状:

$$\frac{AS}{S + A - 1}$$

分子是理想工作量,分母多出来的那一项就是流水线的启停开销。A 是流水线深度,S 是每个工位的活件数。S 一大,启停开销就被摊薄,加速比趋近 A。这个形状对做系统的人不陌生。

论文给出的 Theorem 2 是一般形式:

$$\text{Speedup} = \frac{A \left[(S + r_{po}) r_{vdp} + S\right]}{(S + A - 1)\left(1 + \alpha r_{vdp} + \beta r_{vdc}\right)}$$

涉及的量依次是:

符号含义
$r_{vdp}$解码速度与预填充速度之比(decode-to-prefill)
$r_{vdc}$解码速度与缓存读取速度之比(decode-to-cache-read)
$r_{po}$系统提示词长度与每步输出长度之比
$\alpha$每个输出 token 背后平均有多少未缓存的上下文 token
$\beta$每个输出 token 背后平均有多少已缓存的上下文 token

从一般形式化简到 $AS/(S+A-1)$,需要三个条件依次成立,每一个都对应一条现实前提:

  1. 缓存读取远快于解码($v_c \gg v_d$,即 $r_{vdc} \approx 0$):分母里的 $\beta r_{vdc}$ 项可以忽略。
  2. 未缓存占比极低($\alpha r_{vdp} \approx 0$):在前缀缓存且系统提示词远短于每步输出($r_{po} \ll S$)时,$\alpha$ 约为 $1/A$,这一项也可忽略。
  3. 预填充远快于解码($r_{vdp} \approx 0$):分子里的 $(S + r_{po}) r_{vdp}$ 项可以忽略。

三个条件都满足,剩下的就是 $AS/(S+A-1)$。

这个形状在分布式训练的流水线并行里出现过。Megatron-LM 在推导 GPipe 调度的气泡时间时给出分数 $(p-1)/m$,其中 p 是流水线级数、m 是每批的 microbatch 数。 GPipe

GPipe 流水线调度的气泡

图注:GPipe 流水线调度图。四行是流水线阶段 F_1 到 F_4,横轴是时间。每行先填蓝色的前向方块、再填绿色的后向方块,编号是 microbatch 的 id;调度起点与终点各有两片灰色空洞,那是流水线气泡——阶段在这段时间里空闲。把级数 p 换成智能体数 A、把 microbatch 数 m 换成每智能体步数 S,就是 STREAMMA 的 AS/(S+A−1)。需要注意:这是 GPipe 的经典图,不是 STREAMMA 自己的加速比结果,AS/(S+A−1) 这个写法是 STREAMMA 在本设定下的重写。Megatron-LM

那三个条件是不是空想?不是。以 vLLM 为代表的服务栈让「缓存读取 ≫ 预填充 ≫ 解码」在工程上趋于成立(论文把 $v_c \gg v_p \gg v_d$ 作为化简前提,具体倍数需以实际部署数据为准):请求的 KV cache 按固定大小的 block 管理,逻辑块通过一张 block table 映射到物理块,新请求的 prompt 可以直接复用别人已经填好的物理块。

vLLM 的逻辑块到物理块映射

图注:vLLM 的 block table 翻译示意。左侧是逻辑 KV 块(含 token slot 与已填计数),中间是逻辑块到物理块的映射表,右侧是 GPU 显存里物理上并不连续的物理块。核心信息是:逻辑连续不等于物理连续,因此前缀可以在请求之间被共享,「复用」发生在 block 一级。这张图只说明复用的机制,不代表 vLLM 默认开启了前缀缓存(那是后续版本的能力)。vLLM

给两个数收尾。用 Claude Opus 4.6 的实际服务速度(解码约 39 tokens/s、预填充约 6000 tokens/s)代入,取 A = S = 4,在完全前缀缓存下,延迟加速比上界约为 2.30×。有意思的是这个上界对缓存命中率并不敏感:同样的设定在零缓存下算出 2.25×,与 2.30× 几乎相同。原因就在化简链里,决定这个数量级的是「预填充远快于解码」,不是缓存本身——缓存影响的是成本,那是下一章的事。

这一章要带走的判断是:流式的加速不是「省了通信」,而是把 A 段串行换成了 A 级流水线。上界的形式是经典的,真正需要工程去保证的只有一条,缓存读取远快于预填充。

快是快了,账也更便宜吗?Theorem 3 与步骤级缩放律

加速是延迟的事,成本是另一笔账。直觉上 Stream 更贵:它把每个下游智能体的一次调用拆成 S 次调用,看上去增加了开销。这个直觉对了一半。

Theorem 3 给出 Stream 相对 Serial 的成本比:

$$\frac{\text{Cost}{\text{stream}}}{\text{Cost}{\text{serial}}} = \rho \cdot \frac{r_{cpd}(\alpha + r_{ccp}\beta) + 1}{r_{cpd}(1 + r_{po}/S) + 1}$$

其中 $\rho$ 是两种模式下总输出长度之比,$r_{cpd}$ 是预填充与解码的价格比,$r_{ccp}$ 是缓存读取与预填充的价格比,$\alpha$、$\beta$ 沿用上一章的定义。关键在两个价格关系:预填充价格 $c_p$ 远低于解码价格 $c_d$,缓存读取价格 $c_c$ 又远低于 $c_p$。

代入论文采用的 Claude Opus 4.6 定价(论文按其 token 价预填充 $5 / MTok、解码 $25 / MTok、缓存读取 $0.50 / MTok 建模,模型名以原文为准),取 A = S = 4 且完整前缀缓存,当输出长度相近($\rho \approx 1$)时,成本比约为 0.925,Stream 比 Serial 便宜约 7.5%。

但换一个端点,结论会反过来。论文在零缓存区制(所有上下文 token 都按预填充计价)下重算,同样 $\rho \approx 1$ 时,Stream 比 Serial 贵约 37.5%。同一个协议,一端省 7.5%、一端贵 37.5%,符号翻转。差别不在协议,而全部在 KV-cache 命中率上。

这个两端对比比一个平均值有用得多。它说明 Stream 的成本竞争力押在命中率上,而命中率是随服务栈成熟而改善的量:论文引用 vLLM、SGLang 以及近期的 agentic 缓存扩展作为把命中率推向接近完整缓存的工程依据。论文据此主张:在靠近完整缓存的命中率下,7.5% 的节省在当前服务栈上可达,而非理想化上界——其可达性取决于实际部署的命中率。

成本账之外,还有一张更能说明问题的图。论文在 HMMT2026 上扫了 N ∈ {1, 4, 16} 条并行链副本并做多数投票:

成本-准确率 Pareto 前沿

图注:横轴是每题成本(美元,对数刻度),纵轴是准确率(%)。黑线是 Serial × N,红线是 Stream × N,实线与虚线分别是零缓存(h = 0)和完全缓存(h = 1),两线之间被浅红阴影填充。两点最关键:Stream × 4(约 $2.75、90.9%)严格支配 Serial × 16(约 $5.46、89.4%),以一半成本取得更高准确率,尽管 Serial 多跑了 4 倍副本;缓存带把每个 Stream 点向左压缩最多约 1.7× 而不掉准确率(Stream × 4 在固定 90.9% 下从 $2.75 降到 $1.61)。不做投票(N = 1)时 Stream 依然严格支配 Serial,说明优势来自协议本身,不是投票放大。

这一章还有一条独立的发现。论文在 HMMT2026 上扫描 A ∈ {2, 4, 8, 16, 32, 64} 与 S ∈ {2, 4, 8, 16, 32, 64, auto}:

步骤级缩放律:加速比与准确率随 S 的变化

图注:左图是加速比随 S 的变化,实线是实测、虚线是定理 2 的理论上界 AS/(S+A−1),三种颜色对应 A = 4、16、64。三条实线随 S 增大而上升,整体跟随虚线的形状;在 A = 64、S = 64 的角点,实测加速比达到 26.9×,是理论界 32.3× 的 83%,差距来自实际 $r_{vdp} > 0$ 而该界假设 $r_{vdp} \to 0$。右图是 (A, S) 网格上的准确率热力图:右侧 avg 列复现了已知的智能体数量缩放,顶部 avg 行在 S 上近乎单调,即在固定 A 时步数越多准确率越高。A = 64 时,S = auto 为 68.2%,把 S 提到 64 则到 73.5%。注意 S = auto 在所有 A 下都明显低于大 S,因为 LLM 不会自主放大自己的步数,大 S 区制必须通过提示词显式解锁。

这就是论文命名的步骤级缩放律:在智能体数量 A 固定时,增加每个智能体的推理步数 S 能同时提升有效性与加速比。它是一条此前没有人拧过的旋钮。

为什么说它是「新」的?因为 A 轴缩放早就有人独立观察到了。

集成规模与准确率的缩放

图注:横轴是集成规模(ensemble size,从 1 逐渐增到几十),纵轴是准确率,多条曲线对应不同任务(GSM8K、MATH、Chess、MMLU、HumanEval)与不同模型(Llama2-13B、Llama2-70B、GPT-3.5-Turbo),整体呈单调上升趋势,带标准误差棒。这张图说明「沿 A 轴缩放能提升准确率」早有独立证据;它不含成本或延迟信息,不能从中推断更快或更省。还需要一句限定:这里的「agent」指的是一条独立的采样轨迹,与 STREAMMA 里作为 DAG 节点的智能体不是同一个概念。More Agents Is All You Need

所以两条轴的关系是:A 轴是已知的,S 轴是新的,二者正交且可叠加。在 A = 64 的角点上,仅把 S 从 auto 提到 64 就带来从 68.2% 到 73.5% 的提升,同时伴随 26.9× 的加速。Stream 在同等预算下把成本-准确率曲线整体推高,还额外给出一个可以单独拧的旋钮。

什么时候不该用它?把定理当协议选择器

到了收尾,最该带回会议室的东西不是「流式更快」。论文在 Limitation 里说得很直白:流式协议并非在所有步骤正确性剖面上都普遍最优。这句话如果只当作免责声明读,就浪费了定理。换一个方向读,它是一把选择器。

Theorem 1 精确给出了每种协议可证明最优的条件,拿到目标任务的步骤正确性剖面,就能查表:

p_head 与 p*p̄ 与 p*p_tail 与 p*推荐协议
>><Stream(情形 I.a)
><<Stream(情形 I.b)
>>>Serial(情形 II.a)
<>>Serial(情形 II.b,自我纠错型)
<<<Single(情形 III.a)
<<>Single(情形 III.b)

两步用法:先在线估计剖面的头、均值、尾,再对号入座。

反例能把边界钉得更实。如果剖面是「早期步骤低于 p*、后期才可靠」(情形 II.b,自我纠错型),Stream 会迫使下游从有害前缀起跑,在所有选项里垫底——这正是扰动实验里头部被污染时 Stream 落后约 35 个百分点的原因。如果所有步骤都在 p* 以下(情形 III.a),最优反而是 Single,干脆不接上游上下文。所以「Stream 常赢」是频率,不是普遍性。

适用边界还有一条是任务层面的:STREAMMA 以「步骤」为粒度做流水线,因此它适用于可进行步骤分解的任务。数学、代码、科学这些在 CoT 提示下的现代推理负载正好满足这一点。抗拒步骤分解的任务,比如开放式创意写作、单 token 分类,落在这个区制之外。论文特意说明这不是 STREAMMA 自己的约束,而是任何基于步骤的推理范式(包括 chain-of-thought 本身)共同的边界。

推广到一般拓扑也不复杂。把链式结论搬到任意 DAG,只需要三处结构性改动:把查询 Q 广播给所有源节点(入度为 0 的节点)、每个步骤推送给所有直接后继、多前驱节点在步骤到达时立即处理且不设同步屏障。定理的角色也随之平移:Theorem 2 在 DAG 上按关键路径上的智能体数 D 替换 A,因为并行分支上的智能体本就同时执行;Theorem 3 因成本可加而按智能体总数平均。论文还验证了推广到固定角色设计与外部工具调用的情形:在五种角色协议、十个 {role, backbone} 单元格上,Stream 全部优于 Serial,增益从 +0.76 到 +9.85 个百分点;在带搜索工具的 FanOutQA 上,以更低成本取得 1.17× 加速。提示词保持完全一致,唯一不同的仍然是传输时机。

最后把问题交回去。定理的输入是「已知的剖面」,但剖面在实践中需要在线估计:怎么在任务进行中判断当前的步骤正确性剖面,并据此动态决定转发时机或粒度,是这套框架留给同行最直接的一个开口。Tong 等人的综述在讨论未来方向时,也把「更多并发层级」(把感知、推理、工具使用与生成放在同一时间线上并发)列为待探索的方向。更细的粒度与更多的并发层级如何统一,这张地图还远没有画完。

参考文献

本专题引用的核心资料如下,建议深入学习时阅读原文:

  1. Streaming Communication in Multi-Agent Reasoning — arXiv:2606.05158
  2. From Static Inference to Dynamic Interaction: A Survey of Streaming Large Language Models — arXiv:2603.04592
  3. When More is Less: Understanding Chain-of-Thought Length in LLMs — arXiv:2502.07266
  4. Efficient Memory Management for Large Language Model Serving with PagedAttention (vLLM) — arXiv:2309.06180
  5. Efficient Large-Scale Language Model Training on GPU Clusters Using Megatron-LM — arXiv:2104.04473
  6. More Agents Is All You Need — arXiv:2402.05120
STREAMMA:上游每步一生成就转发,多智能体推理又准又快