什么时候值得让多个 Agent 一起做?

多智能体

约 13 分钟7 道自测更新于 2026-11-01

一句话记住多智能体把任务拆给多个 Agent,让窗口更干净、工作能并行,也能把执行和审查分开。它不是越多越好:只有子任务相互独立、任务价值足够高时,额外的 token 和协调成本才值得。

01学完你能做到

知道多个 Agent 怎么分工协作,常见的两种组织方式,以及它为什么贵、哪里容易出问题。

第 27 讲(压缩与隔离)讲「隔离」时提过:子智能体在各自干净的窗口里干活,只交回总结。这节把它展开成完整的话题:什么时候用多个 Agent,怎么组织,代价是什么。

02为什么要多个 Agent

一个 Agent 把所有事揽在一个上下文里,会遇到三个问题:

  • 窗口装不下:调研要读几十个网页,全塞进一个窗口会腐化(第 23 讲(上下文窗口与上下文腐化));
  • 串行太慢:一个接一个搜,耗时长;
  • 角色混在一起:同一个模型既写代码又审代码,容易「自己给自己放水」。

多智能体的思路和公司分部门一样:拆开、并行、各管一摊。

03两种组织方式

方式一:编排者-子智能体(Orchestrator–Subagents)

一个主智能体负责拆题、派活、汇总;多个子智能体各自独立完成一块,只把精简结果交回。子智能体之间不直接对话。

代表是 Anthropic 的研究系统(第 27 讲(压缩与隔离)讲过它的 90.2% 和 15 倍 token)。这节补充它在怎么派活上的经验:

  • 主智能体给每个子智能体的任务说明要包含四样东西:目标、输出格式、该用哪些工具和来源、清楚的任务边界。
  • 早期主智能体只给一句「研究一下半导体短缺」,结果子智能体理解偏了,或者几个子智能体做了一模一样的搜索:一个查 2021 年汽车芯片危机,另外两个重复调查 2025 年供应链,没有有效分工。
  • 并行做法:主智能体同时起 3–5 个子智能体,每个子智能体同时调 3 个以上工具。复杂查询的研究时间最多缩短 90%。
主智能体负责拆题、派活和汇总,子智能体在独立窗口分别搜索、分析和核查。
主智能体负责拆题、派活和汇总,子智能体在独立窗口分别搜索、分析和核查。

方式二:对话式多智能体(Conversational)

几个 Agent 像开会一样互相发消息,通过对话推进任务。代表是微软的 AutoGen(Wu 等,2023)。

AutoGen 有两个核心概念:

  1. 可对话智能体(conversable agent):每个 Agent 都能收发消息,背后可以是大模型、工具或真人,也可以是它们的组合。
  2. 对话编程(conversation programming):开发者只做两件事:① 定义有哪些 Agent、各自什么角色;② 规定它们怎么对话。

内置的两个常用角色:

角色背后是做什么
AssistantAgent(助手)大模型写方案、写代码
UserProxyAgent(用户代理)真人和/或工具执行代码、征求人的意见,把结果反馈给助手

更复杂时有 GroupChatManager(群聊管理器):动态挑选下一个发言者,再把他的发言广播给其他人。

对话式多智能体由不同角色通过消息推进任务,也可以设置真人逐步确认。
对话式多智能体由不同角色通过消息推进任务,也可以设置真人逐步确认。

演示:AutoGen 两个 Agent 的一段对话(示意)

任务:「画出今年 META 和 TESLA 股价涨幅对比图」(论文图 1 用的就是这类例子)。

  1. 用户代理 → 助手:画出 META 和 TESLA 今年的股价涨幅图。
  2. 助手:这是一段 Python 代码,用 yfinance 下载数据并画图。
  3. 用户代理(自动执行代码):报错,没有安装 yfinance。
  4. 助手:请先运行 pip install yfinance,再运行原代码。
  5. 用户代理(执行):成功,图已保存。
  6. 助手:完成。TERMINATE

中间没有人插手,靠的是 AutoGen 的自动回复机制:收到消息就自动生成回复,直到满足终止条件。把用户代理的 human_input_mode 设成 "ALWAYS",每一步都会先问真人,就变成了人在回路里。

论文里的一个例子:多智能体真比单智能体好吗

OptiGuide(供应链优化问答)用了三个角色:

  • 指挥官:接用户问题,协调其他两个角色;
  • 写手:写代码、解释结果;
  • 安全员:检查代码是否安全。

流程:写手写代码 → 指挥官交给安全员检查 → 通过后执行 → 写手解释结果。安全员拦下了,就把问题打回给写手。

论文做了对照实验:让一个 Agent 同时负责写代码和审安全,和多 Agent 版本比较。测试集是 100 个编程任务,安全和不安全的各一半。多 Agent 版本识别不安全代码的 F1 分数,用 GPT-4 时高 8%,用 GPT-3.5-turbo 时高 35%。另外,核心工作流代码从 430 多行减到 100 行。

