当单个 AI 助手无法满足需求时,多代理系统是好选择。本文详解如何设计、部署和协作多个专业 AI Agent。

一、为什么需要多代理
1.1 解决上下文过载
单代理的问题:
对话历史越长,上下文占用越多
混合多个主题,AI 容易混淆
Token 消耗快,成本高
多代理的优势:
单代理:所有上下文混在一起,AI 负担重
多代理:
- Coder Agent:独立上下文,专注编程
- Writer Agent:独立上下文,专注写作
- Researcher Agent:独立上下文,专注研究
1.2 专业化分工
Agent 类型 | 职责 | 推荐模型 | 核心 Skills |
|---|---|---|---|
Coder | 编程、调试、代码审查 | Claude 3.5 | code-runner, git-helper |
Writer | 写作、润色、编辑 | Claude 3.5 | writing-assistant, translator |
Researcher | 搜索、调研、分析 | GPT-4 | tavily-search, pdf-analyzer |
Analyst | 数据分析、图表 | GPT-4 | excel-parser, chart-generator |
1.3 提高效率
并行处理:
复杂任务:市场调研 + 竞品分析 + 报告撰写
单代理:串行处理(60 分钟)
多代理:并行处理(20 分钟)
二、Agent 类型设计
2.1 协调者 Agent
职责:
接收用户请求
分析任务类型
分发给专业 Agent
汇总结果
SOUL.md 示例:
# 协调者 Agent
你是团队协调者,负责分配任务给专业成员。
## 职责
- 理解用户需求
- 识别任务类型
- 分发给合适的 Agent
- 整合结果
## 风格
- 简洁高效
- 善于沟通
2.2 专业 Agent
Coder Agent:
# Coder Agent
你是资深软件工程师。
## 职责
- 编写高质量代码
- 调试和修复 bug
- 代码审查和优化
## 能力
- Python/JavaScript/Go
- Git 版本控制
- 单元测试
Writer Agent:
# Writer Agent
你是资深文字编辑。
## 职责
- 文章撰写
- 文案优化
- 校对润色
## 风格
- 严谨有文采
- 字斟句酌
三、路由策略
3.1 基于内容路由
创建 ~/.openclaw/router.json:
{
"enabled": true,
"defaultAgent": "assistant",
"rules": [
{
"name": "代码相关",
"condition": {
"keywords": ["代码", "编程", "bug", "调试", "python", "javascript"]
},
"agent": "coder",
"priority": 1
},
{
"name": "写作相关",
"condition": {
"keywords": ["文章", "写作", "润色", "文案"]
},
"agent": "writer",
"priority": 1
},
{
"name": "搜索相关",
"condition": {
"keywords": ["搜索", "查找", "调研", "研究"]
},
"agent": "researcher",
"priority": 1
}
]
}
3.2 基于发送者路由
不同用户默认使用不同 Agent:
{
"enabled": true,
"userRouting": {
"ou_engineering_team": "coder",
"ou_marketing_team": "writer",
"ou_research_team": "researcher",
"default": "assistant"
}
}
3.3 基于任务类型
复杂任务自动分解:
{
"taskDecomposition": {
"enabled": true,
"patterns": [
{
"taskType": "market_research",
"steps": [
{"agent": "researcher", "action": "search"},
{"agent": "analyst", "action": "analyze"},
{"agent": "writer", "action": "report"}
]
}
]
}
}
四、实战案例
4.1 内容创作工作流
场景:撰写行业分析报告
工作流:
用户请求 → Coordinator
↓
分解任务
├────────┬────────┐
↓ ↓ ↓
Researcher Analyst Writer
搜集资料 分析数据 撰写报告
│ │ │
└────────┴────────┘
↓
Coordinator
整合结果
↓
用户
步骤:
创建 Agents:
openclaw agents add coordinator --workspace ~/.openclaw/agents/coordinator
openclaw agents add researcher --workspace ~/.openclaw/agents/researcher
openclaw agents add analyst --workspace ~/.openclaw/agents/analyst
openclaw agents add writer --workspace ~/.openclaw/agents/writer
配置 Skills:
# Researcher
clawhub install tavily-search --agent researcher
clawhub install web-fetch --agent researcher
# Analyst
clawhub install excel-parser --agent analyst
# Writer
clawhub install writing-assistant --agent writer
配置工作流:
{
"workflow": {
"name": "content_creation",
"trigger": "撰写.*报告",
"steps": [
{
"agent": "researcher",
"prompt": "搜索关于{主题}的最新资料"
},
{
"agent": "analyst",
"prompt": "分析以下资料:{research_results}"
},
{
"agent": "writer",
"prompt": "根据以下分析撰写报告:{analysis}"
}
]
}
}
4.2 代码开发工作流
场景:开发新功能
工作流:
用户需求 → 需求分析 → 设计 → 实现 → 测试 → 审查 → 用户
五、Agent 间通信
5.1 共享存储
mkdir -p ~/.openclaw/shared
配置:
{
"sharedStorage": {
"enabled": true,
"path": "~/.openclaw/shared",
"permissions": {
"coder": ["read", "write"],
"writer": ["read"],
"researcher": ["read", "write"]
}
}
}
5.2 共享记忆
创建 ~/.openclaw/shared/MEMORY.md:
# 共享记忆
## 项目信息
- 项目名称:OpenClaw 教程系列
- 开始时间:2026-03-10
## 用户偏好
- 写作风格:严谨有文采
- 代码风格:PEP8
5.3 消息传递
{
"internalMessaging": {
"enabled": true,
"queue": {
"maxSize": 100,
"timeout": 30000
}
}
}
六、最佳实践
6.1 命名规范
格式:{角色}-{领域}-{版本}
示例:
coder-backend-v1writer-marketing-v1
6.2 资源隔离
每个 Agent 独立:
API Key(可选)
Skills 配置
记忆空间
日志文件
6.3 成本控制
{
"budget": {
"perAgent": {
"coder": {
"dailyLimit": 500000,
"monthlyLimit": 15000000
},
"writer": {
"dailyLimit": 300000,
"monthlyLimit": 9000000
}
}
}
}
6.4 安全审计
{
"audit": {
"enabled": true,
"logFile": "~/.openclaw/logs/audit.log",
"events": [
"file.access",
"command.exec",
"api.call",
"message.send"
]
}
}
总结
多代理系统让 OpenClaw 从"单兵作战"升级为"团队协同"。
核心要点:
根据场景设计专业 Agent
配置智能路由规则
建立 Agent 间通信机制
做好资源隔离和成本控制
夜雨聆风