进阶
多 Agent 编排:让 AI 团队协同工作
单个 Agent 能力再强,也只是一个"全栈工程师"。多 Agent 编排让你拥有一个"团队"——每个 Agent 专精一件事,协同完成复杂任务。就像公司里产品、开发、测试各司其职。
💡 本教程是多 Agent 进阶内容,建议先完成教程 10(多 Agent 基础)和教程 33(Function Calling)后再学习。
理解多 Agent 编排模式
1 四种编排模式
多 Agent 编排模式:
1️⃣ 主管模式(Supervisor)
主管 Agent → 分配任务 → 执行 Agent A
→ 执行 Agent B
→ 执行 Agent C
主管汇总结果 → 回复用户
适合:任务明确,需要统一调度
2️⃣ 流水线模式(Pipeline)
Agent A → Agent B → Agent C → 输出
(上一个的输出是下一个的输入)
适合:线性流程,如:调研→写作→审校
3️⃣ 辩论模式(Debate)
Agent A 观点 ←→ Agent B 反驳
↓ ↓
裁判 Agent 综合判断 → 最终输出
适合:需要多角度思考的决策
4️⃣ 协作模式(Collaboration)
Agent A ──┐
Agent B ──┤→ 共享工作区 → 协同输出
Agent C ──┘
适合:复杂项目,需要持续沟通协调
步骤一:角色分工设计
2 搭建内容生产团队
以"内容生产"场景为例,设计多 Agent 团队:
内容生产 Agent 团队设计:
🕵️ 调研 Agent
职责:搜集资料、整理数据、发现洞察
技能:网页搜索、数据查询、文档分析
输出:调研报告(结构化 Markdown)
✍️ 写作 Agent
职责:根据调研报告撰写初稿
技能:长文写作、风格模仿、SEO 优化
输出:文章初稿
🔍 审校 Agent
职责:检查事实、优化表达、确保标准
技能:事实核查、语法检查、品牌规范
输出:审校意见 + 修改建议
📊 数据 Agent
职责:追踪内容数据、分析效果
技能:数据查询、趋势分析、报告生成
输出:效果报告
协作流程:
调研 Agent → 写作 Agent → 审校 Agent
↑ │
└──── 需要补充资料 ←────────┘
│
人工确认 → 发布
│
数据 Agent ← 追踪效果
步骤二:Agent 间通信
3 设计通信协议
Agent 间通信设计:
1. 消息格式
{
"from": "research-agent",
"to": "writing-agent",
"type": "task_result",
"content": {
"topic": "AI Agent 市场趋势",
"data": {...},
"sources": ["url1", "url2"]
},
"timestamp": "2026-04-22T10:00:00Z"
}
2. 通信模式
- 直接传递:A 的输出直接传给 B
- 共享状态:所有 Agent 读写共享工作区
- 事件驱动:某个事件触发相关 Agent 响应
3. 共享工作区设计
📋 任务看板
┌──────────┬──────────┬──────────┐
│ 待处理 │ 进行中 │ 已完成 │
├──────────┼──────────┼──────────┤
│ 调研选题 │ 撰写初稿 │ 资料收集 │
│ ... │ ... │ ... │
└──────────┴──────────┴──────────┘
📝 共享文档
- 调研报告(调研 Agent 写入)
- 文章初稿(写作 Agent 写入)
- 审校意见(审校 Agent 写入)
- 修改记录(所有 Agent 可读)
步骤三:任务分解与调度
4 主管 Agent 的调度逻辑
主管 Agent 配置:
你是一个内容团队的调度主管。收到用户需求后:
1. 分析需求
- 任务类型:调研/写作/审校/全流程
- 紧急程度:高/中/低
- 所需角色:哪些 Agent 需要参与
2. 任务分解
用户:"写一篇 AI Agent 市场分析文章"
分解为:
Step 1 → 调研 Agent:搜集2026年AI Agent市场数据
Step 2 → 写作 Agent:基于调研报告撰写5000字文章
Step 3 → 审校 Agent:检查数据准确性和文章质量
Step 4 → 如果审校不通过 → 退回写作 Agent 修改
Step 5 → 人工确认后发布
3. 异常处理
- 调研 Agent 找不到足够数据 → 通知用户,建议调整方向
- 写作 Agent 超时 → 检查是否任务太大,考虑拆分
- 审校 Agent 发现事实错误 → 退回调研 + 写作,标注问题
4. 质量把关
- 调研报告:至少3个信息源
- 文章初稿:字数达标、结构完整
- 审校结果:零P0问题才能交付
🎯 关键设计:主管 Agent 只调度,不干活。它需要保持全局视角,不能陷入某个具体任务的细节。就像好的项目经理不会自己写代码。
步骤四:冲突解决
5 处理 Agent 间的分歧
冲突场景与解决策略:
场景1:审校 Agent 和写作 Agent 意见不一致
写作 Agent:"这段描述简洁有力,不需要改"
审校 Agent:"这段表述不够准确,建议重写"
解决:
1. 主管 Agent 判断严重程度
2. P0级(事实错误)→ 必须改
3. P1级(表述优化)→ 写作 Agent 自行决定
4. 无法判断 → 交给人工
场景2:两个调研 Agent 搜到矛盾信息
调研 Agent A:"据来源1,市场规模100亿"
调研 Agent B:"据来源2,市场规模50亿"
解决:
1. 标注两个来源和各自的可信度
2. 输出:"不同来源数据差异较大:
来源1(权威机构): 100亿
来源2(媒体估算): 50亿
建议取值范围:50-100亿"
3. 不替用户做选择
场景3:Agent 陷入死循环
写作 → 审校驳回 → 修改 → 审校驳回 → ...
解决:
- 最多循环 3 次
- 第 3 次仍不通过 → 主管介入
- 主管决定:接受当前版本 / 人工介入
步骤五:实战编排配置
6 OpenClaw 多 Agent 编排配置
OpenClaw 多 Agent 配置:
team:
name: content-team
supervisor:
name: content-manager
role: 调度主管,负责任务分解和质量把关
agents:
- name: researcher
role: 资料调研
tools: [web_search, document_read]
max_turns: 5
- name: writer
role: 内容撰写
tools: [text_generate, seo_optimize]
max_turns: 3
- name: reviewer
role: 审校把关
tools: [fact_check, grammar_check]
max_turns: 3
workflow:
- step: research
agent: researcher
input: user_request
output: research_report
- step: writing
agent: writer
input: research_report
output: draft_article
- step: review
agent: reviewer
input: draft_article
output: review_result
- step: revision
agent: writer
input: review_result
condition: review_result.has_issues
output: revised_article
limits:
max_loop: 3 # 最多循环3次
total_timeout: 10min # 总超时10分钟
human_in_loop: true # 关键节点人工确认