AgentPrune 论文精读:学习谁该听谁,让多智能体通信更省 token

Date 2026-10-18 · Category blog · Status finished · Confidence likely
论文解读, 大语言模型, 多智能体

多个 AI 助手一起解题,可以相互检查、补充知识,也可以相互带偏。一段回答发给三名接收者,就会分别进入三份输入;再把整轮记录交给下一轮,读取成本还会继续增加。协作有收益,但更多消息并不自动带来更好的答案。

AgentPrune 研究的就是这部分通信开销。它把多智能体系统表示成图,为候选连接学习选择偏好,再关闭一部分低分路径。它训练的主要对象是通信参数,底层大模型仍通过正常调用生成回答。

本文固定依据 2024 年 10 月的 arXiv v1,结合原论文图、教学算例和固定版本公开代码展开。实验数字来自论文报告,未独立重跑。教学算例会单独标明,原论文图均保留编号和 PDF 页码。

论文信息与阅读路线

项目 信息
题目 Cut the Crap: An Economical Communication Pipeline for LLM-based Multi-Agent Systems
方法 AgentPrune
作者 Guibin Zhang、Yanwei Yue、Zhixun Li、Sukwon Yun、Guancheng Wan、Kun Wang、Dawei Cheng、Jeffrey Xu Yu、Tianlong Chen
阅读版本 arXiv:2410.02506v1,2024-10-03,共 37 页
原文 arXiv 页面、PDF
官方代码 yanweiyue/AgentPrune
本文核对的代码 固定提交 c544dd6

先掌握三个区别,后面的方法就容易理解:

概念 含义
Agent 与连接 Agent 负责生成回答;连接决定回答传给谁
空间通信与时间通信 空间通信发生在同一轮内部;时间通信把上一轮内容传到下一轮
低秩与稀疏 低秩描述独立结构模式较少;稀疏描述非零连接较少

1. 图1与图2:为什么要减少通信

原论文图1:轮内与跨轮通信

图1,PDF 第1页。现有多智能体问题求解流程中的两类通信:Intra-dialogue communication(轮内通信)与 Inter-dialogue communication(跨轮通信)。机器人表示 Agent;黑色虚线表示轮内传递,蓝色箭头表示跨轮传递。

可以把一个 Agent 暂时理解为一段具有自己角色和上下文的模型对话。多个 Agent 可以使用同一个基础模型,但读取不同的参考信息。

一轮内部,A 的回答可以传给 B,B 再参考它作答。下一轮开始时,系统还可以把上一轮的回答、总结等交给各成员重新检查。这些轮次仍然在处理同一道题。

图中的“空间”描述 Agent 之间的连接关系,“时间”描述轮次之间的信息传递。地图是示意背景,不需要理解成真实地理部署。

原论文图2:通信收益、开销与剪枝思路

图2,PDF 第2页。左侧比较 MMLU 准确率,中间比较准确率与输入 token,右侧展示一次性剪枝思路。左侧使用 GPT-3.5-turbo,中间标注使用 GPT-4-1106-preview,两部分需要分别阅读。

图2的逻辑从左到右展开:协作可以提高答题表现,但较好的表现可能伴随大量输入 token;因此,需要判断哪些交流值得保留。

例如,一段 500 token 的回答发送给三名接收者,三个模型输入各读取一次,就贡献约 1500 个通信输入 token。若下一轮继续读取这段历史,开销还会增加。这里重复的是接收方的读取,不是发送方必须生成三次回答。

图2左下的三种方法都涉及跨轮信息利用:

方法 如何利用上一轮信息
LLM-Debate 每名 Agent 阅读上一轮所有 Agent 的输出,再更新回答
PHP Progressive-Hint Prompting;本文将每轮形成的决策作为下一轮所有 Agent 的提示
DyLAN Dynamic LLM-Agent Network;通过评分机制筛掉低质量输出,减少后续传递

这些定义按本文附录 G.1.2 的适配方式理解。尤其是 PHP,其原始迭代提示方法在这里被改编到多智能体协作中。

2. 图3:原来的通信真的有冗余吗

原论文图3:随机剪枝比例与MMLU表现

