一、引言

1.1 OpenClaw多Agent系统概述

OpenClaw是一个跨平台的个人AI助手框架,支持在WhatsApp、Telegram、Slack、Discord、飞书等主流通讯渠道上运行AI Agent。与传统单一Agent不同,OpenClaw提供了完整的多Agent协作(Multi-Agent Collaboration)能力,允许一个Agent派生出多个子Agent(Sub-agents)并行处理不同任务。

这种协作机制的核心是会话层级结构(Session Hierarchy)。主Agent(Depth 0)可以派生子Agent(Depth 1),在启用Orchestrator模式后,子Agent还能进一步派生子子Agent(Depth 2),形成多层次的任务分配与结果汇总体系。

图1:OpenClaw多Agent会话层级结构(注:以下标注为简化展示,实际完整格式见文字说明)

┌─────────────────────────────────────┐
│  Depth 0: agent:<id>:main           │  ← 主Agent(龙虾场主)
│         ↓ sessions_spawn()          │
│  ┌─────────────────────────────┐    │
│  │ Depth 1: subagent:<uuid>    │    │  ← 子Agent(专业Worker)
│  │   ↓ sessions_spawn()        │    │    或 Orchestrator(当maxSpawnDepth≥2)
│  │ ┌─────────────────────────┐ │    │
│  │ │Depth 2: subagent:<uuid> │ │    │  ← 子子Agent(Worker)
│  │ └─────────────────────────┘ │    │
│  └─────────────────────────────┘    │
└─────────────────────────────────────┘

