上一篇我们聊了 AI 工作流的调试技巧——怎么在出错时快速定位和修复问题。
但你有没有遇到过这种情况:一个任务太复杂,一个 AI 根本搞不定?
比如你想做一个「自动追踪行业热点 → 筛选值得写的选题 → 生成初稿 → 检查事实准确性」的工作流。如果让一个 AI 从头到尾做完,要么丢三落四,要么上下文太长导致质量下降。
这时候,你需要的不是一个更强的 AI,而是一群 AI 协作——每个 AI 负责自己擅长的环节,各司其职,最终拼出完整的结果。
这就是今天要聊的:Multi-Agent 协作。
什么是 Multi-Agent?
用一句话说:把一个复杂任务拆成多个子任务,每个子任务交给一个专门的 AI Agent 来完成。
你可以把它想象成一个项目组:
每个 Agent 有自己的 Prompt(指令)、工具(能调用的 API)和职责范围。项目经理负责协调,其他人各干各的。
为什么要用 Multi-Agent?
单个 AI 的三大瓶颈:
1. 上下文窗口有限 再大的模型,上下文也有上限。一个复杂任务的全部信息塞进去,AI 很容易「忘」掉前面的内容,或者重点跑偏。
2. 角色混乱 让同一个 AI 既当「创意写手」又当「严谨审稿人」,它会在两种风格之间摇摆不定。分开给两个 Agent,各自的 Prompt 针对性更强,输出质量更高。
3. 工具调用复杂 一个任务可能需要搜索网页、查数据库、生成图片、发邮件。全塞给一个 Agent,它容易搞混工具的调用顺序。分给多个 Agent,每个只管自己那几个工具,出错率大幅下降。
三种常见的协作模式
模式一:链式(Pipeline)
Agent A → Agent B → Agent C → 最终结果最简单的模式。A 的输出是 B 的输入,B 的输出是 C 的输入。像流水线一样。
适合场景: 步骤明确、顺序固定的任务 例子: 搜集资料 → 写初稿 → 润色校对
模式二:分发-汇总(Fan-out / Fan-in)
┌→ Agent B1 ─┐Agent A ─┤→ Agent B2 ─┤→ Agent C └→ Agent B3 ─┘A 把任务拆成几个并行的子任务,分别交给 B1、B2、B3 同时处理,最后 C 汇总结果。
适合场景: 子任务之间互不依赖,可以并行 例子: 同时搜索 3 个平台的热点 → 汇总成一份选题池
模式三:对话式(Debate / Review)
Agent A ←→ Agent B(来回对话)→ 最终共识两个 Agent 互相检查、质疑、改进对方的输出。像两个同事在讨论方案。
适合场景: 需要多角度思考、提高准确性 例子: 一个 Agent 写观点,另一个 Agent 挑毛病、提反对意见,反复几轮后得出更全面的结论
实战演示:用 Multi-Agent 做每日新闻简报
来看一个具体例子。假设你想搭建一个「每日 AI 新闻简报」的自动化工作流:
Step 1:定义各 Agent 的角色
【搜索 Agent】角色:新闻搜集员工具:搜索引擎 API指令:搜索过去 24 小时的 AI 相关新闻, 返回标题、来源、链接、一句话摘要。 按热度排序,最多返回 10 条。【筛选 Agent】角色:编辑工具:无(纯文本推理)指令:从搜索 Agent 的结果中,选出最有价值的 3 条新闻。 选择标准:话题性、与普通读者的相关性、时效性。 输出每条新闻的选中理由。【写作 Agent】角色:新闻写手工具:无指令:为每条选中的新闻写一段快讯(100-150 字)。 结构:发生了什么 → 为什么重要 → 跟你有什么关系。 语气:大白话,不用术语。【审核 Agent】角色:事实核查员工具:搜索引擎 API指令:检查写作 Agent 输出中的事实是否准确。 标注任何可能有误的地方。 确认来源是否可靠。Step 2:定义工作流
搜索 Agent(10条新闻) ↓筛选 Agent(选出3条) ↓写作 Agent(写快讯) ↓审核 Agent(事实核查) ↓最终输出:3条新闻快讯这就是一个典型的链式 Multi-Agent 工作流。
Step 3:如何实现?
方案 A:无代码方案 用 Coze(扣子)或 Dify 这类平台,可视化地拖拽搭建。每个节点就是一个 Agent,连线就是数据流向。适合不会编程的人。
方案 B:低代码方案(Python) 用 LangChain 或 CrewAI 框架:
# 伪代码示意(CrewAI 风格)from crewai import Agent, Task, Crewsearcher = Agent( role="新闻搜集员", goal="搜索过去24小时的AI新闻", tools=[search_tool])editor = Agent( role="编辑", goal="从搜索结果中选出最有价值的3条")writer = Agent( role="新闻写手", goal="为每条新闻写100-150字快讯")reviewer = Agent( role="事实核查员", goal="检查快讯中的事实是否准确", tools=[search_tool])# 定义任务链crew = Crew( agents=[searcher, editor, writer, reviewer], tasks=[search_task, filter_task, write_task, review_task], process="sequential" # 链式执行)result = crew.kickoff()方案 C:手动模拟 如果你还不想搭系统,可以先手动模拟:
在 DeepSeek 对话框 1 里当「搜索员」,让它搜新闻 把结果复制到对话框 2,让另一个对话当「编辑」筛选 再复制到对话框 3,让它写快讯 最后在对话框 4 做事实核查
效率低?确实。但能帮你理解 Multi-Agent 的逻辑,等你准备好了再上自动化。
搭建 Multi-Agent 的 5 个避坑指南
1. 先跑通单 Agent,再组多 Agent 每个 Agent 单独测试没问题,再组合。别一上来就搞 5 个 Agent 同时跑,出了问题根本不知道哪个环节出错。
2. Agent 之间的「接口」要清晰 A 传给 B 的数据格式必须明确。用 JSON 或 Markdown 模板,别让 Agent 自由发挥格式——你会发现它们每次输出的格式都不一样。
3. 加一个「编排者」Agent 复杂工作流里,建议有一个总控 Agent,负责分配任务、处理异常、汇总结果。它是项目经理。
4. 设置超时和重试 AI 偶尔会卡住或输出垃圾。给每个 Agent 设超时(比如 30 秒),超时自动重试。上一篇讲的降级方案在这里也适用。
5. 记录每一步的中间结果 Multi-Agent 最大的调试难点是「不知道哪一步出了问题」。把每个 Agent 的输入和输出都保存下来,方便回溯排查。
小练习
试着用「手动模拟」方式(方案 C),完成一个 3-Agent 链式任务:
- Agent 1(搜索员)
:让 DeepSeek 搜索今天的 AI 热点新闻,输出 5 条 - Agent 2(编辑)
:新开一个对话,粘贴结果,让它选出最值得关注的 2 条 - Agent 3(写手)
:再开一个对话,让它把 2 条新闻写成朋友圈文案
做完后对比一下:分开做 vs 一次性让一个 AI 做完,哪个质量更高?
下期预告: AI Skill#7 — 让 AI 记住上下文(如何用 RAG 和外部记忆给 Agent 装上"大脑")
关注「AI引路者」,每天用大白话帮你搞懂 AI。看完就能用。
夜雨聆风