这个结果和第 28 讲(什么是 Agent)讲的「评估-优化」模式是一个道理:干活的和把关的分开,把关更严。第 36 讲(权限、沙箱与错误恢复)还会讲到 Anthropic 用独立评估者做 QA 的例子。

04代价:很费 token

Anthropic 的数据(第 27 讲(压缩与隔离)已讲):单个 Agent 约用普通聊天 4 倍的 token,多智能体约 15 倍。他们还发现,在他们的评测里,token 用量本身就解释了 80% 的表现差异。多智能体好用,很大程度上是因为它能花更多 token。

所以要按任务难度分配投入。Anthropic 把下面的「投入分级」直接写进了主智能体的提示词:

任务类型投入
简单查事实1 个智能体,3–10 次工具调用
直接对比2–4 个子智能体,每个 10–15 次调用
复杂研究10 个以上子智能体,分工明确

演示:算一笔账(示意数字)

假设一次普通聊天花 2,000 token,模型价格按每百万 token 10 美元算:

  • 普通聊天:2,000 × 10 / 1,000,000 = 0.02 美元
  • 单 Agent(约 4 倍):8,000 token ≈ 0.08 美元
  • 多智能体(约 15 倍):30,000 token ≈ 0.30 美元

一天 1 万次请求,多智能体比单 Agent 多花约 (0.30 − 0.08) × 10,000 = 2,200 美元/天。所以只有任务价值够高、而且确实能并行时才值得用。

多智能体用隔离和并行换取能力,但相对 token 用量会从普通聊天的 1 倍升到约 15 倍(示意)。
多智能体用隔离和并行换取能力,但相对 token 用量会从普通聊天的 1 倍升到约 15 倍(示意)。

05协调问题:常见失败

Anthropic 说多智能体的协调复杂度增长很快。他们早期遇到的错误:

  • 一个简单问题起了 50 个子智能体;
  • 没完没了地在网上找根本不存在的资料;
  • 子智能体之间互相发太多更新,彼此干扰。

还有结构上的瓶颈:主智能体同步等待一批子智能体全部完成才继续。这让协调变简单,但主智能体无法中途纠偏,子智能体之间也不能协作,一个慢的会拖住全部。

失败原因对策
重复劳动、留空白派活说明太模糊写清目标、格式、工具、边界
简单题过度投入Agent 不会判断该花多少力气把投入分级写进提示词
互相干扰消息太多只交回精简结果,限制通信
整体卡住同步等待设超时;未来可以改异步
错误累积有状态、一步错步步错(第 28 讲(什么是 Agent))检查点、可恢复(第 35、36 讲)

什么时候不该用多智能体

第 27 讲(压缩与隔离)已经说过:子任务之间依赖多、需要共享大量上下文的任务(比如大多数编程任务)不适合拆。拆开以后,每个子智能体只看到局部,合起来容易对不上。

06延伸阅读

  • Wu et al., AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation, 2023:arxiv.org
  • Anthropic, How we built our multi-agent research system, 2025-06-13:anthropic.com

07一分钟讲给别人

试着用自己的话讲一遍多智能体是把任务拆给多个 Agent:窗口更干净,可以并行,角色能分开。常见两种形态:编排者-子智能体(Anthropic 研究系统,主智能体派活、子智能体只交回结果);对话式(AutoGen,可对话智能体加对话编程,有助手、用户代理、群聊管理器)。把写代码和审安全分开,识别不安全代码的 F1 提高 8%(GPT-4)到 35%(GPT-3.5)。代价是 token:单 Agent 约 4 倍,多智能体约 15 倍,所以要按难度分级投入。常见失败有派活说明模糊导致重复劳动、过度投入、互相干扰、同步卡住。依赖多、需要共享上下文的任务不要拆。

想一想

7 道自测

先在心里答一遍,再展开对照。能说清理由,比答对数字更重要。

  1. 01多智能体解决单 Agent 的哪三个问题?

  2. 02编排者-子智能体和对话式多智能体的主要区别是什么?

  3. 03Anthropic 认为主智能体给子智能体的任务说明要包含哪四样东西?说明太模糊会怎样?

  4. 04AutoGen 里 AssistantAgent 和 UserProxyAgent 各做什么?怎么让每一步都由真人确认?

  5. 05OptiGuide 的对照实验说明了什么?

  6. 06多智能体为什么贵?Anthropic 怎么防止简单题过度投入?

  7. 07什么样的任务不适合拆成多智能体?

已看 0/7 题

练动手练习

选一个不涉及荐股或预测的小任务,例如比较两份公开公告的披露差异。先为一个主 Agent 写出 3 个彼此独立的子任务,规定每个子任务的目标、输出格式、资料来源和边界,再判断这个任务是否真的值得并行;最后估算如果多开 3 个 Agent,哪些重复劳动或通信成本可能出现。

完成这一课

完成这一课

读完讲义、看完自测答案,这一课就算学完了。

  • 读完讲义
  • 看完全部自测

本课为投资者教育内容,案例数字均为示意,不构成任何投资建议,也不承诺收益。规则和费率会变,实际操作前请以交易所、监管机构和产品的最新公告为准。