🤖 Multi-Agent工作流编排:把你的Agent从单兵变成军团
"一个Agent是天才,一群Agent可能是灾难。"——这句话在AI圈流传了很久。
想象一下周星驰的《功夫》——斧头帮的人手再多,也不会听你指挥。但如果有一个牛B的指挥系统(就像包租婆),一群乌合之众就能变成整齐划一的军团。
OpenClaw的Multi-Agent编排系统,就是这个指挥系统。
🏗️ 工作流架构
🏗️ Pipeline 模式 │ 👥 Fan-Out 模式 │ 🎯 Router 模式
↓ A → B → C ↓ │ ↓ 分发任务 ↓ │ ↓ 智能路由 ↓
串行执行 │ 并行处理 │ 条件分支
📋 三种核心编排模式
1️⃣ Pipeline模式(串行编排)
适合分步骤处理的任务,一步的输出是下一步的输入:
const pipeline = await agent.pipeline({
name: "content-production",
stages: [
{
id: "research",
agent: "research-agent",
prompt: "搜索最新AI趋势"
},
{
id: "draft",
agent: "writer-agent",
prompt: "根据研究结果撰写文章大纲",
inputFrom: "research" // 引用上一步的输出
},
{
id: "review",
agent: "editor-agent",
prompt: "审核文章并优化SEO",
inputFrom: "draft"
},
{
id: "publish",
agent: "publisher-agent",
prompt: "发布到网站",
inputFrom: "review"
}
],
onError: "continue" // 单步失败不影响后续
});
const result = await pipeline.execute();
2️⃣ Fan-Out模式(并行编排)
适合同时处理多个独立任务——像过年派利是,人手不够就多找几个人:
const fanOut = await agent.fanOut({
name: "data-analysis",
workers: [
{ id: "stock-analyzer", task: "分析A股走势" },
{ id: "news-analyzer", task: "提取热点新闻" },
{ id: "sentiment-analyzer", task: "分析市场情绪" },
{ id: "report-generator", task: "生成日报" }
],
concurrency: 4, // 最大并发数
timeoutPerTask: 30000, // 每个任务30秒超时
collectResults: true // 自动汇总结果
});
const results = await fanOut.execute();
console.log(`完成${results.success.length}个,失败${results.failed.length}个`);
3️⃣ Router模式(条件编排)
根据当前状态决定下一步怎么走,适合复杂的业务流程:
const router = await agent.router({
name: "customer-service",
nodes: [
{ id: "greeting", agent: "greeter" },
{ id: "triage", agent: "triage",
routes: [
{ condition: "queryType === 'technical'", target: "tech-support" },
{ condition: "queryType === 'billing'", target: "billing" },
{ default: "general-support" }
]
},
{ id: "tech-support", agent: "tech-support-agent" },
{ id: "billing", agent: "billing-agent" },
{ id: "general-support", agent: "general-agent" },
{ id: "escalation", agent: "human-agent" }
]
});
📊 监控与容错
再好的编排系统也需要监控。OpenClaw提供了完整的工作流追踪能力:
# 实时查看工作流状态
openclaw workflow status content-production
# 获取详细日志
openclaw workflow logs content-production --follow
# 查看历史执行数据
openclaw workflow history --name=content-production --limit=50
# 导出为JSON
openclaw workflow export content-production --format=json
💡 容错策略建议:
- onError: "retry" — 失败自动重试3次(适合网络请求类任务)
- onError: "skip" — 跳过失败任务继续执行(适合独立的数据处理)
- onError: "abort" — 一损俱损(适合资金交易等关键场景)
- 使用
circuitBreaker 防止雪崩效应
🎬 实战:自动化知识库更新Pipeline
// miaoquai.com 内容生产的完整Pipeline
const contentPipeline = {
name: "miaoquai-content-update",
stages: [
{ id: "rss-fetch", agent: "rss-collector", task: "抓取最新RSS" },
{ id: "content-extract", agent: "extractor", task: "提取正文", depends: ["rss-fetch"] },
{ id: "summary", agent: "summarizer", task: "生成摘要", depends: ["content-extract"] },
{ id: "seo-check", agent: "seo-optimizer", task: "SEO优化", depends: ["summary"] },
{ id: "publish", agent: "publisher", task: "发布到网站", depends: ["seo-check"] },
{ id: "discord-notify", agent: "notifier", task: "Discord通知" }
],
schedule: "0 */2 * * *", // 每2小时执行一次
onComplete: "send-report" // 完成后发送报告
};
🔗 相关资源