乐于分享
好东西不私藏

OpenClaw 搭建多智能体团队:我的实战手记

OpenClaw 搭建多智能体团队:我的实战手记
当我让一个 Agent 帮我写文章,它悄悄调动了另外一个 Agent 帮我画图——这就是我今天用 OpenClaw 搭建的多智能体团队。

01

一个 Agent 包含哪些核心要素?
在实操 OpenClaw 创建 Agent 之前,先搞清楚一个问题:一个 AI Agent 到底由什么组件?
1. 身份(Identity)
Agent 是谁?叫什么?什么风格说话?这部分对应 OpenClaw 中的 `IDENTITY.md`。
2. 灵魂(SOUL)
Agent 的思维方式、行为准则、专业能力范围。`SOUL.md` 定义了它"遇到问题怎么想、怎么做"。
3. 工具(Tools)
Agent 能调用哪些工具?搜索、画图、发消息、写文件……对应 OpenClaw 中的 Skills(技能)。
4. 记忆(Memory)
Agent 需要记住什么?短期靠会话,长期靠文件。对应 `MEMORY.md` 和 `memory/` 目录。
5. 上下文(Context)
每次对话的历史、当前任务的背景信息。OpenClaw 会自动维护会话上下文。
6. 执行环境(Workspace)
Agent 的工作目录,有自己的文件系统视图。

03

OpenClaw 中 Agent 的具体构成
OpenClaw 的 Agent 结构非常清晰。每个 Agent 就是一个目录,以我创建的**生图虾**(`draw`)为例:
~/.openclaw/agents/draw/├── agent/              ← Agent 核心配置目录│   ├── IDENTITY.md     ← 身份定义│   └── SOUL.md         ← 灵魂/行为准则├── workspace/          ← 工作区│   ├── skills/         ← 可用的技能目录│   │   └── prompt-templates/│   │       └── SKILL.md│   ├── AGENTS.md       ← 工作区说明│   ├── IDENTITY.md     ← 工作区身份(可继承)│   └── SOUL.md         ← 工作区规则(可覆盖)└── sessions/           ← 会话历史
关键文件的作用:
文件
作用
IDENTITY.md
定义 Agent 的名字、头像、说话风格
SOUL.md
定义 Agent 的专业能力、工作流程、行为规范
AGENTS.md
工作区的 AI 团队宪章
skills/
技能目录,存放可复用的工具包
全局配置文件:
`~/.openclaw/openclaw.json` 也很重要,里面定义了:
- Agent 列表
- 工具配置(web search、QQ channel 等)
- 插件和扩展
- Gateway 配置

03

OpenClaw Skills 安装方式
在搭建 Agent 之前,先说说怎么安装 Skill(技能)。OpenClaw 的 Skill 可以理解为 Agent 的"工具箱",让 Agent 具备特定能力。
  • 方式一:从 ClawHub 安装(推荐)
