背景
当前各 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 也能自驱动
工作流
用户 → @Lead "做一个用户认证系统"
│
Lead:
├── 创建 projects/user-auth/ + STATUS.yaml
├── 设置 prd.status: pending
└── 发消息给飞书群: "@PM 请为 user-auth 项目写 PRD"
│
PM(收到消息 或 心跳发现任务):
├── 写 PRD → projects/user-auth/01-prd/PRD.md
└── 更新 STATUS.yaml: prd.status: completed
│
Lead(心跳检测到 prd completed):
├── 发消息: "@Architect 请为 user-auth 设计架构"
└── 向用户反馈: "PRD 已完成,架构师已开始工作"
│
Architect(收到消息 或 心跳发现任务):
├── 读 PRD → 写架构文档
└── 更新 STATUS.yaml: architecture.status: completed
│
Lead(心跳检测到 architecture completed):
├── 发消息: "@Backend @Frontend 请开始开发"
└── 向用户反馈: "架构已完成,前后端已开始并行开发"
│
... 以此类推直到 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 + 心跳自动领任务 两层驱动,互为保障
用户 → @Lead "做一个用户认证系统"
Lead:创建 projects/user-auth/ → 发消息 @PM
↓
PM:写 PRD → 更新 STATUS(prd: completed)
↓
Lead 心跳:检测到 prd 完成 → 发消息 @Architect → 反馈用户"PRD已完成"
↓
Architect:写架构 → 更新 STATUS(architecture: completed)
↓
Lead 心跳:检测到架构完成 → 发消息 @Backend @Frontend →
反馈"前后端已开始并行开发"
↓
Backend + Frontend 并行开发 → 各自更新 STATUS
↓
Lead 心跳:两个都 completed → 发消息 @QA → 反馈"进入测试阶段"
↓
QA:测试 → 更新 STATUS
↓
Lead 心跳:反馈用户"项目完成"
第一层:Lead 主动分派(快)
Lead 通过 HEARTBEAT 定时扫描所有 projects/*/STATUS.yaml:
- 检测到某阶段刚完成 → 立刻给下游 Agent 发飞书消息
- 同时向用户汇报进度
第二层:各 Agent 心跳自领(兜底)
每个 Agent 的 HEARTBEAT.md 增加自动领任务逻辑:
心跳时检查 STATUS.yaml,发现自己负责的阶段已解除阻塞 → 自动开始工作
即使 Lead 的消息没到,Agent 也能自驱动
完整流程示例
用户 → @Lead "做一个用户认证系统"
Lead:创建 projects/user-auth/ → 发消息 @PM
↓
PM:写 PRD → 更新 STATUS(prd: completed)
↓
Lead 心跳:检测到 prd 完成 → 发消息 @Architect → 反馈用户"PRD已完成"
↓
Architect:写架构 → 更新 STATUS(architecture: completed)
↓
Lead 心跳:检测到架构完成 → 发消息 @Backend @Frontend →
反馈"前后端已开始并行开发"
↓
Backend + Frontend 并行开发 → 各自更新 STATUS
↓
Lead 心跳:两个都 completed → 发消息 @QA → 反馈"进入测试阶段"
↓
QA:测试 → 更新 STATUS
↓
Lead 心跳:反馈用户"项目完成"