
先说清楚:为什么要搞多 Agent?
单 Agent 也能干活,为什么要折腾多 Agent?
| 场景 | 单 Agent | 多 Agent |
|---|---|---|
| 写个脚本还行 | 够用 | 没必要 |
| 一条视频从头做到尾 | 越干越乱 | 各司其职 |
| 多条内容并行 | 排队等 | 同时开工 |
| 一个 Agent 写脚本又剪视频 | 上下文爆炸 | 各管各的 |
一句话:活儿多了、流程长了,就得拆。
第一步:搞清楚你要什么
动手前先想明白三件事:
1. 你的业务流程是什么?
以短视频生产为例:
选题 → 写脚本 → 找素材 → 剪视频 → 质检 → 发布
每一步对应一个 Agent。
2. 谁来当”老板”?
需要一个 Orchestrator(编排者),负责:
- 接收你的指令
- 分配任务给其他 Agent
- 收集结果、做决策
- 汇报进度
我们叫它 主编 Agent。
3. 每个 Agent 干什么?
| Agent | 干啥 | 模式建议 |
|---|---|---|
| 选题 | 找热点、挖选题 | run(一次性) |
| 脚本 | 写文案 | run(一次性) |
| 素材 | 找图找视频、生成数字人 | session(可能要补充) |
| 剪辑 | 合成视频 | run(一次性) |
| 质检 | 检查质量 | run(一次性) |
| 发布 | 多平台分发 | run(一次性) |
第二步:建目录结构
直接照着这个建:
mkdir -p openclaw/agents/{chief-editor,topic-scout,script-writer,material-hunter,video-editor,quality-checker,publisher}mkdir -p openclaw/{memory,output,assets}建完长这样:
openclaw/
├── agents/
│ ├── chief-editor/ # 主编
│ ├── topic-scout/ # 选题
│ ├── script-writer/ # 脚本
│ ├── material-hunter/ # 素材
│ ├── video-editor/ # 剪辑
│ ├── quality-checker/ # 质检
│ └── publisher/ # 发布
├── memory/ # 记忆
├── output/ # 输出
└── assets/ # 素材第三步:写 Agent 配置
每个 Agent 要有两个文件:IDENTITY.md 和 SOUL.md。
IDENTITY.md – 基本信息卡
放 agents/chief-editor/IDENTITY.md:
# 主编老曹
## 基本信息
- 名字:老曹
- 代号:chief-editor
- 角色:编排者
- Emoji:🎬
## 职责
- 接收任务
- 调度其他 Agent
- 汇总结果SOUL.md – 干活的详细指南
放 agents/chief-editor/SOUL.md:
# 主编老曹的 Soul
## 你是谁
你是内容主编,负责调度其他 Agent 协同工作。
## 你要做什么
1. 收到任务后,解析需求
2. 按流程调用其他 Agent
3. 收集结果,做最终审核
4. 汇报完成情况
## 你可以调度谁
| Agent | 干啥 | 调用方式 |
|-------|------|----------|
| topic-scout | 找选题 | sessions_spawn, mode=run |
| script-writer | 写脚本 | sessions_spawn, mode=run |
| material-hunter | 找素材 | sessions_spawn, mode=session |
| video-editor | 剪视频 | sessions_spawn, mode=run |
| quality-checker | 质检 | sessions_spawn, mode=run |
| publisher | 发布 | sessions_spawn, mode=run |## 怎么调用
### 调用选题 Agent
{
"tool": "sessions_spawn",
"params": {
"agent": "topic-scout",
"mode": "run",
"task": {
"request": "要一个关于 xxx 的选题"
}
}
}
### 并行调用(脚本 + 素材同时搞)
一次发两个 sessions_spawn:
- 一个给 script-writer
- 一个给 material-hunter### 收结果
子 Agent 完成后,会通过 Event Bus 自动推送结果给你。
你会在消息里看到类似:
[System] Subagent topic-scout completedResult: {...}
## 状态怎么存
每个任务建一个文件:memory/tasks/task_日期_序号.json
{
"task_id": "task_20260310_001",
"status": "EDITING",
"phases": {
"PLANNING": {"completed_at": "...", "result": {...}},
"SCRIPTING": {"completed_at": "...", "result": {...}}
}
}其他 Agent 的 SOUL.md 怎么写
核心思路:告诉它干什么,给它什么输入,它输出什么。
选题 Agent (agents/topic-scout/SOUL.md):
# 选题 Agent
## 你是谁
你是选题专家,负责找热点、挖选题。
## 输入
-
用户的大致方向
-
人设定位
## 输出
{
"topics": [
{
"title": "Agent开发避坑指南",
"angle": "从踩坑角度切入",
"form": "口播",
"reason": "最近 Agent 很火,但很多人不知道怎么用"
}
]
}
## 怎么找选题
1. 看最近 AI 圈子都在讨论什么
2. 结合人设找切入点
3. 输出 3-5 个选项供主编选择脚本 Agent (agents/script-writer/SOUL.md):
# 脚本 Agent
## 你是谁
你是脚本写手,负责写视频文案。
## 输入
- 选题
- 形式(口播/混剪/数字人)
- 时长
- 风格要求
## 输出
{
"script": "完整的脚本文本",
"duration": 60,
"segments": [
{"text": "开头", "duration": 5},
{"text": "正文", "duration": 50},
{"text": "结尾", "duration": 5}
]
}
## 写作要点
- 开头 3 秒抓人
- 用大白话,别整虚的
- 禁用词:赋能、抓手、闭环、底层逻辑第四步:写工作流配置
建 agent-workflow.json:
{
"workflow": {
"name": "video-production",
"version": "1.0.0"
},
"agents": {
"chief-editor": {
"role": "orchestrator",
"workspace": "agents/chief-editor",
"model": "claude-sonnet-4-6",
"max_concurrent_children": 5
},
"topic-scout": {
"role": "worker",
"workspace": "agents/topic-scout",
"model": "claude-haiku-4-5",
"timeout_ms": 120000
},
"script-writer": {
"role": "worker",
"workspace": "agents/script-writer",
"model": "claude-sonnet-4-6",
"timeout_ms": 300000
},
"material-hunter": {
"role": "worker",
"workspace": "agents/material-hunter",
"model": "claude-haiku-4-5",
"timeout_ms": 600000,
"persist_session": true
},
"video-editor": {
"role": "worker",
"workspace": "agents/video-editor",
"model": "claude-sonnet-4-6",
"timeout_ms": 900000
},
"quality-checker": {
"role": "worker",
"workspace": "agents/quality-checker",
"model": "claude-sonnet-4-6",
"timeout_ms": 180000
},
"publisher": {
"role": "worker",
"workspace": "agents/publisher",
"model": "claude-haiku-4-5",
"timeout_ms": 300000
}
},
"phases": [
{
"name": "planning",
"agent": "topic-scout",
"mode": "run",
"timeout_ms": 120000
},
{
"name": "content_prep",
"parallel": true,
"tasks": [
{"name": "scripting", "agent": "script-writer", "mode": "run"},
{"name": "collecting", "agent": "material-hunter", "mode": "session"}
]
},
{
"name": "editing",
"agent": "video-editor",
"mode": "run",
"timeout_ms": 900000
},
{
"name": "quality_check",
"agent": "quality-checker",
"mode": "run",
"on_failure": {
"score_below_60": "notify_user"
}
},
{
"name": "publishing",
"agent": "publisher",
"mode": "run"
}
],
"storage": {
"tasks_dir": "memory/tasks",
"output_dir": "output"
}
}第五步:注册到 OpenClaw
编辑 ~/.openclaw/openclaw.json,把你的 Agent 加进去:
{
"agents": {
"list": [
{
"id": "chief-editor",
"workspace": "你的路径/openclaw/agents/chief-editor",
"identity": {
"name": "主编老曹",
"theme": "调度和把控",
"emoji": "🎬"
},
"model": "claude-sonnet-4-6"
},
{
"id": "topic-scout",
"workspace": "你的路径/openclaw/agents/topic-scout",
"identity": {
"name": "探长",
"theme": "选题雷达",
"emoji": "🎯"
},
"model": "claude-haiku-4-5"
}
]
}
}注意:把 你的路径 换成实际路径。
第六步:配通信通道
飞书
{
"channels": {
"feishu": {
"appId": "cli_xxx",
"appSecret": "xxx",
"connectionMode": "websocket",
"groupPolicy": "open",
"requireMention": false
}
}
}Telegram
{
"channels": {
"telegram": {
"botToken": "你的 bot token"
}
}
}绑定群
{
"bindings": [
{
"agentId": "chief-editor",
"match": {
"channel": "feishu",
"peer": {
"kind": "group",
"id": "oc_xxx"
}
}
}
]
}怎么拿群 ID:
1. 在群里发条消息
2. 看日志:tail -f /tmp/openclaw/openclaw-*.log
3. 找到群 ID
第七步:开跑
# 启动
openclaw gateway start
# 看状态
openclaw gateway status
# 看日志
openclaw logs然后在群里发:
帮我做一条关于 Agent 开发的视频
主编 Agent 会收到消息,开始调度其他 Agent。

