CMU AI AGENTS / 长任务怎样拆,计划为什么必须会变 / 第 21 课

派三个 Agent 做同一件事,为什么不一定更快?

多角色能分工和并行,也增加重复工作、协调、共享状态冲突与推理成本;先有单 Agent 基线,再按任务依赖选择分工。

完整讲解 · 条件对照 · 理解检查所在单元与学习顺序官方课件全页浏览

本节要解决的事:多 Agent 能同时干活,但同时聊天也要付成本。先画依赖,再决定是否值得增加工作者。

三家比价,理想并行能省多少

三家供应商查询分别需要 3、5、4 秒,得到结果后统一比较要 2 秒。单个工作者串行查询,总时长 3+5+4+2=14 秒。如果三家查询彼此独立、资源充足且没有额外交接,三名工作者同时开始,查询阶段等待最慢的 5 秒,再汇总 2 秒,共 7 秒。

这里收益来自工作可以重叠,不来自“Agent”这个称呼。一个宿主直接并行调用三个查询工具,也可能获得同样的重叠。只有子任务需要各自进行多步调查、保留不同上下文或使用专门能力时,独立 Agent 才可能提供额外价值。

朴素加人会漏掉哪些时间

协调者要描述任务,工作者要读取材料,返回结果需要标准化,冲突需要解决。若每个工作者都从头读完整采购历史、重复搜索三家供应商,就把三倍成本换成三个相似答案。并行不能消除重复工作,角色名字也不能让结果自动兼容。

更糟的是共享同一个浏览器会话:工作者 A 正在看红笔,B 把页面导航到蓝笔,A 接着读取页面却以为仍是自己的商品。这个错误不只是慢,而是观察对象被改了。要么隔离标签页与会话,要么明确串行访问共享状态,并让工作者交回可核对的来源。

官方原课件 · Lecture 5 · PDF 第 46 页增加规划结构之前的四个问题
检查子任务能否分离、哪些反馈改变计划、怎样限制错误积累,以及信息和权限如何分开

本节主要使用第一问:子任务可分离吗?第三、四问则提醒我们,多个工作者需要受控的上下文与权限,不能只统计人数。这里是对公开第 5 讲的教学展开,不冒充尚未公开的多 Agent 专题讲座。

观察过程 · 改变条件

理想并行与共享会话限制

先做预测,再逐步展开。这里是固定规则的教学回放,不是真实模型测评。

教学构造场景 · 按下方规则逐步回放;不调用真实模型,不代表实际成功率。

这一轮的输入

A 3 秒,B 5 秒,C 4 秒;汇总 2 秒;忽略交接。

  1. 1. 同时开始

    三个查询起点相同,各自使用独立状态。

  2. 2. 等待收齐

    最慢 B 在第 5 秒返回。

  3. 3. 统一汇总

    第 5 至第 7 秒比较含运价和库存。

同时开始

三个查询起点相同,各自使用独立状态。

1 / 3
先预测,再核对结果与原因7 秒

关键路径是最慢查询加汇总,不是三段相加。

比较条件要公平

如果并行版本每人只查一家,单 Agent 基线也应允许使用合适的工具并发,而不是故意让它执行低效串行。否则得出的只是调度差异,无法说明多 Agent 架构本身更好。应同时记录完成时间、总模型与工具调用量、结果正确性和失败恢复成本。

再看任务依赖。若 B 的查询必须使用 A 返回的供应商编号,不能同时开跑;若三个工作者各自提出方案,但最终只有一个可执行动作,汇总者还要统一核验所有约束。三份互相赞同的回答也不等于独立证据,尤其当它们读取了同一条错误来源。

多 Agent 有益的一个场景是知识和工具明显不同:一个读取合同、一个核算报价、一个检查交付日期,各自交付结构化证据,协调者检查交叉约束。它仍需要清楚的交付格式,例如金额含什么费用、时间使用哪个时区、结论依据哪个版本。缺少这些接口,再聪明的工作者也可能拼出不一致的整体。

失败时谁负责停止

最慢工作者不返回时,整个系统不能永远等齐。协调者应知道哪些结果必需、哪些可缺省,以及超时后是重试、换来源还是报告未完成。取消也要传递到正在执行的工作者,避免主任务结束后子任务仍继续产生副作用。权限宜按工作范围授予,汇总角色不应把每个工作者的建议都当作执行批准。

本节时间模型没有计算排队、限流和多机通信,这些都可能吃掉理想节省。测得 7 秒比 14 秒快,只能支持在相应假设与任务上的结论;增加到三十个工作者不保证进一步加速,系统瓶颈可能转移到服务额度或汇总阶段。

理解检查

问题一:理想并行为什么不是 3+5+4=12 秒? 因为三段时间重叠,查询结束时刻由最大值 5 决定;再加不能提前完成的汇总 2,得到 7。

问题二:多 Agent 与并行工具调用有什么区别? 工具调用并行可以只是固定操作;Agent 子任务还可能自己选择动作和处理反馈。若需求只有三个独立查询,后者的额外协调未必值得。

问题三:三个工作者给出同一结论,是否可信度自动提高三倍? 不会。它们可能共享错误来源、提示和偏差。需要独立证据与环境验证,不能把票数当成正确概率。

下一问

多个子任务已经产出结果,用户这时把预算改了。下一节沿依赖追踪:哪些事实仍然成立,哪些决定必须撤销,哪些动作已经不能靠改文字取消?