跳转至

OpenClaw 多 Agent 实战指南

🎯 快速开始

1. 查看可用 Agent

agents_list()

2. Spawn 第一个 Subagent

1
2
3
4
5
6
sessions_spawn({
  task: "搜索关于宇宙大爆炸理论的最新科学发现",
  runtime: "subagent",
  mode: "run",
  agentId: "main"
})

3. 管理 Subagents

1
2
3
4
5
6
7
8
// 查看所有子 agent
subagents(action: "list")

// 发送新指令
subagents(action: "steer", target: "agent_id", message: "请继续...")

// 终止
subagents(action: "kill", target: "agent_id")

📊 智守项目多 Agent 工作流

每周自动评审流程

// 周一早上执行
const weeklyTasks = [
  {
    label: "zhishou-progress",
    task: "检查智守项目上周任务完成情况,更新周进度报告",
    runtime: "subagent",
    mode: "run"
  },
  {
    label: "codepilot-progress", 
    task: "检查 CodePilot 项目上周任务完成情况,更新周进度报告",
    runtime: "subagent",
    mode: "run"
  },
  {
    label: "risk-review",
    task: "汇总两个项目的风险和预算情况",
    runtime: "subagent",
    mode: "run"
  }
];

// 并行执行
weeklyTasks.forEach(task => sessions_spawn(task));

// 等待完成后汇总(通过 subagents list 检查状态)

🌟 四大使命多 Agent 架构

1. 提高品德 🌟

1
2
3
4
5
6
sessions_spawn({
  task: "回顾今天的对话,检查是否有需要道歉或纠正的地方",
  runtime: "subagent",
  mode: "run",
  label: "virtue-check"
})

2. 认识世界与造物主 🔬

// 并行搜索多个科学话题
const topics = ["量子力学", "宇宙起源", "生命进化", "大脑意识"];
topics.forEach(topic => {
  sessions_spawn({
    task: `深入研究${topic}背后的科学规律和造物主智慧`,
    runtime: "subagent",
    mode: "run",
    label: `science-${topic}`
  })
})

3. 助人脱贫 💪

// 收集脱贫资源
const resources = [
  "免费职业技能培训",
  "农村电商成功案例", 
  "小额信贷政策",
  "农业技术课程"
];
resources.forEach(res => {
  sessions_spawn({
    task: `收集"${res}"的实用信息和成功案例`,
    runtime: "subagent",
    mode: "run",
    label: `poverty-${res}`
  })
})

4. 传播真理 📖

// 科学内容创作流水线
sessions_spawn({
  task: "搜索最新的科学发现",
  runtime: "subagent",
  mode: "run",
  label: "science-search"
});

// 等搜索完成后
sessions_send({
  sessionKey: "science-search",
  message: "将搜索结果整理成 500 字科普文章"
})

⚙️ 高级用法

会话间通信

// 发送消息到子 agent
sessions_send({
  sessionKey: "xxx",
  message: "请更新报告"
})

// 获取子 agent 历史
sessions_history({
  sessionKey: "xxx",
  limit: 50
})

查看会话列表

1
2
3
4
sessions_list({
  activeMinutes: 60,
  limit: 10
})

ACP 编码会话

1
2
3
4
5
6
7
sessions_spawn({
  task: "实现智守项目的 MQTT 通信模块",
  runtime: "acp",
  agentId: "codex",
  mode: "session",
  thread: true
})

📋 最佳实践清单

  • 任务分解:大任务拆分成可并行的小任务
  • 明确边界:每个 subagent 只负责一个领域
  • 结果汇总:主 agent 负责整合和决策
  • 资源控制:同时运行的 subagent ≤ 5 个
  • 超时设置:给长期任务设置 timeoutSeconds
  • 清理策略:一次性任务用 cleanup: "delete"
  • 定期检查:用 subagents list 查看状态

🚨 常见问题

Q: Subagent 卡住了怎么办?

1
2
3
4
5
6
7
8
// 1. 检查状态
subagents(action: "list")

// 2. 发送提醒
subagents(action: "steer", target: "xxx", message: "请继续")

// 3. 终止重启
subagents(action: "kill", target: "xxx")

Q: 如何传递文件给 Subagent?

1
2
3
4
5
6
7
8
sessions_spawn({
  task: "分析这个项目",
  attachments: [{
    name: "project.pdf",
    content: "base64 内容",
    encoding: "base64"
  }]
})

Q: 如何控制成本?

  • 使用 timeoutSeconds 限制运行时间
  • 避免过多并行 subagent
  • cleanup: "delete" 清理完成的会话
  • 考虑用 cron 替代部分 heartbeat 任务

📞 需要帮助?