图3,PDF 第4页。四个 GPT-3.5 Agent 在 MMLU 上的动机实验。左为空间连接随机剪枝,右为时间连接随机剪枝;横轴是删除比例,纵轴是准确率。

作者先做了一个直接的检查:从密集空间结构或 LLM-Debate 时间结构里,随机删掉部分连接,看看表现会怎样。

图中一些较小剪枝比例仍能保持或提高表现,而较大的剪枝比例会损害效果。这提示原结构中存在可删减的通信,也说明删边需要选择。

论文把通信冗余定义为:能够找到一个使用相同节点、连接更少的子图,其任务效用不低于原图。研究目标是在允许的效果变化范围内,尽量减少通信连接。这个定义描述了所追求的性质,具体系统是否具备这种子图,需要实验支持。

3. 怎样把“谁参考谁”写成程序

论文用空间邻接矩阵 和时间邻接矩阵 记录候选连接。某个位置为 1,表示该连接允许存在;为 0,表示原结构没有这条连接。

  • 空间边:A 本轮的输出进入 B 本轮的输入。
  • 时间边:A 上一轮的输出进入 B 本轮的输入。

所谓“传消息”,通常就是把相应回答拼进接收者的提示词。下面是教学伪代码:

parts = [question]
for sender in selected_current_round_sources:
    parts.append(sender.current_answer)
for sender in selected_previous_round_sources:
    parts.append(sender.previous_answer)
answer = call_model(role_prompt, join_text(parts))

关闭 A 到 B 的某条连接,就是不再把 A 的相应内容加入 B 的这次输入。A、B 仍然可以运行。不同 Agent 类也可能对参考内容作专门处理,不能假定所有角色都逐字读取完整原始回答。

同轮调用还要满足依赖顺序。如果 A 等待 B 本轮的输出,B 又等待 A 本轮的输出,就无法开始。因此,实际执行的空间图需要是有向无环图 DAG,并按拓扑顺序调用。附录展示的剪枝后候选图可能仍有环;作者说明运行前还要使用 DAGSampling 进行无环处理。

4. 连接的重要性怎样学出来

从固定连接到可学习参数

作者为原图引入可学习掩码 ,论文式(7)为:

是对应位置相乘。原矩阵决定候选范围,掩码提供可学习的选择偏好。原来不存在的连接,对应位置仍为零。

在核对的公开代码中,可学习数值保存在 spatial_logits、temporal_logits,经过 sigmoid 转换为连接使用概率。启用优化时,默认初始概率为 0.5。

概率 0.8 表示本次以较高概率选择该连接;它不表示只发送回答内容的 80%。空间边还需通过无环检查,时间边在第一轮没有上一轮输出可用。

抽取结构、运行团队、获得奖励

学习过程反复执行:抽取连接组合,运行 Agent 团队,评价最终答案,再更新连接参数。

以公开 MMLU 训练路径为例,训练题有标准答案。单个样本答对时奖励为 1,答错时为 0。程序同时记录本次连接选择的对数概率 log_prob。

由于答案评价和模型 API 调用通常无法沿完整链路直接反向传播,作者使用策略梯度。公开训练代码的核心损失是:

这里 是任务奖励, 是本次采样的通信结构, 是当前参数下相应选择的概率。代码对一批样本的损失取平均,再用 Adam 更新两组 logits。

loss = -log_prob * reward
loss.backward()
optimizer.step()

例如,某次使用 A → C、未使用 A → B,最终答对了。仅看该样本的奖励项,它倾向于提高使用 A → C 的概率,并降低使用 A → B 的概率。答错且奖励为 0 时,该样本奖励项不提供梯度;同批其他样本、优化器状态等仍可能影响参数更新。

这种学习利用的是整个团队的结果,单次成功不能证明某条边的独立因果贡献。需要多次采样与反馈,才能积累连接选择的偏好。

来源:Graph 参数与采样实现、MMLU 训练实现。

5. 低秩约束:用小表格理解数学含义

论文不仅追求较高任务效用,还希望图掩码具有较低的秩,并限制它与原邻接矩阵的差异。这里约束的是连接权重表,而不是 Agent 回答的文字。

秩衡量独立模式的数量

下面是一个教学用的时间连接权重表:

