CARD: Towards Conditional Design of Multi-agent Topological Structures¶
会议: ICLR 2026
arXiv: 2603.01089
代码: https://github.com/Warma10032/CARD
领域: 代码智能
关键词: 多Agent通信拓扑, 条件图生成, 图神经网络, 动态环境信号, Agent协作
一句话总结¶
CARD提出了一种条件图生成框架(Conditional Agentic Graph Designer),通过条件变分图编码器和环境感知优化,根据模型能力、工具可用性和知识源变化等动态环境信号自适应地设计多Agent通信拓扑结构,在HumanEval、MATH和MMLU上一致超越静态和基于提示的基线方法。
研究背景与动机¶
基于LLM的多Agent系统在代码生成和协作推理等任务上展现了强大的能力,但这些系统的有效性和鲁棒性在很大程度上取决于Agent之间的通信拓扑结构。当前方法存在两个关键缺陷:(1) 通信拓扑通常是固定的(如链式、层级式)或静态学习的,忽视了真实世界中的动态因素——模型升级、API变更、工具能力变化、知识源更新等;(2) 缺乏一个系统性的协议来描述和适应这些环境变化。核心矛盾在于:静态拓扑无法适应部署环境的动态变化,而手动重新设计拓扑又不可扩展。本文的切入点是:将多Agent拓扑设计视为一个条件图生成问题,让环境信号驱动拓扑的自适应构建。
方法详解¶
整体框架¶
CARD 把一个多 Agent 系统看成一张有向通信图 \(G=(V,E)\):节点是 Agent(每个 Agent 绑定角色、底座模型、可用工具、知识源),有向边是"谁把消息传给谁"。难点在于,这张图过去要么人手写死(链式、层级),要么在静态环境下学出来,可一旦底座模型升级、工具失效或知识源变化,原本好用的拓扑就不再合适,而人手重设计不可扩展。
CARD 的思路是让一个"以环境为条件"的图生成器来现场画这张图。它分四步:先用 AMACP 协议把部署环境(模型能力、工具可用、知识源状态)显式形式化成条件,并规定一张合格拓扑必须同时满足有效、省成本、自适应三条要求;再把每个 Agent 的静态画像(profile)和动态条件(condition)编码成双通道向量,喂给条件图生成器——双通道图编码器产出隐表示、解码器逐对估计边概率 \(S_{ij}\)、按阈值 \(\tau\) 取边得到通信拓扑 \(G_{com}\);训练时在多种环境配置下跑 \(K\) 轮多 Agent 交互,用"任务效用 \(-\,\beta\cdot\) 通信成本"的目标学一个从环境到拓扑的映射;部署时环境一变,只需把新条件前向重采样一次拓扑、无需重训。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}%%
flowchart TD
Q["查询 Q + 环境配置 C<br/>(模型 / 工具 / 知识源)"] --> GEN
AMACP(["AMACP 协议<br/>有效 / 省成本 / 自适应"]) -. 约束目标 .-> GEN
subgraph GEN["条件图生成器"]
direction TB
REP["Agent 双通道表示<br/>profile 向量 + condition 向量"] --> ENC["双通道图编码器<br/>φp / φc"]
ANC["anchor 拓扑 A<br/>(链 / 星 / 全连接)"] --> ENC
ENC --> DEC["解码器 ψ 估计边概率 Sij"]
DEC --> TH["阈值 τ 取边<br/>→ 通信拓扑 Gcom"]
end
GEN --> TRAIN["环境感知训练<br/>K 轮交互 → loss = −u + β·通信成本"]
TRAIN --> RUN["运行时自适应<br/>环境变 → 前向重采样、不重训"]
RUN --> OUT["最终答案<br/>K 轮后聚合输出"]
关键设计¶
1. AMACP 协议:把动态环境从隐含假设变成可输入的条件
现有多 Agent 拓扑写死或静态学习,环境一变(模型升级、API 变更、工具失效)就脆——会产生冗余交互或信息流中断。AMACP(Adaptive Multi-Agent Communication Protocol)的做法是把环境状态形式化成模型的输入:每个 Agent 用 profile(角色、底座模型、工具)和 condition(运行时的模型可用性、token 成本、API 可靠性等)两组属性描述;同时规定一张合格拓扑必须满足三条——有效(产出合格解)、省成本(最小化模型/API/token 开销)、自适应(随环境条件 \(C\) 的变化调整结构),并把它们写成统一的优化目标 \(\min_{G}\ -u(G(Q\mid C)) + \beta\cdot w(G;C)\),其中 \(u\) 是任务效用、\(w\) 是条件感知的通信成本、\(\beta\) 是权衡系数。正因为环境被写成了模型输入而非固化在结构里,系统才有机会"感知到变化并据此改连接"。
2. 条件图生成器:双通道表示 + 编码-解码算出每条边的概率
这是 CARD 的核心,负责把"Agent 画像 + 环境条件"映射成一张拓扑。每个 Agent 的 profile 文本和 condition 文本分别嵌入成 \(X^p_i\)、\(X^c_i\);边集先从一张 anchor 拓扑 \(A\)(链/星/全连接)初始化,提供结构先验。编码端用两个可学习的图编码器 \(\phi_p\)、\(\phi_c\) 分别对两个通道产出隐表示 \(H^p\)、\(H^c\);解码器 \(\psi\) 把查询当作一个连向所有 Agent 的辅助节点 \(h^Q\),逐对估计边概率
再按阈值取边得到通信拓扑 \(E_{com}=\{(v_i,v_j)\mid S_{ij}>\tau\}\)。这里用的是条件变分图编码(conditional variational graph encoder),同一任务、同一环境下可以采样出多张候选拓扑再择优,提升鲁棒性。把 profile 与 condition 分通道编码、再在解码端融合,正是为了让"静态角色分工"和"动态环境资源"各自充分表达,使生成的边既看任务分工、又看实时资源状态。
⚠️ 原文只称 \(\phi_p/\phi_c\) 为"可学习的图编码器",未点名具体是 GCN 还是 GAT;以原文为准。
3. 环境感知训练:用"任务效用 − β·通信成本"学环境到拓扑的映射
普通图生成只学"什么拓扑好",部署环境一变这个答案就过时。CARD 在训练时遍历采样的 \((Q,C)\) 对,在 \(G_{com}\) 上跑 \(K\) 轮多 Agent 交互、聚合末轮输出 \(\alpha^{(K)}\),按 \(L_{CARD}=-u(\alpha^{(K)})+\beta\,w(G_{com};C)\) 对编码/解码参数 \(\Theta_p,\Theta_c,\Theta_d\) 做梯度下降。其中条件感知成本把每条边的期望 token 成本按其激活概率加权,\(w(G_{com};C)=\sum_{(i,j)}\text{Cost}_{ij}\,p_{ij}\)(\(p_{ij}=S_{ij}\)),鼓励稀疏而精准的通信而非冗余全连接。由于训练数据覆盖多种环境配置(不同 LLM 组合、不同工具可用性),生成器学到的是一个从环境信号到最优拓扑的映射,而不是某个固定的好拓扑。
4. 运行时自适应:环境变只需前向重采样、不重训
部署后模型/工具随时在变,靠重训来适配不可扩展。因为生成器已经把"环境→拓扑"压成一次前向,运行时只要把实时感知到的新条件 \(C\) 喂进编码-解码,就能一次性重算出适配的拓扑 \(G_{com}\),无需重新训练。拿到拓扑后由执行引擎跑起来:拓扑调度函数 \(\varphi\) 先给出一个尊重无环依赖的 Agent 执行顺序,每轮每个 Agent 接收系统/用户提示和上游邻居的回复、产出自己的回复,\(K\) 轮后由聚合算子(投票/选择/摘要)给出最终答案。这把适应环境变化的成本从"重新训练"降到"一次前向采样",正是条件生成相比静态学习的关键价值。
损失函数 / 训练策略¶
训练在采样的 \((Q,C)\) 对上进行:拓扑从 anchor 拓扑(链/星/全连接 + 任务节点)初始化,跑 \(K\) 轮多 Agent 交互、聚合末轮输出后,按 \(L_{CARD}=-u(\alpha^{(K)})+\beta\,w(G_{com};C)\) 联合优化 profile 编码器 \(\phi_p\)、condition 编码器 \(\phi_c\) 与解码器 \(\psi\) 的参数,梯度通过软邻接概率矩阵 \(S\) 回传;\(\beta\) 平衡任务效用与通信成本。
实验关键数据¶
主实验¶
三个基准上各 LLM 基座的平均分(%):
| 方法 | 多Agent | 自动拓扑 | 条件 | HumanEval | MATH | MMLU |
|---|---|---|---|---|---|---|
| Vanilla | ✗ | ✗ | ✗ | 85.50 | 63.33 | 81.04 |
| CoT | ✗ | ✗ | ✗ | 87.66 | 64.33 | 84.18 |
| Random-graph | ✓ | ✗ | ✗ | 86.00 | 64.67 | 83.27 |
| LLM-Debate | ✓ | ✗ | ✗ | 86.00 | 66.83 | 83.92 |
| GPT-Swarm | ✓ | ✓ | ✗ | 86.66 | 70.16 | 84.05 |
| Aflow | ✓ | ✓ | ✗ | 89.83 | 73.83 | 82.87 |
| G-Designer | ✓ | ✓ | ✗ | 86.50 | 72.66 | 84.44 |
| CARD | ✓ | ✓ | ✓ | 90.50 | 74.50 | 86.67 |
CARD 在三个基准上平均分均最高,并在 15 个"模型基座 × 基准"组合里有 13 个拿到或并列最高分。
消融实验:条件该怎么注入拓扑生成¶
| 注入方式 | 效果 |
|---|---|
| 无条件(w/o Cond.) | 退化为无条件图生成,作基线 |
| 提示级注入(w/ Cond.p,把条件描述拼进 system prompt) | 不稳定甚至反伤——MATH 上 M5 基座最多 −12.50%、MMLU 上 M1 基座 −2.00% |
| CARD(条件嵌入图生成模块) | 全部非负增益:MATH +0.83~+3.34%、MMLU +0.66~+2.62%、HumanEval +2.50~+23.33% |
关键发现¶
- 结构化注入 > 提示拼接:把条件直接拼进 prompt 会反伤(最多 −12.5pp),而把条件嵌进图生成模块才稳定正收益——说明拓扑级的条件自适应远比提示级可靠
- 设计抽象越丰富收益越累积:单 Agent(Vanilla/CoT)→ 固定拓扑(Random-graph/LLM-Debate,+0.5~2.0pp)→ 静态自动拓扑(GPT-Swarm/Aflow/G-Designer,+1.0~4.0pp)→ CARD 条件自适应再加 +0.5~3.0pp
- 换到没见过的 LLM(out-of-domain)时优势最大:MATH 上从 deepseek-v3 换到 qwen-72B,G-Designer 准确率从 91.66% 跌到 79.16%(−12.5pp),CARD 仅从 91.66% 跌到 82.50%,跌幅小得多
- Agent 数量增加时优势进一步扩大:CARD 比 G-Designer 更可扩展,OOD 设置下随 Agent 数增加最多 +1.99pp
- 节点被攻击时 CARD 降幅最小(在攻击+干净条件下都训练过),鲁棒性强于 LLM-Debate 与 G-Designer
亮点与洞察¶
- 从NAS到Agent拓扑搜索的类比:正如神经架构搜索(NAS)自动化了网络设计,CARD自动化了多Agent协作结构的设计,且引入了条件生成使其能应对动态环境
- 图生成 + Agent系统的融合:将GNN的图结构学习能力与LLM Agent系统结合,是一个有前景的研究方向
- AMACP协议的泛用性:虽然本文聚焦代码/数学/知识任务,但AMACP协议的设计是通用的,可以扩展到任何需要多Agent协作的场景
- 环境信号的显式建模:这是区别于GDesigner等先前工作的关键创新——不仅学习"什么拓扑好",还学习"在什么条件下什么拓扑好"
局限与展望¶
- 目前仅在代码生成、数学推理和知识问答三类任务上验证,缺少更复杂的多Agent协作场景(如辩论、创意写作)
- 环境信号的定义和采集可能在实际部署中面临挑战——如何自动检测模型能力变化?
- 条件VAE的训练需要在多种环境配置下收集足够多的数据,初始训练成本较高
- Agent数量固定为5个,未充分探讨动态增减Agent的场景
- 图的生成目前是一次性的,未探索在执行过程中动态调整拓扑的能力
相关工作与启发¶
- GDesigner: 本文的核心参考工作,使用GNN设计多Agent拓扑,但缺乏条件适应能力。CARD在此基础上引入了条件生成
- MetaGPT / AutoGen / CrewAI: 流行的多Agent框架,使用固定拓扑(如SOP流程),难以适应环境变化
- CVAE在图生成中的应用: Graph VAE等方法为CARD的条件图生成器提供了理论基础
- 启发:多Agent系统的"元设计"(设计如何设计Agent系统)是一个受关注度还不够的方向,CARD开辟了条件化设计这条新路径
评分¶
- 新颖性: ⭐⭐⭐⭐⭐
- 实验充分度: ⭐⭐⭐⭐
- 写作质量: ⭐⭐⭐⭐
- 价值: ⭐⭐⭐⭐