多 Agent
什么时候需要多个 Agent
不是越多 Agent 越好。大多数时候一个就够了。但确实有三种场景,一个 Agent 独木难支。搞清楚什么时候真的需要分工。
三种真实场景
并行加速
同时搜索 5 个来源,比一个一个搜快 5 倍
真实案例:新闻简报
用户要求整理今日 AI 新闻。一个 Agent 要依次搜索 5 个网站,总耗时 25 秒。
改成 5 个子 Agent 同时去搜,每个负责一个来源,最后主 Agent 汇总,总耗时 5 秒。
关键:这些搜索互不干扰,天然适合并行。
用户要求整理今日 AI 新闻。一个 Agent 要依次搜索 5 个网站,总耗时 25 秒。
改成 5 个子 Agent 同时去搜,每个负责一个来源,最后主 Agent 汇总,总耗时 5 秒。
关键:这些搜索互不干扰,天然适合并行。
角色分工
一个写代码,一个审代码,互相制衡
真实案例:代码审查
让同一个 Agent 写完代码再审自己的代码,它很难发现自己的错误,就像自己检查自己的作文。
分成两个 Agent:Writer 写代码,Reviewer 审代码。Reviewer 不知道 Writer 的思考过程,只看最终代码,更容易发现问题。
关键:角色隔离让审查真正有效。
让同一个 Agent 写完代码再审自己的代码,它很难发现自己的错误,就像自己检查自己的作文。
分成两个 Agent:Writer 写代码,Reviewer 审代码。Reviewer 不知道 Writer 的思考过程,只看最终代码,更容易发现问题。
关键:角色隔离让审查真正有效。
风险隔离
子任务出错不影响主任务
真实案例:复杂文档处理
主 Agent 在整理一份 50 页的报告。其中需要解析几个 PDF 附件。
如果 PDF 解析出错(格式损坏、超时),直接在主 Agent 里做会导致整个任务崩溃。
分出子 Agent 单独处理 PDF:成功了就汇报结果,失败了就报告「这个文件有问题」,主 Agent 继续工作不受影响。
关键:子任务的失败被隔离了。
主 Agent 在整理一份 50 页的报告。其中需要解析几个 PDF 附件。
如果 PDF 解析出错(格式损坏、超时),直接在主 Agent 里做会导致整个任务崩溃。
分出子 Agent 单独处理 PDF:成功了就汇报结果,失败了就报告「这个文件有问题」,主 Agent 继续工作不受影响。
关键:子任务的失败被隔离了。
并行加速的流程示意
一个任务拆成多个子 Agent 并行执行
主 Agent
分发任务
分发任务
→
同时执行
搜索 A
搜索 B
搜索 C
→
汇总结果
判断标准:在你加第二个 Agent 之前,先问自己:
① 一个 Agent 真的做不到吗?(很多时候只是 Prompt 没写好)
② 增加的复杂度值得吗?(多 Agent 意味着更多协调成本、更多出错可能)
③ 有没有更简单的方案?(比如用工具并行调用就能解决,不必真的分 Agent)
① 一个 Agent 真的做不到吗?(很多时候只是 Prompt 没写好)
② 增加的复杂度值得吗?(多 Agent 意味着更多协调成本、更多出错可能)
③ 有没有更简单的方案?(比如用工具并行调用就能解决,不必真的分 Agent)
不是越多 Agent 越好,大多数时候一个就够了。搞清楚什么时候真的需要分工。只有并行加速、角色制衡、风险隔离这三种明确需求时,才值得引入多 Agent。