动态 Agent 协作系统设计方案
基于 OpenClaw 的多 Agent 协作体系
版本:v1.0
创建日期:2026-04-07
作者:公共事务部 AI 助手
状态:设计方案
目录
- 系统概述
- 系统架构
- [动态 Agent 生成机制](#三动态 agent 生成机制)
- 基于文件的消息传递
- 质量检查机制
- 检查点与重试机制
- 上下文管理
- 任务迭代与修改管理
- 全流程可视化
- [OpenClaw 集成方案](#十 openclaw 集成方案)
- 实施路线图
一、系统概述
1.1 设计目标
构建一个灵活、可靠、可追溯的动态 Agent 协作系统,实现:
| 目标 |
说明 |
| 动态生成 |
根据任务临时创建专属 Agent,而非固定角色 |
| 过程透明 |
全流程可视化,用户实时看到执行状态 |
| 质量保障 |
独立质量检查 Agent,检查通过才归档 |
| 稳定可靠 |
基于文件的消息传递 + 检查点 + 重试机制 |
| 可追溯 |
完整版本管理,支持修改迭代 |
| OpenClaw 原生 |
充分利用 OpenClaw 现有能力 |
1.2 核心特性
┌─────────────────────────────────────────────────────────────────┐
│ 核心特性全景图 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 动态 Agent │ │ 文件消息 │ │ 质量检查 │ │
│ │ 临时生成 │ │ 队列传递 │ │ 独立检查 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 检查点 │ │ 上下文 │ │ 任务迭代 │ │
│ │ 断点恢复 │ │ 分层管理 │ │ 版本控制 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ 全流程 │ │ OpenClaw │ │
│ │ 可视化 │ │ 原生集成 │ │
│ └──────────────┘ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
1.3 适用场景
| 场景 |
说明 |
示例 |
| 复杂跨领域任务 |
需要多角色协同 |
“分析 AI 监管对业务的影响” |
| 临时专项任务 |
一次性、定制化 |
“筹备 XX 峰会” |
| 探索性研究 |
需要多视角综合 |
“调研 Web3 政策机会” |
| 决策支持 |
需要全面分析 |
“评估新业务合规风险” |
二、系统架构
2.1 整体架构
┌─────────────────────────────────────────────────────────────────────────┐
│ 动态 Agent 协作系统 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 用户交互层 │ │
│ │ - 任务输入 │ │
│ │ - 修改请求 │ │
│ │ - 进度查询 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 🎯 协调指挥官 (Boss) │ │
│ │ - 任务拆解与 Agent 设计 │ │
│ │ - 质量检查标准制定 │ │
│ │ - 任务派发与调度 │ │
│ │ - 成果汇总与交付 │ │
│ │ - 修改决策与版本管理 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌───────────────┼───────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 执行 Agent │ │ 质量检查 │ │ 可视化 │ │
│ │ (动态生成) │ │ Agent │ │ Agent │ │
│ │ - 搜索 │ │ - 检查标准 │ │ - 状态更新 │ │
│ │ - 解读 │ │ - 质量验证 │ │ - 图表生成 │ │
│ │ - 评估 │ │ - 打标归档 │ │ - 页面维护 │ │
│ │ - 策略 │ │ - 退回重做 │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ OpenClaw 核心能力 │ │
│ │ - sessions_spawn (Agent 生成) │ │
│ │ - memory_search/memory_get (记忆管理) │ │
│ │ - exec (脚本执行) │ │
│ │ - message (消息通知) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
2.2 技术栈
| 层级 |
技术 |
说明 |
| 编排层 |
OpenClaw sessions_spawn |
Agent 生成与调度 |
| 消息层 |
文件系统 (JSON) |
基于文件的消息队列 |
| 存储层 |
本地文件系统 |
任务目录 + 归档目录 |
| 可视化 |
ECharts + HTML |
实时动态页面 |
| 记忆层 |
OpenClaw Memory |
SQLite + 向量搜索 |
| 执行层 |
Node.js 脚本 |
任务执行逻辑 |
三、动态 Agent 生成机制
3.1 Agent 设计流程
用户任务输入
│
▼
┌─────────────────────────────────────────┐
│ 协调官分析任务 │
│ - 识别核心主题 │
│ - 识别关键动作 │
│ - 识别交付要求 │
└────────────┬────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 生成 Agent 设计方案 │
│ { │
│ "agents": [ │
│ { │
│ "id": "agent-search-001", │
│ "role": "AI 政策情报员", │
│ "system_prompt": "...", │
│ "task": "..." │
│ } │
│ ], │
│ "workflow": "parallel|sequential", │
│ "qualityStandards": {...} │
│ } │
└────────────┬────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 用户确认设计方案 │
│ (C/D 类任务需确认) │
└────────────┬────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ sessions_spawn 动态生成 Agent │
│ - agentId: dynamic-{taskHash}-{id} │
│ - runtime: subagent │
│ - mode: run|session │
│ - cleanup: keep │
└────────────┬────────────────────────────┘
│
▼
Agent 执行任务
3.2 Agent 角色模板库
| 角色类型 |
职责 |
触发关键词 |
| 政策研究员 |
政策跟踪、解读 |
政策、法规、文件 |
| 风险分析师 |
风险识别、评估 |
风险、合规、隐患 |
| 数据分析师 |
数据整理、可视化 |
数据、统计、图表 |
| 行业专家 |
行业洞察、趋势 |
行业、趋势、竞争 |
| 文案撰写师 |
报告撰写、润色 |
报告、文档、撰写 |
| 搜索专家 |
信息检索、验证 |
搜索、查询、调研 |
| 质量检查员 |
质量验证、打标 |
检查、验证、审核 |
| 可视化专员 |
图表生成、展示 |
可视化、图表、展示 |
3.3 Agent 生命周期
创建 → 执行 → 检查 → 归档 → 清理
│ │ │ │ │
│ │ │ │ └─ 删除临时会话
│ │ │ └─ 核心结论写入 MEMORY.md
│ │ └─ 质量检查通过/不通过
│ └─ 写入检查点
└─ 注入任务背景
四、基于文件的消息传递
4.1 文件系统架构
/workspace-boss/
└── tasks/
└── task-20260407-001/ # 任务根目录
├── config/ # 配置目录
│ ├── task.json # 任务定义
│ ├── agents.json # Agent 配置
│ ├── quality-standards.json # 质量检查标准
│ └── lifecycle.json # 生命周期配置
│
├── queue/ # 消息队列
│ ├── pending/ # 待处理消息
│ ├── processing/ # 处理中消息
│ ├── completed/ # 已完成消息
│ └── failed/ # 失败消息
│
├── agents/ # Agent 工作目录
│ ├── agent-search-001/
│ │ ├── inbox/ # 收件箱
│ │ ├── outbox/ # 发件箱
│ │ ├── status.json # Agent 状态
│ │ ├── checkpoint.json # 检查点
│ │ └── output.md # 产出物
│ └── ...
│
├── shared/ # 共享目录
│ ├── status.json # 任务总状态
│ ├── logs.jsonl # 执行日志
│ ├── viz-data.json # 可视化数据
│ ├── viz.html # 可视化页面
│ └── coordination.md # 协调记录
│
└── archive/ # 归档目录
├── approved/ # 通过的产出物
├── failed/ # 失败的产出物
├── summaries/ # 任务摘要
└── reports/ # 最终报告
4.2 消息格式
{
"messageId": "msg-20260407-001",
"taskId": "task-20260407-001",
"timestamp": "2026-04-07T12:30:00Z",
"type": "task-assign",
"priority": "normal",
"from": {
"agentId": "boss",
"role": "协调指挥官"
},
"to": {
"agentId": "agent-search-001",
"role": "AI 政策情报员"
},
"content": {
"subject": "搜索 AI 监管政策",
"body": "请搜索 2025-2026 年最新 AI 监管政策...",
"attachments": ["policy-keywords.txt"],
"deadline": "2026-04-07T13:00:00Z"
},
"metadata": {
"retryCount": 0,
"maxRetries": 3,
"timeoutSeconds": 1800,
"checkpointId": "ckpt-001"
},
"status": "pending"
}
4.3 消息队列管理器
// scripts/message-queue-manager.js
class MessageQueueManager {
constructor(taskId) {
this.taskId = taskId;
this.baseDir = `tasks/${taskId}/queue`;
this.ensureDirs();
}
// 发送消息
sendMessage(message) {
const filePath = `${this.baseDir}/pending/${message.messageId}.json`;
write(filePath, JSON.stringify(message, null, 2));
}
// 接收消息
receiveMessage(agentId) {
const pending = readDir(`${this.baseDir}/pending`);
for (const file of pending) {
const msg = JSON.parse(read(`${this.baseDir}/pending/${file}`));
if (msg.to.agentId === agentId && msg.status === 'pending') {
msg.status = 'processing';
move(`${this.baseDir}/pending/${file}`, `${this.baseDir}/processing/${file}`);
return msg;
}
}
return null;
}
// 完成消息
completeMessage(messageId, output) {
const msg = read(`${this.baseDir}/processing/${messageId}.json`);
msg.status = 'completed';
msg.output = output;
move(`${this.baseDir}/processing/${messageId}.json`,
`${this.baseDir}/completed/${messageId}-done.json`);
}
// 失败消息(触发重试)
failMessage(messageId, error) {
const msg = read(`${this.baseDir}/processing/${messageId}.json`);
msg.retryCount = (msg.retryCount || 0) + 1;
if (msg.retryCount < msg.maxRetries) {
// 重试:指数退避
const backoffSeconds = 30 * Math.pow(2, msg.retryCount);
setTimeout(() => {
msg.status = 'pending';
move(`${this.baseDir}/processing/${messageId}.json`,
`${this.baseDir}/pending/${messageId}.json`);
}, backoffSeconds * 1000);
} else {
// 永久失败
msg.status = 'failed';
msg.finalError = error;
move(`${this.baseDir}/processing/${messageId}.json`,
`${this.baseDir}/failed/${messageId}-failed.json`);
notifyCoordinator(msg);
}
}
}
五、质量检查机制
5.1 质量检查 Agent 职责
| 职责 |
说明 |
| 接收检查标准 |
从协调官下发的任务包中获取 |
| 执行检查 |
格式检查、内容检查、来源检查 |
| 输出结果 |
通过/不通过 + 详细理由 |
| 打标归档 |
通过的产出物打标后归档 |
| 退回重做 |
不通过的退回,最多 3 次 |
5.2 质量检查标准模板
{
"qualityStandards": {
"standardId": "qs-20260407-001",
"taskId": "task-20260407-001",
"format": {
"fileType": "markdown",
"minLength": 500,
"maxLength": 10000,
"requiredSections": ["概述", "正文", "结论", "参考来源"]
},
"content": {
"completeness": {
"required": true,
"checkItems": ["是否包含所有要求的内容项", "是否有明确的结论"]
},
"accuracy": {
"required": true,
"checkItems": ["数据是否来自可靠来源", "引用是否准确"]
},
"timeliness": {
"required": true,
"maxAge": "90 days"
}
},
"sources": {
"requiredSources": ["政府官网", "主流媒体", "学术机构"],
"minSourceCount": 5,
"crossValidation": { "required": true, "minSources": 2 }
},
"acceptanceCriteria": {
"quantitative": [
{"metric": "政策数量", "min": 10, "max": 30},
{"metric": "引用来源数", "min": 5, "max": 20}
],
"qualitative": ["逻辑清晰", "数据准确", "建议可行"]
}
}
}
5.3 检查流程
执行 Agent 提交产出物
│
▼
质量检查 Agent 接收
│
▼
┌─────────────────────────────────────────┐
│ 执行检查 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐│
│ │ 格式检查 │→ │ 内容检查 │→ │ 来源检查 ││
│ │ (自动化) │ │ (LLM 辅助)│ │ (自动化) ││
│ └──────────┘ └──────────┘ └──────────┘│
└────────────┬────────────────────────────┘
│
▼
┌──────┴──────┐
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ 通过 ✅ │ │ 不通过 ❌ │
│ 打标归档 │ │ 检查重试 │
│ 通知下一环│ │ 次数 │
└──────────┘ └────┬─────┘
│
┌────────┴────────┐
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ <3 次 │ │ ≥3 次 │
│ 返回重做 │ │ 永久失败 │
│ + 意见 │ │ + 告警 │
└──────────┘ └──────────┘
5.4 检查结果格式
{
"checkId": "qc-check-001",
"taskId": "task-20260407-001",
"agentId": "agent-search-001",
"checkerId": "agent-qc-001",
"timestamp": "2026-04-07T12:45:00Z",
"result": "failed",
"checks": [
{
"checkpointId": "ckpt-format",
"name": "格式检查",
"status": "passed",
"score": 100,
"details": "文件格式符合要求"
},
{
"checkpointId": "ckpt-content",
"name": "内容检查",
"status": "failed",
"score": 60,
"issues": [
{
"issueId": "issue-001",
"severity": "high",
"description": "缺少'参考来源'章节",
"suggestion": "请补充参考来源章节"
}
]
}
],
"overallScore": 75,
"passThreshold": 80,
"retryInfo": {
"retryCount": 1,
"maxRetries": 3,
"canRetry": true
},
"action": "retry"
}
六、检查点与重试机制
6.1 检查点设计
{
"checkpointId": "ckpt-20260407-001-001",
"taskId": "task-20260407-001",
"agentId": "agent-search-001",
"timestamp": "2026-04-07T12:31:00Z",
"phase": "search",
"status": "completed",
"data": {
"searchResults": 15,
"keywords": ["AI 监管", "人工智能", "算法备案"],
"sources": ["网信办", "工信部", "科技部"]
},
"nextCheckpoint": "ckpt-20260407-001-002",
"prevCheckpoint": "ckpt-20260407-001-000",
"canRetry": true,
"retryCount": 0
}
6.2 检查点写入时机
| 时机 |
触发条件 |
写入内容 |
| 任务开始 |
Agent 收到消息 |
任务参数、开始时间 |
| 阶段完成 |
子任务完成 |
阶段产出、状态 |
| 发送消息 |
向其他 Agent 发消息 |
消息内容、接收方 |
| 收到消息 |
从队列读取消息 |
消息内容、发送方 |
| 任务完成 |
所有子任务完成 |
最终产出、耗时 |
| 发生错误 |
捕获异常 |
错误信息、堆栈 |
6.3 重试机制配置
{
"retry": {
"maxRetries": 3,
"baseDelaySeconds": 30,
"maxDelaySeconds": 300,
"backoffMultiplier": 2,
"retryableErrors": [
"NETWORK_TIMEOUT",
"SEARCH_FAILED",
"FILE_LOCK_ERROR",
"TEMPORARY_UNAVAILABLE"
],
"nonRetryableErrors": [
"INVALID_INPUT",
"PERMISSION_DENIED",
"RESOURCE_NOT_FOUND",
"CONFIG_ERROR"
]
}
}
6.4 重试流程
执行任务
│
▼
成功?
├── 是 → 写入 completed/ → 通知下一环节
└── 否 → 捕获错误
│
▼
检查重试次数
retryCount < 3?
├── 是 → 指数退避 → 重试
│ retryCount++
│ waitTime = 30 * 2^retryCount
│
└── 否 → 写入 failed/
通知协调官
标记永久失败
七、上下文管理
7.1 上下文分层架构
| 层级 |
名称 |
内容 |
大小限制 |
超限策略 |
| L0 |
任务级 |
任务 ID、描述、检查标准 |
10KB |
压缩/摘要 |
| L1 |
Agent 级 |
角色、职责、历史消息 |
50 条/8000 tokens |
滑动窗口 + 摘要 |
| L2 |
消息级 |
当前消息内容、元数据 |
100KB |
分片 + 外部引用 |
| L3 |
执行级 |
临时变量、中间结果 |
10KB |
清理/归档 |
7.2 上下文超限处理策略
| 策略 |
适用场景 |
实现方式 |
| 滑动窗口 |
消息数量超限 |
保留最近 30 条,历史归档 |
| 智能摘要 |
Token 数超限 |
LLM 辅助生成摘要 |
| 分片处理 |
单消息超限 |
大文件分片 + 外部存储 |
| 冷热分离 |
上下文总大小超限 |
热→温→冷渐进归档 |
| 外部存储 |
附件、大文件 |
文件系统存储 + 引用链接 |
7.3 冷热分离架构
┌─────────────────────────────────────────┐
│ 热数据 (Hot) │
│ context/hot/context.json │
│ - 最近 10 条消息 │
│ - 内存缓存 │
│ - <10KB │
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 温数据 (Warm) │
│ context/warm/history.json │
│ - 最近 50 条消息 │
│ - 磁盘存储 │
│ - <100KB │
└─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 冷数据 (Cold) │
│ archive/messages/ │
│ - 历史消息归档 │
│ - 压缩存储 │
│ - 无限制 │
└─────────────────────────────────────────┘
八、任务迭代与修改管理
8.1 修改类型分类
| 类型 |
名称 |
特征 |
影响范围 |
策略 |
| A |
微调 |
文字润色、格式调整 |
单文件 |
原地修改 |
| B |
局部修改 |
补充内容、增删章节 |
单 Agent |
增量更新 |
| C |
连锁修改 |
影响多个 Agent |
多 Agent |
部分重启 |
| D |
方向变更 |
任务目标/标准变化 |
全部 |
新任务版本 |
8.2 修改决策流程
用户提出修改
│
▼
协调官分析修改类型
│
▼
┌──────┴──────┐
│ A/B 类 │ C/D 类
│ 微调/局部 │ 连锁/方向
└──────┬──────┘ └──────┬──────┘
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ 直接执行 │ │ 用户确认 │
│ 原地/增量 │ │ 后执行 │
└──────────┘ └──────────┘
8.3 版本管理
版本格式:v{主版本}.{次版本}.{修订版本}
示例:
- v1.0.0 → 初始版本
- v1.1.0 → A/B 类修改(增量更新)
- v2.0.0 → C 类修改(部分重启)
- v10.0.0 → D 类修改(新任务版本)
8.4 版本树结构
task-20260407-001
├── v1.0.0 (初始版本)
├── v1.1.0 (A 类修改:文字润色)
├── v2.0.0 (B 类修改:补充数据安全法)
├── v3.0.0 (C 类修改:重新评估影响)
└── v10.0.0 (D 类修改:任务方向变更)
九、全流程可视化
9.1 可视化页面结构
┌─────────────────────────────────────────────────────────────────┐
│ 📊 动态 Agent 协作可视化监控平台 │
│ 任务:task-20260407-001 │
│ 状态:🟢 执行中 (45%) │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ① 消息协作流程图 (实时动态) │ │
│ │ [搜索 Agent] → [解读 Agent] → [评估 Agent] → [策略 Agent]│ │
│ │ │ │ │ │
│ │ └────────→ [质量检查 Agent] ←──┘ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────┐ ┌────────────────────────────────┐ │
│ │ ② Agent 状态面板 │ │ ③ 消息队列监控 │ │
│ │ 🤖 搜索 Agent 🟢 完成 │ │ 📬 Pending: 4 │ │
│ │ 🤖 解读 Agent 🟡 执行中 │ │ 📬 Processing: 2 │ │
│ │ 🤖 评估 Agent ⚪ 待命 │ │ 📬 Completed: 8 │ │
│ │ 🤖 策略 Agent ⚪ 待命 │ │ 📬 Failed: 0 │ │
│ │ 🤖 质量检查 ⚪ 待命 │ │ │ │
│ └──────────────────────┘ └────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ④ 检查点追踪 │ │
│ │ ckpt-000 ✅ → ckpt-001 ✅ → ckpt-002 🟡 → ckpt-003 ⚪ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ⑤ 质量检查记录 │ │
│ │ qc-001 ✅ 92 分 | qc-002 🟡 检查中 | qc-003 ⚪ 待检 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ⑥ 日志滚动面板 (实时) │ │
│ │ [12:45:32] [INFO] agent-search-001: 搜索完成,找到 15 条 │ │
│ │ [12:45:33] [INFO] agent-qc-001: 开始检查 qc-001 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
9.2 可视化数据结构
{
"vizData": {
"taskId": "task-20260407-001",
"updatedAt": "2026-04-07T12:45:00Z",
"overallProgress": 45,
"overallStatus": "running",
"agents": [
{
"id": "agent-search-001",
"role": "AI 政策情报员",
"status": "completed",
"progress": 100,
"elapsedSeconds": 240,
"qcStatus": "approved",
"qcScore": 92
}
],
"queue": {
"pending": 4,
"processing": 2,
"completed": 8,
"failed": 0
},
"checkpoints": [...],
"qcRecords": [...],
"logs": [...]
}
}
9.3 实时更新机制
// 数据聚合层 (每 2 秒)
setInterval(async () => {
const status = read('tasks/task-001/shared/status.json');
const logs = readLastLines('tasks/task-001/shared/logs.jsonl', 50);
const qcRecords = readDir('tasks/task-001/archive/qc/').map(f => read(f));
const vizData = {
taskId: 'task-001',
updatedAt: new Date().toISOString(),
overallProgress: calculateProgress(status),
agents: status.agents,
queue: countQueue(status.queue),
checkpoints: status.checkpoints,
qcRecords,
logs
};
write('tasks/task-001/shared/viz-data.json', JSON.stringify(vizData));
}, 2000);
// 可视化页面轮询 (每 2 秒)
setInterval(async () => {
const data = await fetch('./viz-data.json').then(r => r.json());
updateFlowChart(data.agents);
updateStatusPanel(data.agents);
updateQueueStats(data.queue);
updateLogPanel(data.logs);
}, 2000);
十、OpenClaw 集成方案
10.1 利用 OpenClaw 核心能力
| OpenClaw 能力 |
用途 |
调用方式 |
| sessions_spawn |
动态生成 Agent |
sessions_spawn({agentId, task, runtime}) |
| sessions_history |
导出 Agent 历史 |
sessions_history({sessionKey, limit}) |
| memory_search |
记忆检索 |
memory_search({query, maxResults}) |
| memory_get |
记忆片段读取 |
memory_get({path, from, lines}) |
| exec |
脚本执行 |
exec({command}) |
| message |
消息通知 |
message({action, channel, message}) |
| read/write/edit |
文件操作 |
read/write/edit({path, content}) |
10.2 技能集成
| 技能 |
用途 |
脚本路径 |
| searxng-search |
信息搜索 |
skills/searxng-search/searxng-search.js |
| echarts-data-viz |
图表生成 |
skills/echarts-data-viz/scripts/generate-echart.js |
| md-to-pdf-report |
PDF 生成 |
skills/md-to-pdf-report/scripts/generate-html-pdf.js |
| excalidraw |
手绘图表 |
skills/excalidraw/ |
10.3 配置集成
// ~/.openclaw/openclaw.json
{
"agents": {
"defaults": {
"runtime": "subagent",
"cleanup": "keep",
"timeoutSeconds": 1800
},
"dynamic": {
"enabled": true,
"agentPrefix": "dynamic-",
"workDir": "tasks/{taskId}/agents/{agentId}/"
}
},
"plugins": {
"entries": {
"memory-core": {
"provider": "sqlite+vec",
"model": "qwen3-embedding:0.6b"
}
}
},
"features": {
"dynamicAgentSystem": {
"enabled": true,
"fileBasedMessaging": true,
"qualityCheckRequired": true,
"maxRetries": 3,
"visualizationEnabled": true
}
}
}
10.4 目录结构集成
~/.openclaw/workspace-boss/
├── docs/ # 设计文档
│ └── dynamic-agent-system-design.md # 本方案
│
├── scripts/ # 核心脚本
│ ├── message-queue-manager.js # 消息队列管理
│ ├── context-monitor.js # 上下文监控
│ ├── quality-checker.js # 质量检查
│ ├── viz-data-aggregator.js # 可视化数据聚合
│ └── modify-decision-engine.js # 修改决策
│
├── tasks/ # 任务目录
│ └── task-{date}-{id}/ # 任务实例
│
├── skills/ # 技能目录
│ ├── searxng-search/ # 搜索技能
│ ├── echarts-data-viz/ # 可视化技能
│ └── md-to-pdf-report/ # PDF 技能
│
└── config/ # 配置目录
└── dynamic-agent-config.json # 动态 Agent 配置
十一、实施路线图
11.1 阶段划分
| 阶段 |
时间 |
目标 |
交付物 |
| Phase 1 |
第 1 周 |
基础框架搭建 |
消息队列、Agent 生成、基础可视化 |
| Phase 2 |
第 2 周 |
质量检查机制 |
检查标准、QC Agent、打标归档 |
| Phase 3 |
第 3 周 |
检查点与重试 |
检查点、重试机制、错误恢复 |
| Phase 4 |
第 4 周 |
上下文管理 |
分层管理、超限处理、冷热分离 |
| Phase 5 |
第 5 周 |
任务迭代管理 |
修改决策、版本控制、对比报告 |
| Phase 6 |
第 6 周 |
完善与优化 |
性能优化、文档完善、用户测试 |
11.2 Phase 1 详细计划(第 1 周)
| 天数 |
任务 |
交付物 |
| Day 1 |
文件系统架构搭建 |
任务目录结构、配置模板 |
| Day 2 |
消息队列管理器 |
message-queue-manager.js |
| Day 3 |
Agent 生成器 |
dynamic-agent-generator.js |
| Day 4 |
基础可视化页面 |
viz.html (静态版) |
| Day 5 |
数据聚合层 |
viz-data-aggregator.js |
| Day 6 |
集成测试 |
测试任务执行 |
| Day 7 |
问题修复与优化 |
Phase 1 完成报告 |
11.3 原型验证任务
验证任务:分析最新 AI 监管政策对阿里巴巴业务的影响
验证目标:
- ✅ 动态生成 5 个 Agent(搜索、解读、评估、策略、质量检查)
- ✅ 基于文件的消息传递正常运行
- ✅ 质量检查机制有效(检查→通过/退回)
- ✅ 可视化页面实时更新
- ✅ 检查点与重试机制正常
- ✅ 最终生成 PDF 报告
验收标准:
- 任务完成率 100%
- 质量检查通过率 >90%
- 可视化更新延迟 <5 秒
- 重试机制触发正常
- 用户满意度 >4.5/5
附录
A. 术语表
| 术语 |
说明 |
| Agent |
独立执行任务的智能体 |
| 动态 Agent |
根据任务临时生成的 Agent |
| 质量检查 Agent |
独立检查产出物质量的 Agent |
| 检查点 |
任务执行过程中的关键状态记录 |
| 滑动窗口 |
保留最近 N 条消息,历史归档的策略 |
| 冷热分离 |
热数据快速访问,冷数据归档存储 |
| 版本树 |
任务版本的层级关系结构 |
B. 配置文件模板
详见 config/dynamic-agent-config-template.json
C. 脚本清单
| 脚本 |
用途 |
状态 |
| message-queue-manager.js |
消息队列管理 |
待开发 |
| dynamic-agent-generator.js |
Agent 生成器 |
待开发 |
| quality-checker.js |
质量检查 |
待开发 |
| context-monitor.js |
上下文监控 |
待开发 |
| viz-data-aggregator.js |
可视化数据聚合 |
待开发 |
| modify-decision-engine.js |
修改决策引擎 |
待开发 |
| checkpoint-manager.js |
检查点管理 |
待开发 |
| retry-handler.js |
重试处理 |
待开发 |
D. 参考文档
文档版本:v1.0
最后更新:2026-04-07
维护:公共事务部 AI 助手