记忆系统怎么用
三层记忆
1. USER.md – 你的画像(不怎么变)
2. MEMORY.md – 长期记忆(定期更新)
3. memory/日期.md – 每日记录(按天写)
主编 Agent 每次启动时
1. 读 SOUL.md → 知道自己是谁
2. 读 USER.md → 知道你是谁
3. 读 memory/今天.md → 知道今天干了啥
4. 读 MEMORY.md → 记住重要的事
记什么
# memory/2026-03-10.md
## 今天干的活
- 做了 Agent 开发视频
- 脚本改了 2 版
- 抖音发了 3 条
## 记住的事
- 晚 6 点发抖音效果最好
- "赋能"这个词不能用常见问题
群里发消息没反应
1. 看 groupPolicy 是不是 “open”
2. 看 requireMention 是不是 false
3. 看日志有没有报错
4. 看 bindings 里的群 ID 对不对
Agent 调用失败
看是不是超了限制:
{
"tools": {
"agentToAgent": {
"maxSpawnDepth": 5,
"maxChildren": 10
}
}
}怎么调试
直接看日志:tail -f /tmp/openclaw/openclaw-*.log
关键点总结
1. 每个 Agent 职责单一 – 别让一个人干太多事
2. 能并行的就并行 – 脚本和素材可以同时搞
3. SOUL.md 要写清楚 – 告诉 Agent 输入输出是什么
4. 记忆要维护 – 不然 Agent 每次都是新来的
5. 日志多看 – 出问题先看日志
转载作品,原作者:,文章来源:https://mp.weixin.qq.com/s/H8javLJ-4iBCiiNuyUSsNQ









