Multi-Agent

多智能体协作

多个 Agent 分工合作(如 PM Agent + Coder Agent + Reviewer Agent)。

详解

Multi-Agent 系统是把复杂任务拆分给多个专职 Agent 分工完成的架构。单个 Agent 的问题在于:上下文窗口有限,塞的工具和指令越多,注意力越分散,效果越差。把任务拆给多个专职 Agent,每个 Agent 只关注一件事、只拿必要的工具,整体质量反而更高。常见分工模式有三种:串行管道(A 完成交给 B,B 完成交给 C)、并行(多个 Agent 同时处理不同子任务,最后汇总)、主从(Orchestrator 分配,Worker 执行)。典型例子:写一篇技术文章——搜索 Agent 收集资料、写作 Agent 起草正文、审校 Agent 挑错、事实核查 Agent 验证数据。每个 Agent 的 system prompt 和工具集都完全不同,互不干扰。Multi-Agent 的代价是架构复杂度和调试难度上升——必须明确定义 Agent 之间的接口和上下文传递格式。

一个类比
像一个项目组:产品经理(PM Agent)定需求、程序员(Coder Agent)写代码、测试工程师(Reviewer Agent)找 bug。不会让一个人又当 PM 又写代码又测试——各司其职效率更高,而且换掉某一个人不影响其他人工作。
举个例子
技术文章生成 Multi-Agent 流程(三个专职 Agent 串行协作):

Agent 1 — 研究员(系统提示:你是专业研究员,擅长搜集资料)
  工具:[search, fetch_url]
  输入:"量子计算应用场景"
  输出:5 条关键资料摘要

Agent 2 — 写作者(系统提示:你是技术文章作者,擅长清晰表达)
  工具:[](无需联网,专注写作)
  输入:Agent 1 的 5 条资料摘要
  输出:800 字技术文章草稿

Agent 3 — 审校(系统提示:你是严格的编辑,专门挑逻辑和表达问题)
  工具:[](专注审查)
  输入:Agent 2 的草稿
  输出:修订意见 + 最终版本

关键设计原则:
  每个 Agent 只有完成自己任务所需的工具
  Agent 之间传递结构化数据(而非整段对话历史)
  失败时可以只重跑某一个 Agent,不影响其他阶段
PYTHON 示例
相关概念