上一轮发送者/本轮接收者 A B C
A 0.9 0.6 0.3
B 0.9 0.6 0.3
C 0.9 0.6 0.3

三行都采用同一个模式,只需要保存一行再重复三次,所以矩阵的秩为 1。如果其他行只是这一行的倍数,秩也仍为 1。

再看另一个矩阵:

三行无法由其中其他行通过乘倍数、相加得到,需要三个独立模式,秩为 3。连接模式相同,不代表不同 Agent 生成的回答相同。

低秩约束因此可以理解为一种结构偏好:在任务表现等条件约束下,尽量让权重表呈现较少的独立模式。作者希望它能抑制冗余、噪声和恶意消息的影响,但低秩本身不能识别消息真假。

为什么用核范数替代秩

秩不容易直接优化。看这个教学矩阵:

只要 还大于零,第二个独立模式就仍然存在。即使从 1 降到 0.001,秩还是 2;直到变成零,秩才降为 1。

秩 核范数
1 2 2
0.1 2 1.1
0.001 2 1.001
0 1 1

核范数是奇异值之和。可以把奇异值直观理解为矩阵各个独立基础模式的强度。对这个特殊的对角矩阵,奇异值就是 1 和 ,因此核范数为 。第二个模式每减弱一点,这个指标就随之下降,更方便进行优化。

一般矩阵的核范数需要通过奇异值计算,并不是把表格中所有数字直接相加。它能鼓励低秩结构,但核范数减小也可能只是整体权重缩小,并不保证每次减小都会降低秩。

怎样限制对原结构的改动

论文式(11)还有约束:

Frobenius 范数的计算是:各位置对应相减,把差值平方后相加,再开平方。 限制这种总体差异,避免仅为降低复杂度就无限偏离原结构。

低秩也不等于连接少。前面三行相同的表秩为 1,却有 9 个非零元素;三阶单位矩阵秩为 3,却只有 3 个非零元素。真正关闭连接的是下一步剪枝。

6. 图4:怎样一次性剪枝并继续讨论

原论文图4:AgentPrune方法概览

图4,PDF 第5页。左侧是原通信结构,右侧是剪枝后的示例;上半部分减少轮内路径,下半部分减少传入下一轮的历史。图中答案用于说明流程,不应把单个解题示例当作效果证明。

学到分数后,作者按预设剪枝比例,关闭低分连接。最终得到二值开关表 ,再与原邻接矩阵对应相乘。

下面是教学例子,分数不来自实验。假设六条连接删除一半:

连接 示例分数 结果
A → C 0.92 保留
B → C 0.85 保留
C → 汇总者 0.81 保留
B → 汇总者 0.30 关闭
A → 汇总者 0.20 关闭
A → B 0.10 关闭

这时 A、B 先分别思考,C 综合两者,汇总者参考 C。所有成员仍参与工作,只是输入关系发生改变。

剪枝依据排名,而不是统一规定“低于 0.5 全部删除”。剪多少由比例控制,学习主要决定优先剪哪些。一次未被采样的边,后续仍可能使用;正式被 mask 设为 0 的边,则被禁用。

论文所谓“一次性”,指短暂学习后一次确定剪枝结果,随后固定稀疏结构继续多轮讨论。例如总共讨论 10 轮,用前 2 轮学习,再用剪枝后的结构完成余下 8 轮。固定的是连接安排,回答内容仍会继续变化。

图4底部的 token 怎样计算

左侧 Answer 1 长 378 token,传给三个接收者;Answer 2 长 432 token,传给两个接收者;Answer 3 长 261 token,传给一个接收者。因此轮内通信为:

右侧两条路径关闭后,轮内通信为:

后续生成内容改变,回答长度也可能改变,因此出现了 432 → 402、261 → 299。

跨轮历史原来有四段,下一轮四名 Agent 各读取一次:

剪枝后只继续传递 Answer 3 和 Conclusion:

图中所示通信部分 原结构 剪枝后
轮内通信 2259 1481
跨轮通信 5036 1944
合计 7295 3425

这组数字统计图中展示的消息传递部分,不包含完整任务的全部输入、生成输出与结构学习成本,也不是任意多轮任务都能直接套用的总账单。

7. 学习结构也花钱:怎样摊薄成本