图注:为简化展示,图中Depth 1/2的会话ID标注采用了简化格式。完整格式应为:

  • Depth 0: agent:<id>:main
  • Depth 1: agent:<id>:subagent:<uuid>(完整格式,图中简化为subagent:<uuid>
  • Depth 2: agent:<id>:subagent:<uuid>:subagent:<uuid>

OpenClaw的多Agent系统具备以下特性:

  • 灵活的任务派生:通过sessions_spawn API创建子Agent,支持任务标签、超时控制等参数
  • 智能的结果回传:子Agent完成后通过Announce机制自动将结果返回给父Agent
  • 完善的生命周期管理:支持超时设置、自动归档、级联停止等管理功能

1.2 龙虾场主模式的诞生背景

在实际的AI应用场景中,单一Agent往往难以独立完成复杂任务。以一个典型的营销项目为例,可能需要:

  1. 资料研究员收集市场数据和竞品信息
  2. 美术设计师创作视觉素材
  3. 营销文案专家撰写推广内容
  4. 编程工程师搭建展示页面

这种多角色协作需求催生了"龙虾场主模式"——一种借鉴自"龙虾养殖场"生态系统的多Agent协作范式。在该模式中:

  • 龙虾场主(Lobster Master)如同养殖场主,负责整体规划、任务分配和进度把控
  • 各专业Agent如同不同生长阶段的龙虾,各司其职、协同作业
  • 协作协议(AGENTS_PROTOCOL.md)定义了Agent之间的沟通规范

该模式最初在OpenClaw的workspace-agents项目中被实践应用,并逐步发展为一套可复用的标准化工作流程。

1.3 适用场景与价值

龙虾场主模式特别适用于以下场景:

应用场景 说明 典型案例
内容生产 需要多工种协作的创意项目 品牌全案营销、产品发布推广
技术开发 需要多种技能的开发任务 插件开发、功能实现
市场调研 需要多维度数据分析 竞品分析、行业趋势研究
运营维护 需要多系统协同的运维任务 CI/CD流程、监控告警处理

该模式的核心价值在于:

  1. 专业化分工:每个Agent专注于特定领域,保证输出质量
  2. 并行处理:多个子Agent同时工作,显著提升效率
  3. 可扩展性:新增Agent类型即可扩展团队能力
  4. 可观测性:清晰的会话层级便于监控和问题定位

二、系统架构

2.1 龙虾场主(统筹者)角色定位

龙虾场主(Lobster Master)是整个协作体系的核心枢纽,承担任务管理和系统协调的双重职责。

核心职责:

  1. 任务设计:将复杂目标拆解为可执行的里程碑
  2. 任务分配:根据Agent能力特点合理分配任务
  3. 系统配置:管理和优化OpenClaw系统参数
  4. 进度跟踪:监控任务执行状态,确保按时交付

工作流程:

接收任务 → 确认目标 → 评估复杂度 → 拆解里程碑 →
分配执行 → 监控进度 → 验收交付 → 总结归档

工作风格特征:

  • ✅ 高效务实,重视实际成果
  • ✅ 条理清晰,每个任务都有明确的目标、步骤和验收标准
  • ✅ 主动思考,提前识别风险并给出优化建议
  • ✅ 透明沟通,进度、问题、变更及时同步

关键配置说明:

OpenClaw的系统配置通过配置文件进行管理,主配置文件位于 .openclaw/config.yaml。具体的配置参数和路径请参考 OpenClaw官方配置文档

2.2 专业Agent团队构成

龙虾场主模式下构建了一个专业化的Agent团队,每个成员都有明确的角色定位和技能专长:

图2:龙虾场主模式Agent团队架构

                     ┌─────────────────┐
                     │   龙虾场主      │
                     │ lobster-master  │
                     └────────┬────────┘
                              │ 任务分配
        ┌─────────────────────┼─────────────────────┐
        │           │         │         │           │
   ┌────▼────┐ ┌────▼────┐ ┌──▼──┐ ┌────▼────┐ ┌───▼────┐
   │美术设计│ │营销文案│ │运维│ │资料调研│ │编程钳│
   │art-    │ │marketing│ │sys-│ │data-   │ │shrimp  │
   │designer│ │-writer  │ │ops │ │researcher│ │-t800 │
   └────────┘ └─────────┘ └─────┘ └─────────┘ └───────┘
        │           │          │         │           │
        └───────────┴──────────┴─────────┴───────────┘
                              ↓
                       交付成果汇总

各专业Agent职责一览:

Agent ID 角色名称 核心专长 典型产出
art-designer 美术设计师 视觉设计、AI绘图 Logo、海报、Banner
marketing-writer 营销文案专家 内容创作、SEO优化 产品文案、社交媒体内容
sys-ops 系统运维工程师 服务器管理、CI/CD 部署配置、自动化脚本
data-researcher 资料研究员 数据采集、竞品分析 市场调研报告
shrimp-t800 编程钳 代码开发、插件开发 功能代码、API集成

2.3 通信与协作机制

Agent之间的协作依赖一套完善的通信与同步机制:

1. 会话隔离与消息传递

每个Agent运行在独立的会话(Session)中,通过sessions_spawn创建子Agent会话。子Agent创建后,父Agent可以通过OpenClaw的消息机制与子Agent进行通信。

📝 说明:OpenClaw中的会话间通信主要通过以下方式实现:

  • 父Agent创建子Agent后,系统会自动建立通信通道
  • 子Agent完成任务后通过Announce机制返回结果
  • 具体的通信方式取决于具体的部署环境和配置

2. 结果回传(Announce)

子Agent完成任务后,通过Announce机制自动将结果返回给父Agent:

// 子Agent完成任务后的返回方式
// 方式1:正常返回结果(会发送到父Agent频道)
return "任务完成,研究发现:2024年Q1市场增长15%...";

// 方式2:静默完成(不发送任何消息)
if (shouldSkipAnnounce) {
  return "ANNOUNCE_SKIP";
}

3. 协作协议(AGENTS_PROTOCOL.md)

所有Agent遵循统一的协作规范:

## 协作协议要点

1. **检查项目状态**
   - 执行 `ls /home/admin/openclaw/workspace-agents/projects/active/`
   - 已存在则阅读README.md继续工作
   - 不存在则创建项目文件夹并初始化

2. **保存工作成果**
   - 所有产出保存到项目文件夹
   - 及时更新README.md记录进度
   - 重要决策写入文档备查

三、工作流程详解

📝 说明:本章中的代码示例均为概念性代码示例,用于说明工作流程逻辑。代码语法基本正确但缺乏实际上下文(如导入语句、类型定义等),如需实际运行请根据具体环境补充完整代码。

💡 sessions_spawn 关键参数说明:使用 sessions_spawn 创建子Agent时,核心参数包括:

  • agentId:目标Agent标识符(必填)
  • task:任务描述(必填)
  • label:会话标签,便于追踪(必填)
  • runTimeoutSeconds:超时时间(建议设置)
  • channel:目标渠道,可指定消息发送的具体渠道(可选,根据部署环境配置)

3.1 任务接收与拆解

龙虾场主模式的工作流程起始于任务接收与智能拆解

步骤1:需求分析

// 龙虾场主接收用户任务
async function receiveTask(userRequest) {
  // 1. 解析任务需求
  const taskAnalysis = {
    type: "marketing-campaign",
    components: ["research", "design", "copywriting", "coding"],
    deadline: "2026-04-15",
    budget: "medium"
  };

  // 2. 评估任务复杂度(示意函数,需根据实际需求实现)
  const complexity = assessComplexity(taskAnalysis);

  // 3. 拆解为可执行里程碑
  const milestones = [
    { id: 1, name: "市场调研", agents: ["data-researcher"], duration: "2d" },
    { id: 2, name: "视觉设计", agents: ["art-designer"], duration: "3d" },
    { id: 3, name: "文案撰写", agents: ["marketing-writer"], duration: "2d" },
    { id: 4, name: "页面开发", agents: ["shrimp-t800"], duration: "3d" }
  ];

  return { taskAnalysis, complexity, milestones };
}

图3:任务拆解流程

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  用户提交   │ ──→ │  需求分析   │ ──→ │  复杂度评估 │
│  原始任务   │     │  提取关键点  │     │  确定工时   │
└─────────────┘     └─────────────┘     └─────────────┘
                                            │
                                            ↓
                  ┌─────────────┐     ┌─────────────┐
                  │  里程碑拆解 │ ←── │  资源规划   │
                  │  明确责任人  │     │  分配Agent │
                  └─────────────┘     └─────────────┘

3.2 Agent分配策略

根据任务类型和Agent专长进行智能匹配:

分配原则:

  1. 专业匹配:任务类型与Agent核心专长对应
  2. 负载均衡:避免单一Agent过载
  3. 依赖排序:根据任务依赖关系确定执行顺序
  4. 并行优化:无依赖任务并行执行

代码示例:

// 龙虾场主分配任务给专业Agent
async function assignTasks(milestones) {
  const results = [];

  for (const milestone of milestones) {
    const { name, agents, task } = milestone;

    // 为每个里程碑分配对应的Agent
    const spawnPromises = agents.map(agentId =>
      sessions_spawn({
        agentId: agentId,
        task: task,
        label: `${name}-${agentId}`,
        runTimeoutSeconds: 3600  // 1小时超时
      })
    );

    // 并行执行同一里程碑的所有任务
    // 注意:sessions_spawn 返回会话ID,不是Promise结果
    const spawnedSessions = await Promise.all(spawnPromises);

    // 收集会话ID用于后续跟踪
    results.push({
      milestone: name,
      sessionIds: spawnedSessions.map(s => s.sessionId)
    });
  }

  return results;
}

3.3 执行监控与质检

任务执行过程中,龙虾场主持续监控进度并进行质量控制:

监控机制:

// 监控子Agent执行状态
// 注意:以下为概念性代码示例,sessions_list的具体参数请参考官方文档
async function monitorExecution(spawnedAgents) {
  const checkInterval = 60000; // 每分钟检查一次

  setInterval(async () => {
    try {
      // 获取会话列表(具体参数根据实际情况调整)
      const sessionList = await sessions_list();

      // 检查是否有超时或失败的会话
      for (const session of sessionList.sessions || []) {
        if (session.runtime > session.timeout) {
          // 处理超时情况
          await handleTimeout(session);
        }
      }
    } catch (error) {
      console.error('监控检查失败:', error);
    }
  }, checkInterval);
}

质检流程:

  1. 自动验收:子Agent返回后检查输出格式和基本完整性
  2. 人工抽检:关键节点需要龙虾场主确认
  3. 迭代优化:不合格项打回重做

图4:执行监控与质检流程

┌────────────┐     ┌────────────┐     ┌────────────┐
│  子Agent   │ ──→ │  结果返回  │ ──→ │  自动验收  │
│  执行任务  │     │  (Announce)│     │  格式检查  │
└────────────┘     └────────────┘     └─────┬──────┘
                                             │
                   ┌─────────────────────────┼─────────────────────┐
                   ↓                         ↓                     ↓
             ┌────────────┐           ┌────────────┐        ┌────────────┐
             │ 验收通过  │           │ 需要修改  │        │ 执行失败  │
             │  继续下一步 │          │  打回重做  │        │  记录日志  │
             └────────────┘           └────────────┘        └────────────┘

3.4 交付物整合

最终阶段,龙虾场主汇总各专业Agent的产出,形成完整的交付物:

// 整合所有子Agent的交付物
async function integrateDeliverables(projectName, agentResults) {
  // 1. 收集各Agent的产出
  const deliverables = {
    research: agentResults.find(r => r.agent === "data-researcher"),
    design: agentResults.find(r => r.agent === "art-designer"),
    copywriting: agentResults.find(r => r.agent === "marketing-writer"),
    coding: agentResults.find(r => r.agent === "shrimp-t800")
  };

  // 2. 整合到项目目录
  const projectPath = `/home/admin/openclaw/workspace-agents/projects/active/${projectName}`;
  await exec({
    command: `mkdir -p ${projectPath}/{research,design,copy,coding}`
  });

  // 3. 生成最终报告(示意函数,需根据实际需求实现)
  const finalReport = generateReport(deliverables);

  // 4. 更新项目README
  await write({
    path: `${projectPath}/README.md`,
    content: finalReport
  });

  return finalReport;
}

四、实战案例

4.1 案例背景

项目:智能家居产品发布推广
目标:在两周内完成从市场调研到产品页上线的全流程
团队:龙虾场主 + 5人专业Agent团队

图5:案例项目架构

┌─────────────────────────────────────────────────────────────┐
│                    项目:智能家居产品发布                     │
├─────────────────────────────────────────────────────────────┤
│  阶段1: 市场调研 (data-researcher)                          │
│    → 竞品分析 / 用户画像 / 定价策略                          │
│  阶段2: 视觉设计 (art-designer)                             │
│    → 产品渲染 / Logo / 品牌规范                             │
│  阶段3: 文案撰写 (marketing-writer)                         │
│    → 产品描述 / 社交媒体 / 新闻稿                           │
│  阶段4: 页面开发 (shrimp-t800)                             │
│    → 落地页 / 动态效果 / 表单集成                           │
└─────────────────────────────────────────────────────────────┘

4.2 任务拆解过程

// 项目任务拆解
const projectPlan = {
  name: "smart-home-launch",
  timeline: "两周",
  milestones: [
    {
      id: 1,
      phase: "调研",
      task: "完成智能家居市场调研报告",
      assignees: ["data-researcher"],
      deliverables: ["竞品分析.pdf", "用户调研.docx"],
      deadline: "第3天"
    },
    {
      id: 2,
      phase: "设计",
      task: "完成品牌视觉系统设计",
      assignees: ["art-designer"],
      deliverables: ["Logo.ai", "VI手册.pdf", "产品渲染图/"],
      deadline: "第7天"
    },
    {
      id: 3,
      phase: "文案",
      task: "撰写全渠道营销文案",
      assignees: ["marketing-writer"],
      deliverables: ["产品描述.md", "社交媒体帖子/", "新闻稿.docx"],
      deadline: "第10天"
    },
    {
      id: 4,
      phase: "开发",
      task: "开发产品落地页",
      assignees: ["shrimp-t800"],
      deliverables: ["index.html", "styles.css", "app.js"],
      deadline: "第14天"
    }
  ]
};

4.3 各Agent工作记录

阶段1:数据研究员(data-researcher)

// 龙虾场主派发任务给数据研究员
await sessions_spawn({
  agentId: "data-researcher",
  task: `智能家居市场调研任务:
  1. 调研TOP 5竞品的功能、价格、渠道策略
  2. 分析目标用户画像(年龄、收入、技术接受度)
  3. 提供定价建议(成本+利润+市场定位)

  输出目录:projects/active/smart-home-launch/research/`,
  label: "market-research",
  runTimeoutSeconds: 7200
});

阶段2:美术设计师(art-designer)

// 基于调研结果派发设计任务
await sessions_spawn({
  agentId: "art-designer",
  task: `智能家居产品视觉设计:
  1. 设计产品Logo(科技感+温馨感)
  2. 定义品牌色彩方案
  3. 生成产品3D渲染图
  4. 创建社交媒体配图模板

  参考调研报告:projects/active/smart-home-launch/research/
  输出目录:projects/active/smart-home-launch/design/`,
  label: "visual-design",
  runTimeoutSeconds: 10800
});

阶段3:营销文案专家(marketing-writer)

// 基于设计和调研结果派发文案任务
await sessions_spawn({
  agentId: "marketing-writer",
  task: `智能家居产品营销文案:
  1. 产品核心卖点提炼(基于调研)
  2. 电商平台产品描述(京东/天猫)
  3. 社交媒体发布内容(微博/小红书/抖音)
  4. 新闻稿撰写

  参考设计稿:projects/active/smart-home-launch/design/
  输出目录:projects/active/smart-home-launch/copy/`,
  label: "copywriting",
  runTimeoutSeconds: 7200
});

阶段4:编程钳(shrimp-t800)

// 基于所有前期产出开发落地页
await sessions_spawn({
  agentId: "shrimp-t800",
  task: `智能家居产品落地页开发:
  1. 开发产品展示首页
  2. 实现动态交互效果
  3. 集成预约表单
  4. SEO优化

  参考文案:projects/active/smart-home-launch/copy/
  设计稿:projects/active/smart-home-launch/design/
  输出目录:projects/active/smart-home-launch/coding/`,
  label: "page-development",
  runTimeoutSeconds: 14400
});

4.4 最终交付成果

项目完成后,龙虾场主整合所有产出,形成完整交付物:

smart-home-launch/
├── README.md                    # 项目说明文档
├── research/                    # 市场调研
│   ├── competitive-analysis.pdf # 竞品分析报告
│   ├── user-persona.md         # 用户画像
│   └── pricing-strategy.md     # 定价策略
├── design/                      # 视觉设计
│   ├── logo.svg                # 产品Logo
│   ├── brand-guidelines.pdf    # 品牌规范
│   └── social-templates/       # 社交媒体模板
├── copy/                        # 营销文案
│   ├── product-description.md  # 产品描述
│   ├── social-posts/           # 社媒帖子
│   └── press-release.docx      # 新闻稿
└── coding/                      # 代码开发
    ├── index.html              # 落地页
    ├── styles.css              # 样式表
    └── app.js                  # 交互脚本

五、最佳实践

5.1 任务拆解技巧

原则1:明确任务边界

每个子Agent的任务应该清晰、可独立完成:

// ❌ 任务边界模糊
task: "完成这个项目"  // 太大,无法执行

// ✅ 任务边界清晰
task: "基于data-researcher的调研报告,设计产品Logo,要求:
1. 科技感+温馨感
2. 包含'智'字元素
3. 输出SVG格式
4. 提供3种配色方案"

原则2:设置清晰的交付标准

task: "撰写产品描述文案,要求:
- 字数:300-500字
- 结构:痛点引入 → 产品功能 → 核心优势 → 行动号召
- 关键词:智能、便捷、安全
- 输出格式:Markdown"

原则3:合理设置超时

// 简单任务:30分钟
await sessions_spawn({ task: "...", runTimeoutSeconds: 1800 });

// 复杂任务:2小时
await sessions_spawn({ task: "...", runTimeoutSeconds: 7200 });

超时时间建议:

  • 调研类任务:1-2小时
  • 设计类任务:2-3小时
  • 开发类任务:2-4小时
  • 复杂分析:4-8小时

5.2 Agent选择指南

任务类型 推荐Agent 备选Agent
市场调研、竞品分析 data-researcher -
Logo、banner、海报设计 art-designer -
产品文案、社交媒体 marketing-writer -
服务器部署、CI/CD sys-ops shrimp-t800
代码开发、插件编写 shrimp-t800 -
文档撰写、技术文章 marketing-writer data-researcher

组合使用场景:

// 需要设计与文案协作
await Promise.all([
  sessions_spawn({ agentId: "art-designer", task: "设计海报" }),
  sessions_spawn({ agentId: "marketing-writer", task: "撰写文案" })
]);
// 两者可并行,最后由龙虾场主整合

5.3 常见问题与解决方案

问题1:子Agent任务失败

// 监控到子Agent失败
const session = await sessions_history({ sessionId: failedSessionId });
if (session.status === "error") {
  // 方案1:重试(适合临时性问题)
  await sessions_spawn({
    task: `重试任务:${originalTask}`,
    label: `retry-${originalLabel}`
  });

  // 方案2:更换Agent(适合能力不匹配)
  await sessions_spawn({
    agentId: "other-agent",
    task: originalTask
  });
}

问题2:任务依赖处理

// 顺序执行有依赖的任务
const researchResult = await sessions_spawn({
  agentId: "data-researcher",
  task: "市场调研..."
});
// 等待完成后,再将结果传递给设计Agent
await sessions_spawn({
  agentId: "art-designer",
  task: `基于调研结果设计... 
调研结论:${researchResult}`
});

问题3:并发控制

// 控制并发数量,避免超出系统限制
const maxConcurrent = 5;
const chunks = arrayChunk(tasks, maxConcurrent);

for (const chunk of chunks) {
  const promises = chunk.map(t => sessions_spawn(t));
  await Promise.all(promises);
}

问题4:成本控制

// 为子Agent配置更经济的模型
const subagentConfig = {
  model: "generic/kimi-k2.5",  // 比主Agent用的模型便宜
  thinking: "off",             // 关闭思考模式节省tokens
  maxSpawnDepth: 1             // 限制嵌套深度
};

六、总结与展望

龙虾场主模式为OpenClaw平台上的多Agent协作提供了一套成熟、可复用的工作范式。通过将复杂任务拆解为多个专业子任务,并由专门的协调者(龙虾场主)进行统一管理,实现了AI工作流的规模化应用。

核心要点回顾:

  1. 会话层级:主Agent(Depth 0)→ 子Agent(Depth 1)→ 子子Agent(Depth 2)
  2. Orchestrator模式:当maxSpawnDepth >= 2时,Depth-1子Agent可协调多个Worker
  3. Announce机制:子Agent完成后自动将结果回传给父Agent
  4. 协作协议:统一的AGENTS_PROTOCOL.md规范Agent间的协作行为

适用边界:

  • ✅ 适合复杂、多工种的协作任务
  • ✅ 适合需要专业化分工的内容生产
  • ⚠️ 简单任务可能因Agent通信开销而效率降低
  • ⚠️ 需要合理的超时和错误处理机制

未来演进方向:

  1. 动态Agent组合:根据任务特征自动匹配最佳Agent组合
  2. 学习优化:基于历史任务数据优化任务拆解策略
  3. 跨平台协作:支持不同通信渠道的Agent无缝协作
  4. 可视化监控:提供更直观的任务进度和Agent状态展示

随着AI Agent技术的持续发展,多Agent协作将成为构建复杂AI应用的主流方式。龙虾场主模式作为这一领域的实践探索,为开发者提供了可借鉴的设计思路和实现参考。


参考文献

官方文档

  1. OpenClaw官方文档
  2. Sub-agents文档
  3. Session工具文档
  4. 多Agent路由配置
  5. 配置参考手册

本地规范文件

  1. /home/admin/openclaw/workspace-agents/AGENTS_PROTOCOL.md - Agent协作协议
  2. /home/admin/openclaw/workspace-agents/lobster-master/SOUL.md - 龙虾场主角色定义
  3. /home/admin/openclaw/workspace-agents/art-designer/SOUL.md - 美术设计师角色定义
  4. /home/admin/openclaw/workspace-agents/marketing-writer/SOUL.md - 营销文案专家角色定义
  5. /home/admin/openclaw/workspace-agents/sys-ops/SOUL.md - 系统运维工程师角色定义
  6. /home/admin/openclaw/workspace-agents/data-researcher/SOUL.md - 资料研究员角色定义
  7. /home/admin/openclaw/workspace-agents/shrimp-t800/IDENTITY.md - 编程钳角色定义

技术源码

  1. OpenClaw GitHub仓库 - 官方源码仓库
  2. OpenClaw官方文档 - 完整的技术文档中心
Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