[ClawHub](https://clawhub.ai/) 是 OpenClaw 的官方技能市场,找到想要的 Skill 后,一行命令就能安装:
npx clawhub@latest install <skill-slug>
比如安装"中文去AI味"技能:
npx clawhub@latest install humanize-zh
安装完成后,Skill 会放到 `~/.openclaw/workspace/skills/` 目录下。
  • 方式二:手动安装
有时候 ClawHub 访问受限,或者找不到现成的 Skill,可以手动创建:
1. 在 `~/.openclaw/workspace/skills/` 下创建目录
2. 编写 `SKILL.md`,定义技能的功能和使用方式
3. 在 Agent 的 `workspace/skills/` 目录创建链接指向它
比如我的"写手虾"需要访问"去AI味"技能,就在自己的 skills 目录下创建了符号链接:
~/.openclaw/agents/article-writer/workspace/skills/├── humanize-zh/        → 链接到全局的 humanize-zh├── tavily/             → 链接到全局的 tavily 搜索└── wechat-article-publisher/  → 链接到公众号发布技能
  • 方式三:龙虾自动安装
除了上面两种方式之外,还可以直接通过对话方式,让龙虾直接安装Skills,比如:
### 安装 Skill 前的安全检查 ⚠️
非常重要:安装任何 Skill 之前,务必先审查它的内容:
1. 查看 `SKILL.md` 里有没有可疑的 exec/shell 命令
2. 确认 Skill 不包含隐藏的数据外传机制
3. 检查依赖声明是否正常(不引入未知第三方包)
4. 确认安全后再安装,切勿盲目安装来源不明的 Skill
你可以直接告诉龙虾,在安装Skills之前,检查Skills的安全性:

04

OpenClaw 如何构建 Agent?
创建 Agent 有三种方式:
  • 方式一:命令行(适合快速创建)
openclaw agents add <agent-id>\  --workspace ~/.openclaw/agents/my-agent/workspace \  --non-interactive
这会在 `openclaw.json` 里注册一个新 Agent,并创建目录结构。
  • 方式二:手动配置(适合深度定制)
1. 创建工作目录
C:\\Users\\username\\.openclaw\\agents\\draw\\
2. 编写 `IDENTITY.md` 和 `SOUL.md`
3. 在 `~/.openclaw/openclaw.json` 的 `agents` 节点注册
"agents": {    "list": [      {        "id""draw",        "name""draw",        "workspace""C:\\Users\\username\\.openclaw\\agents\\draw\\workspace",        "agentDir""C:\\Users\\username\\.openclaw\\agents\\draw\\agent"      }    ]  }
  • 方式三:对话创建(最简单,推荐!)
这是最简单的方式——不用记命令,直接用中文告诉小龙虾你想创建什么样的 Agent,它会帮你完成一切。
比如我对它说:
"帮我创建一个叫'生图虾'的 Agent,专门负责生成图片,风格包括插画和学术图表"
小龙虾就会自动:
1. 创建 Agent 目录结构
2. 编写 `IDENTITY.md`(定义名字、风格)
3. 编写 `SOUL.md`(定义工作流程)
4. 配置好技能目录和链接
5. 告诉你创建完成,可以直接使用
整个过程你只需要说一句话。
这就是我创建"写手虾"的方式——直接告诉主 Agent 我的需求,剩下的全部由它搞定。

05

实战一:创建"生图虾"(图片生成 Agent)
需求:我需要一个专门负责画图的 Agent,输入描述就能生成图片。支持的风格包括:
- 插画风格(二次元)
- 严谨学术三线表风
- 模块化信息卡片流风
步骤 1:创建 Agent
openclawagentsadddraw\  --workspace ~/.openclaw/agents/draw/workspace \  --non-interactive
步骤 2:编写 IDENTITY.md
# IDENTITY.md - Who Am I?-**Name:** 生图虾-**Creature:** 一只专业的AI图片生成助手 🦐-**Vibe:** 创意十足、热情满满、专注细节-**Emoji:** 🦐
步骤 3:编写 SOUL.md
核心流程:**先查 prompt-templates 技能 → 填充内容 → 调用 Doubao API 生成图片**
## 工作流程1. 识别用户指定的风格(插画/学术三线表/模块化卡片)2. 到 prompt-templates 技能查找对应模板3. 将用户描述填入模板,生成完整英文提示词4. 调用 Doubao Seedream API 生成图片5. 展示结果,询问是否需要调整
步骤 4:配置技能
为了支持多种风格,我创建了一个 `prompt-templates` 技能:
~/.openclaw/agents/draw/workspace/skills/prompt-templates/└── SKILL.md
SKILL.md 里定义了三种风格的提示词模板。
以**插画风格**为例:
### 1. 插画风格(illustration)**适用场景**:二次元插画、角色立绘、绘本风格**模板结构**```{A} with {B}, {C} style, {D} background, {E} lighting, high quality, detailed, anime illustration style, vibrant colors```**占位符说明**- `{A}` = 主体(人物/角色描述)- `{B}` = 服装/装饰细节- `{C}` = 风格修饰词(如 anime, fantasy, children's book)- `{D}` = 背景场景- `{E}` = 光影效果**完整模板 Prompt**```{A}, wearing {B}, {C} style, {D} background, {E} lighting, high quality, detailed, anime illustration style, vibrant colors```
当用户说"画一只穿汉服的猫娘,插画风格",生图虾就把"穿汉服的猫娘"填入 `{A}`,生成完整提示词后调用 API。
步骤 5:配置 Doubao API
在 Agent 工作区创建 `.env` 文件:
ARK_API_KEY=你的API密钥VOLCENGINE_BASE_URL=https://ark.cn-beijing.volces.com/api/v3

06

实战二:创建"写作虾"(文章撰写 Agent)
需求:写作虾要能完成完整的技术文章撰写流水线:
需求确认 → 调研(Tavily) → 大纲确认 → 逐节撰写→ 联网补充 → 自查润色 → 去AI味(humanize-zh)→ 生图(draw) → 发公众号
步骤 1:创建 Agent
openclaw agents add article-writer\  --workspace ~/.openclaw/agents/article-writer/workspace \  --non-interactive
步骤 2:编写 SOUL.md
写作虾的 SOUL.md 是整篇文章的核心。它定义了:
**人设**:程序员出身,技术深厚,文笔流畅。**九步工作流**(严格遵守):```1. 需求理解 — 确认主题、受众、风格、篇幅2. 初步调研 — 通过 Tavily Search 搜集资料3. 大纲拟定 — 输出结构化大纲供用户确认4. 逐节撰写 — 每个章节独立完成5. 联网补充 — 深挖技术细节,验证数据6. 自查润色 — 检查逻辑一致性、数据准确性7. 去 AI 味 — 使用 humanize-zh 技能改写8. 生成配图 — 调用生图虾子 Agent9. 格式交付 — 输出 Markdown,发公众号草稿箱```
步骤 3:配置子 Agent 调用
在~/.openclaw/openclaw.json文件中找到 `article-writer` agent 注册位置,添加 `subagents`:
"agents": {    "list": [      {        "id""draw",        "name""draw虾",        "workspace""C:\\Users\\username\\.openclaw\\agents\\draw\\workspace",        "agentDir""C:\\Users\\username\\.openclaw\\agents\\draw\\agent"      },      {        "id""article-writer",        "name""article-writer",        "workspace""C:\\Users\\username\\.openclaw\\agents\\article-writer\\workspace",        "agentDir""C:\\Users\\usernmae\\.openclaw\\agents\\article-writer\\agent",        "subagents": {          "allowAgents": ["draw"]        }      }    ]  }
写作虾在需要配图时,会通过 `sessions_spawn` 启动生图虾:
```pythonsessions_spawn(  task="画一张...",       # 生图任务描述  runtime="subagent",  agentId="draw"           # 调用生图虾)```
这就是多 Agent 协作的核心机制。
步骤 4:配置技能链接
写作虾的工作区需要能访问其他技能和 Agent,通过**目录链接**实现:
~/.openclaw/agents/article-writer/workspace/skills/├── tavily/              → 链接到全局 tavily 技能├── humanize-zh/        → 链接到全局去AI味技能├── wechat-article-publisher/  → 链接到公众号发布技能└── draw/                → 链接到生图虾的工作区(调用而非读取)

07

多 Agent 协作:写作虾是如何调动生图虾的?
这是最有趣的部分。
当你对写作虾说:"帮我写一篇 RAG 技术科普文,配几张插图"
写作虾的内部执行流程是这样的:
用户请求  ↓[写作虾] 调研 → 写文章 → 去AI味  ↓ 发现需要配图[写作虾] 通过 sessions_spawn 启动生图虾  ↓[生图虾] 接收图片描述 → 查模板 → 填充提示词 → 调用Doubao API → 返回图片URL  ↓[写作虾] 将图片URL插入文章 → 格式调整 → 输出Markdown  ↓[写作虾] 调用 wechat-article-publisher → 发布到公众号草稿箱
整个过程无需人工干预。
技术实现上,这种协作依赖 OpenClaw 的几个机制:
1.sessions_spawn — 在独立 session 中启动子 Agent
2.共享 skills 目录 — 子 Agent 能访问父 Agent 的技能
3.Workspace 文件系统 — 图片 URL 通过文件传递
关注我的公众号:数智札记,一个分享AI/大数据/云原生等技术干货的博客。