对一道需要讨论很多轮的复杂题,可以在前少量轮次学习结构。对每题只讨论一两轮的一批简单题,论文提出多查询训练:用前少量题目学习连接,剪枝后让后面的题目复用结构。

使用方式 学习发生在哪里 结构复用在哪里
按对话轮次优化 一道复杂题的前几轮 同一道题的后续轮次
按查询优化 一批题目的前 道题 后续其他题目

复用的是“A 的回答传给 C”这样的安排,后面的每道题仍重新生成自己的回答。

以下是教学成本模型。假设原来每题需要 1000 个输入 token,其中通信消息占 800,其他输入占 200。若通信部分减少一半,每题变为 600 token。

准备处理 1000 道题,前 10 题每题尝试 3 次来学习结构,后 990 题复用结果:

阶段 原系统 使用剪枝
前10题 10,000 30,000
后990题 990,000 594,000
总输入 token 1,000,000 624,000

前期额外投入,被后续较低的通信开销覆盖。这个例子在所设条件下节省 37.6%,不是论文的实测比例。若后续复用次数太少、学习尝试太多,或剪掉的消息本来就很短,收益可能不足以覆盖前期开销。

8. 主实验:效果、成本、抗干扰与组件作用

实验设置与总体表现

作者使用六个基准:MMLU 测综合知识与推理;GSM8K、MultiArith、SVAMP、AQuA 测数学推理;HumanEval 测函数级代码生成。前两类看准确率,HumanEval 看 Pass@1,即生成一个候选程序时通过测试的成功率。

表1的多 Agent 方法使用五个 GPT-4 Agent,单 Agent 对照单列。一般推理和数学讨论 2 轮,代码任务讨论 4 轮。C、L、R 分别表示从完全图、分层图、随机图出发,时间连接初始采用全连接的 LLM-Debate 风格。

方法 MMLU GSM8K HumanEval
单模型 Vanilla 82.14 85.40 71.68
GPTSwarm 83.98 89.74 88.49
LLM-Debate 83.69 90.23 83.79
AgentPrune-C 84.72 95.62 89.38
AgentPrune-L 83.50 93.78 88.61
AgentPrune-R 83.94 95.83 90.30

表1节选,PDF 第7页,单位为百分比。

这些结果说明,剪枝配置仍有较强解题能力。不同初始图各有表现,也没有全面超过所有方法:表2中 Reflexion 的 HumanEval 为 91.40%,高于 AgentPrune-R 的 90.30%。与单模型的差距还包含多 Agent 协作等因素,不能全部归因于剪枝。

原论文图5:性能与输入token消耗

图5,PDF 第8页。三个面板分别是 MMLU、HumanEval、GSM8K;越向右任务表现越高,越向下输入 token 越少。

以 MMLU 为例,表1中 GPTSwarm 准确率为 83.98%,AgentPrune-C 为 84.72%;图5直接标注的输入 token 分别约为 260 万与 35 万,后者约少 86.5%。这是两种方法之间的比较,同框架加插件的效果要看下一组实验。

加入现有框架后怎样

表3对 AutoGen、GPTSwarm 分别做了加插件前后的对照。以 HumanEval 上的 AutoGen 为例:

指标 原 AutoGen 加 AgentPrune
Pass@1 85.41% 86.65%
输入 token 492,273 315,105
输出 token 130,196 139,714
论文所报费用,USD 8.828 7.342

输入减少约 36.0%,费用减少约 16.8%,Pass@1 提高 1.24 个百分点。输出 token 反而增加了,因此输入节省比例不能直接当作总费用节省比例。

也有性能略降的情况。GPTSwarm 在 MMLU 上的准确率从 83.98% 变成 83.05%,费用从 47.60 变成 23.05 USD,即费用减少约 51.6%,准确率下降 0.93 个百分点。

GPTSwarm 在 GSM8K 上的报告费用从 234.76 降到 57.17 USD,准确率从 89.74% 升到 90.58%。这些金额属于论文当时的实验记录,不代表当前模型定价。附录表5还给出三个 Agent 的补充对照;图17—19另展示总 token、输出 token 和费用。

有成员故意误导时是否更稳定

