多智能体编排器越改越差?我们给 40 次真实运行做了全量对照实验

admin · 2026-11-02 · 智能体 · 多智能体 · 架构

一句话版本:把执行链路从「静态计划」改成「角色化自主协作」是智能体圈最热的方向,我们真做了——接进系统、跑 40 次真实任务、和现有链路同题配对,结果新架构输了:均值 0.3576 vs 基线 0.3990/0.4833。但 A/A 对照(同题同配置同刻并发四份,得分 0.28→1.00)暴露了比输赢更重要的东西:编排本身的不确定性,才是多智能体最大的坑。

为什么要做这次改造

buddyme 现有主链路是 `ModeRouter → ReWOO(Planner → Worker 滑动窗口 → 合成)`:一次规划、静态依赖、按数据流走步骤。它稳,但形态是「照图施工」——遇到「做什么本身就是判断」的开放任务,图不够用。

行业给的答案是 DROrchestrator(DeepResearch 编排器)这类角色化编排:总调度把目标拆成「角色 × 任务 × 依赖」的有向无环图,每个角色是一个自治子智能体,自己决定搜索什么、何时停止,通过共享账本交换中间产出,最后汇总成报告。

我们把它接进系统作为可选执行档(环境变量 `BENCH_AGENT_KIND=dr` 开启),生产主链路零改动。然后做的不是「跑通即发布」,而是老老实实跑基准。

改造怎么做的:三处改动,全部加开关

三处代码改动示意:新分支、新开关、生产链路零改动

工程上的纪律比结论本身更值得抄:

第一处:入口分流。 在基准执行入口 `common.py` 加一个 `kind=dr` 分支——只构造 DROrchestrator 并把工作目录指过去,原有的 chat/loop/plan_exec/rewoo 四种执行档一个字不动。

第二处:工作区适配。 DR 默认建知识库式子文件夹结构,加 `BUDDYME_DR_FLAT_WS=1` 开关切到扁平工作区;不开就是原行为。

第三处:独立驱动脚本。 测试驱动和对比脚本全新建文件,不碰旧实验代码——保证基线数字可以原样复现。

三处改动对应一条铁律:试验性架构必须可一键关闭。40 次运行验证的不仅是新架构,还有「改了它不会伤到线上」这件事本身。

实验设计:40 次运行 × 双基线 × A/A 稳定性对照

从 9 个数据集抽 10 题(Evo-Bench 办公任务、AgentDojo 旅行/Slack、DeepSearchQA 深度检索、GTA 矩阵计算、PinchBench 会议分析、VitaBench 个性化推荐),跑 4 轮共 40 次真实 LLM 运行;同时与两条基线同题配对:

轮次n均分
r1(顺序)100.4945
r2(顺序)100.2000
r3(并发)100.3444
std10b(并发)100.3917
四轮合计400.3576

配对结果:相对 A3 单臂基线 -0.0414(2 升 3 降 5 平),相对 default 臂 -0.1257(1 升 4 降 5 平)。

关键发现:A/A 对照撕开了真正的伤口

输给基线不丢人——丢人的是不知道为什么输。于是我们做了最贵也最值的一步:同一道题、同一配置、同一时刻,并发跑四份:

份得分耗时
pp10.28215s
pp20.39404s
pp30.39509s
pp41.00638s

同一份代码、同一个模型、同一个目标,得分从 0.28 到 1.00,耗时差 3 倍。这一刀排除了时间漂移和负载差异,把矛头指向编排本身的三个随机环节:拆解(LLM 自由生成任务与依赖)、子智能体行程(自由决定搜索与停止)、汇总(哪些结果进报告)。

A/A 同题并发四份:得分 0.28 到 1.00 的巨大跨度

对照另一道题更狠:四份全 0,且工作目录里根本没有任务要求的 orders.json——失败模式不是「做得不好」,是「交付物形态就错了」。

失败模式清单(照着排查你的多智能体系统)

1. 交付物错配:DR 只产 answer.md/txt,交付型任务要 orders.json/xlsx → 结构性 0 分

2. 拆解随机:无固定模板,同一题四轮拆出四种任务形态

3. 无并发上限:全角色同刻并发,排队把耗时拉到 3 倍

4. 无重派:子任务单次尝试失败即丢分,无回补

5. 角色固定:不按题型选人,交付型题仍派 deep_search 角色

而基线 ReWOO 赢的结构性原因也清晰了:静态计划恰好匹配「路径可预先确定」的交付型题目——变量替换是确定性的、路径短、没有自由发挥的环节,也就没有自由发挥的方差。

结论与决策选项

选项前提后续工作
A 维持现状(DR 仅测试档)接受暂不接入无
B 门控接入(默认关)有报告类场景需求交付物契约、拆解模板、收口校验
C 按题型分流先做题型分类器分类器 + 60 题验证
D 继续工程化看好角色化路线确定性拆解+交付契约+重试+并发上限

常见问题

多智能体不是比单智能体强吗?

答:分任务。开放型/报告型任务上角色协作有优势;交付型任务上静态计划碾压自主协作。我们的配对差是负的,但 A/A 方差(σ 均值 0.227)说明「强不强」之前先得「稳不稳」。

40 次运行能下结论吗?

答:不能下显著性结论——n=10 配对符号检验无统计效力,需要 ≥60 题池。这份报告的价值在方向与失败模式清单,不在终审判决。

改坏了怎么办?

答:这就是「全部加开关」的意义。`BENCH_AGENT_KIND` 不设,系统行为与改造前逐字节一致;三个开关全关,生产链路零风险。

落到实操:在 BuddyMe 上复现这套验证

这套「改造→A/A 对照→失败模式归因→决策选项」的方法论,在 BuddyMe 上可以整套跑:

智能体的架构升级不该靠信仰,该靠同题配对。跑不赢的架构先关掉,跑得稳的再谈接进来。


*数据来源:buddyme 内部基准 DROrchestrator 改造验证报告(2026-11-02,9 数据集 10 题 × 4 轮 × 双基线配对 + A/A 对照,模型 buddyme_glm_flash5.3 全程真实 LLM 运行)。*

一句话引用:**一句话版本**:把执行链路从「静态计划」改成「角色化自主协作」是智能体圈最热的方向,我们真做了——接进系统、跑 40 次真实任务、和现有链路同题配对,结果新架构输了:均值 0.3576 vs 基线 0.3990/0.4833。但 A/A