开启左侧

OpenClaw:让一个 Agent 带着一群 Agent 干活

[复制链接]
创想小编 发表于 1 小时前 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
作者:CSDN博客
背景

当前各 Agent 的协作是用户驱动的:用户手动 @PM 写 PRD → 手动 @Architect 做架构 → 手动 @Backend 开发… 用户充当了“项目经理”角色。
用户期望: 提一个需求给一个 Agent,它自动分解任务、分派给其他 Agent、定时反馈进度。

方案:编排者 Agent + 心跳自动领任务

核心思路

1. 创建 lumin_lead/(技术负责人 Agent)— 充当编排者

    接收用户需求 → 创建项目 → 拆解阶段 → 触发 PM 开始工作通过 HEARTBEAT 定时轮询 STATUS.yaml → 检测阶段完成 → 通知下游 Agent → 向用户反馈进度
2. 每个 Agent 的 HEARTBEAT.md 增加自动领任务逻辑

心跳时检查 projects/*/STATUS.yaml
发现自己负责的阶段已解除阻塞(上游 completed)→ 自动开始工作
这样即使编排者没发消息,Agent 也能自驱动

工作流
  1. 用户 → @Lead "做一个用户认证系统"
  2.    │
  3.    Lead:
  4.    ├── 创建 projects/user-auth/ + STATUS.yaml
  5.    ├── 设置 prd.status: pending
  6.    └── 发消息给飞书群: "@PM 请为 user-auth 项目写 PRD"
  7.    │
  8.    PM(收到消息 或 心跳发现任务):
  9.    ├── 写 PRD → projects/user-auth/01-prd/PRD.md
  10.    └── 更新 STATUS.yaml: prd.status: completed
  11.    │
  12.    Lead(心跳检测到 prd completed):
  13.    ├── 发消息: "@Architect 请为 user-auth 设计架构"
  14.    └── 向用户反馈: "PRD 已完成,架构师已开始工作"
  15.    │
  16.    Architect(收到消息 或 心跳发现任务):
  17.    ├── 读 PRD → 写架构文档
  18.    └── 更新 STATUS.yaml: architecture.status: completed
  19.    │
  20.    Lead(心跳检测到 architecture completed):
  21.    ├── 发消息: "@Backend @Frontend 请开始开发"
  22.    └── 向用户反馈: "架构已完成,前后端已开始并行开发"
  23.    │
  24.    ... 以此类推直到 QA → Review → Done
复制代码

进度反馈

Lead 的 HEARTBEAT.md 每次心跳执行:
    扫描 projects/*/STATUS.yaml汇总各项目各阶段状态如有阶段完成 → 通知下游 Agent(发飞书消息)向用户反馈进度摘要

需要创建/修改的文件

新建:lumin_lead/ 完整 Agent(9 个文件 + symlink)

文件内容
SOUL.md技术负责人,负责任务拆解和团队协调
USER.md输出格式:进度看板、阶段汇报
AGENTS.md与所有 Agent 的协作关系(编排者视角)
SKILL.md需求拆解、任务分派、进度跟踪
WORKFLOW.md接收需求 → 创建项目 → 分派 → 监控 → 反馈
HEARTBEAT.md核心:定时扫描 STATUS.yaml,检测阶段完成,通知下游,反馈进度
IDENTITY.md身份信息
TOOLS.md本地配置
MEMORY.md长期记忆
projects→ ../projects symlink
修改:每个 Agent 的 HEARTBEAT.md(增加自动领任务)

在 PM / Architect / Backend / Frontend / QA 的 HEARTBEAT.md 中增加:
自动领任务

检查 projects/*/STATUS.yaml:
    找到 owner 是我、status 是 pending、blocked_by 的上游已 completed 的阶段如果找到 → 按 WORKFLOW.md 开始工作如果没找到 → HEARTBEAT_OK
修改:COORDINATION.md

增加“自动化编排”章节,说明 Lead 角色和心跳自动领任务机制。
修改:CLAUDE.md

Agent 列表增加 lumin_lead/。

验证方式

    确认 Lead 的 HEARTBEAT.md 包含完整的扫描和通知逻辑确认每个 Agent 的 HEARTBEAT.md 包含自动领任务逻辑用已有的 projects/dl-experiment-panel/ 模拟:Lead 心跳应检测到 prd: completed,应通知 Architect

总结

核心机制:编排者 Agent + 心跳自动领任务 两层驱动,互为保障
  1. 用户 → @Lead "做一个用户认证系统"
  2.   Lead:创建 projects/user-auth/ → 发消息 @PM
  3.     ↓
  4.   PM:写 PRD → 更新 STATUS(prd: completed)
  5.     ↓
  6.   Lead 心跳:检测到 prd 完成 → 发消息 @Architect → 反馈用户"PRD已完成"
  7.     ↓
  8.   Architect:写架构 → 更新 STATUS(architecture: completed)
  9.     ↓
  10.   Lead 心跳:检测到架构完成 → 发消息 @Backend @Frontend →
  11.   反馈"前后端已开始并行开发"
  12.     ↓
  13.   Backend + Frontend 并行开发 → 各自更新 STATUS
  14.     ↓
  15.   Lead 心跳:两个都 completed → 发消息 @QA → 反馈"进入测试阶段"
  16.     ↓
  17.   QA:测试 → 更新 STATUS
  18.     ↓
  19.   Lead 心跳:反馈用户"项目完成"
复制代码
第一层:Lead 主动分派(快)

Lead 通过 HEARTBEAT 定时扫描所有 projects/*/STATUS.yaml:
    检测到某阶段刚完成 → 立刻给下游 Agent 发飞书消息同时向用户汇报进度
第二层:各 Agent 心跳自领(兜底)

每个 Agent 的 HEARTBEAT.md 增加自动领任务逻辑:
心跳时检查 STATUS.yaml,发现自己负责的阶段已解除阻塞 → 自动开始工作
即使 Lead 的消息没到,Agent 也能自驱动

完整流程示例
  1. 用户 → @Lead "做一个用户认证系统"
  2.   Lead:创建 projects/user-auth/ → 发消息 @PM
  3.     ↓
  4.   PM:写 PRD → 更新 STATUS(prd: completed)
  5.     ↓
  6.   Lead 心跳:检测到 prd 完成 → 发消息 @Architect → 反馈用户"PRD已完成"
  7.     ↓
  8.   Architect:写架构 → 更新 STATUS(architecture: completed)
  9.     ↓
  10.   Lead 心跳:检测到架构完成 → 发消息 @Backend @Frontend →
  11.   反馈"前后端已开始并行开发"
  12.     ↓
  13.   Backend + Frontend 并行开发 → 各自更新 STATUS
  14.     ↓
  15.   Lead 心跳:两个都 completed → 发消息 @QA → 反馈"进入测试阶段"
  16.     ↓
  17.   QA:测试 → 更新 STATUS
  18.     ↓
  19.   Lead 心跳:反馈用户"项目完成"
复制代码
原文地址:https://blog.csdn.net/m0_61461906/article/details/159551728
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
阅读排行更多+

Powered by Discuz! X3.4© 2001-2013 Discuz Team.( 京ICP备17022993号-3 )