作者每次随机选一名 Agent 作为干扰源,其他成员保持原功能。提示攻击修改角色,要求输出错误答案和虚假分析;替换攻击则用随机答案和不连贯文本干扰讨论。

原论文图6:提示攻击前后表现

图6,PDF 第9页,MMLU 提示攻击实验。黄色为攻击前,蓝色为攻击后;w/ AP 表示加入 AgentPrune。纵轴从60开始,应读取柱顶数字。

系统 攻击前 攻击后 下降幅度
链式结构 82.3% 61.5% 20.8个百分点
完全图 83.1% 78.4% 4.7个百分点
AgentPrune-C 84.7% 83.9% 0.8个百分点
AutoGen 82.1% 76.2% 5.9个百分点
AutoGen + AgentPrune 82.7% 82.5% 0.2个百分点

附录图20的替换攻击中,AutoGen 从 82.1% 降到 72.2%;加入 AgentPrune 后从 82.7% 变到 82.0%。这些结果支持指定攻击设置下较小的性能损失。

一种机制解释是:错误信息也沿连接进入其他成员的输入,关闭部分路径可能减少其被反复读取和放大的机会。但图中评估的是最终准确率,没有证明自动识别了恶意节点,也没有覆盖任意攻击形式。文中相关段落对攻击与结构学习的完整时间顺序交代有限,不应据此假定固定结构能自动适应所有新出现的攻击。

去掉角色配置或低秩约束会怎样

消融实验保持其他设置,去掉某个组件。表6中,AgentPrune-C 的部分结果如下:

设置 MMLU GSM8K HumanEval
完整方法 84.72 95.62 89.38
去掉不同角色配置 84.30 93.70 87.80
去掉低秩约束 84.60 94.50 88.90

多数报告结果支持两个组件有帮助,但收益随任务变化。完整表中,AgentPrune-C 去掉低秩后的 AQuA 为 79.5%,完整方法为 79.47%,几乎相同。表中没有给出重复实验的误差范围,微小分差不能单独证明稳定优劣。这组正常任务消融也不能直接量化低秩组件对抗攻击收益的独立贡献。

原论文图21:参数敏感性

图21,PDF 第30页,MMLU 上的参数敏感性。左侧改变 Agent 数量;右侧的 按附录定义,是前期用于学习连接的题目数。

左图中,3 到 5 个 Agent 的准确率提升较明显,5 到 9 个的额外收益有限,中间也有波动。右图在 附近较高,增加到 20 或 25 没有继续单调提升。作者选择 5 或 10 道前期题目,折中结构学习成本与任务表现。

图21的阴影需要谨慎阅读。作者没有在图注与相邻说明中定义它是最大值—最小值、均值加减标准差,还是置信区间;也没有明确这一处中心曲线的统计定义和重复次数。因此,不能仅凭图形断言“实线是平均值,阴影是多次运行的最高与最低值”。

9. 案例分析:学到的连接是什么样

空间结构与角色分工

原论文图24:完全图上的空间剪枝

图24,PDF 第32页。五个角色在 MMLU 上,从完全图候选结构得到更少的连接。

作者观察到,知识专家保留较多向外发送的边,Critic 保留较多接收边。这与“知识专家提供参考、检查者阅读分析后反馈”的角色设计相呼应。图22还展示 GPTSwarm 中 ToT Agent 保留较多输入的案例,图23展示 AutoGen 代码任务,图25—29补充不同初始结构及任务。

这些角色解释是案例层面的推断,不能直接证明某名成员的独立价值或每条保留边都不可替代。

跨轮历史按接收者筛选

原论文图30:HumanEval上的时间剪枝

图30,PDF 第35页。左半图为剪枝前,右半图为剪枝后;每半图中的蓝列是上一轮 ,绿列是本轮 。

同样的五个角色在不同轮次各画了一次。剪枝前,上一轮每个人的输出都可传给本轮每个人;剪枝后只保留部分路径。例如,测试分析员上一轮的输出可以交给本轮 Bug Fixer。图31展示数学任务的类似处理。

连接权重逐渐分化

原论文图32:MMLU上的连接优化轨迹

图32,PDF 第36页。空间连接权重在不同优化阶段的变化;图33、34分别补充 HumanEval 和 GSM8K。

开始时非对角位置都是 0.50,随后逐渐出现约 0.69、0.30 等不同数值。这些分化为后面的连接排名和剪枝提供依据。它们是连接权重,不是任务准确率。

这里标注的 Round 用来展示优化轨迹;附录没有充分说明其与每题对话轮数、训练迭代的对应关系,不能直接当作 MMLU 每道题讨论了五轮。

10. 论文描述、公开代码与数据读取注意

固定版本代码中的实现差异

下面仅针对本文核对的提交,不外推到其他版本:

  1. 低秩项。 论文式(8)、(11)提出低秩与核范数约束;核对的公开 MMLU 训练路径只将奖励损失取平均,没有加入该正则项。复现低秩消融时需要查清实际实现。
  2. 剪枝时机。 论文描述一次性剪枝;MMLU 训练脚本按 imp_per_iters 定期调用 update_masks,配置不同可能剪多次。
  3. 固定掩码与实际执行图。 禁用掩码固定后,剩余连接仍可能继续概率采样,并进行无环检查;不能把它等同于每次调用都使用完全相同的一组边。
  4. 汇总节点。 默认 Graph 单独维护 decision_node,在普通节点完成多轮执行后汇总。图4是流程示意,与该默认节点组织不完全一一对应。

来源:训练脚本、Graph 实现、AnalyzeAgent。

原文数字与标注的几处不一致

为避免把印刷数字直接当作核算结论,本文按以下方式读取:

  • 表1均值。 Chain 行六项分数的均值约为 82.92,Avg 列印为 92.92;本文使用逐项指标,不依赖该均值列。
  • 表3比例。 GSM8K 部分行的括号比例与原始 token 数不匹配。例如 GPTSwarm 的输入从 14,005,945 到 3,526,035,按原数计算剩余约 25.2%,而非印出的 39.4%。这是一处不一致,本文不擅自修正原始实验数据。
  • 图5标注。 纵轴指数标记与点旁 token 数不一致,个别点的性能位置也与表1不同。本文将表1逐项性能与图中直接标注的 token 分开引用,不用轴标反算 token。
  • 图21阴影。 统计定义未说明,不能确定为极值范围、标准差或置信区间。
  • 式(13)展开。 根据该页给出的两阶段成本表达式,展开结果与式(13)不一致。若令每轮通信输入为 、其他输入为 ,剪枝比例为 ,学习阶段每轮尝试 次,则应从下式分别核算:

相减得到:

这是按文中成本假设作出的代数推导,不是新的实验值。前面的教学成本表采用直接分阶段相加,避免依赖不一致的展开式。

11. 结论与适用边界

AgentPrune 把通信本身变成可优化对象:同一批成员,可以通过调整谁读取谁的回答,形成更省输入 token 的协作安排。本文报告的任务表现、插件对照和特定攻击结果,为这一方向提供了经验支持。

使用或复现时,需要保留几个边界:

  • 结构学习本身有成本,后续复用必须足以摊薄投入。
  • 高分连接来自整体任务反馈,不是每条消息获得了独立的必要性证明。
  • 低秩与稀疏不同;减少独立模式不自动等于减少消息数量。
  • 一张图在同类基准上有效,不保证跨完全不同任务继续有效,也不保证每道题都受益。
  • 抗干扰结果限于指定攻击设置;完整方法的收益不能全部归因于低秩项。
  • 阴影定义、代码差异和若干数据标注问题,需要在复现实验中进一步澄清。

对于已有多智能体系统,可以先分别记录轮内通信、跨轮历史、生成输出和结构学习开销,再检查精简连接后的任务表现。最终需要比较的是完整执行成本与任务收益,而不仅是图中少了多少箭头。

参考资料

  1. Zhang et al. Cut the Crap: An Economical Communication Pipeline for LLM-based Multi-Agent Systems,arXiv:2410.02506v1,2024。
  2. AgentPrune 官方仓库与本文核对的固定提交。
  3. 论文第2—3节:时空图建模与方法;第4节:实验;附录G:实现与攻击设置;附录H:补充结果;附录I:通信结构和权重可视化。

本文图片为上述论文原图的裁剪或格式转换,用于对应机制和实验的解读;图片及研究贡献归原作者所有。


See also