d19062fc1e
- 创建 SKILL.md 定义9阶段流程 - 定义触发词: '开始开发...' - 创建状态文件结构 state.json - 创建需求收集模板 requirements.json - 创建状态管理工具 state_manager.py - 支持跨会话状态恢复
206 lines
11 KiB
Markdown
206 lines
11 KiB
Markdown
---
|
||
name: dev-workflow
|
||
description: "开始开发..." 时使用 - 多代理协作开发编排技能,解决单Agent开发的对话卡住和开发不完整问题
|
||
---
|
||
|
||
# dev-workflow - 多代理协作开发编排
|
||
|
||
## 什么时候使用
|
||
|
||
当用户发送包含以下模式的消息时,此技能自动触发:
|
||
|
||
| 触发词 | 行为 | 示例 |
|
||
|--------|------|------|
|
||
| `开始开发` + 描述 | 启动完整开发流程 | "开始开发一个用户登录功能" |
|
||
| `开始开发` + 项目类型 | 启动项目开发 | "开始开发一个新的 kb-skill" |
|
||
|
||
## 核心价值
|
||
|
||
通过多代理协作和分阶段编排,解决单Agent开发的两大痛点:
|
||
|
||
1. **对话卡住** — 长时间开发填满上下文窗口,质量下降
|
||
2. **开发不完整** — 缺乏系统性流程,遗漏边界情况或测试
|
||
|
||
## 9阶段流程
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ DEV-WORKFLOW PIPELINE │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ 阶段1: 头脑风暴 │
|
||
│ ┌─────────────────────────────────────────────────────────┐ │
|
||
│ │ 主Agent 通过问答澄清需求,直到足够进行完整开发 │ │
|
||
│ └─────────────────────────────────────────────────────────┘ │
|
||
│ ↓ │
|
||
│ 阶段2: 方案设计 (3个子代理并行) │
|
||
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
||
│ │ Agent A │ │ Agent B │ │ Agent C │ │
|
||
│ │ 方案1 │ │ 方案2 │ │ 方案3 │ │
|
||
│ └─────────┘ └─────────┘ └─────────┘ │
|
||
│ ↓ │
|
||
│ 阶段3: 方案审核 (交叉审核) │
|
||
│ ┌─────────────────────────────────────────────────────────┐ │
|
||
│ │ A审BC → B审AC → C审AB → 汇总 → 综合方案 │ │
|
||
│ └─────────────────────────────────────────────────────────┘ │
|
||
│ ↓ │
|
||
│ 阶段4: 方案汇报 │
|
||
│ ┌─────────────────────────────────────────────────────────┐ │
|
||
│ │ 主Agent 汇报综合方案 → 用户决策 (批准/修改/重新设计) │ │
|
||
│ └─────────────────────────────────────────────────────────┘ │
|
||
│ ↓ │
|
||
│ 阶段5: Spec编排 │
|
||
│ ┌─────────────────────────────────────────────────────────┐ │
|
||
│ │ 生成开发规格 → 分析任务依赖 → 分波执行计划 │ │
|
||
│ └─────────────────────────────────────────────────────────┘ │
|
||
│ ↓ │
|
||
│ 阶段6: 并行开发 (按波次执行) │
|
||
│ ┌─────────────────────────────────────────────────────────┐ │
|
||
│ │ Wave 1: [Task1, Task2] 并行 → Wave 2: [Task3] → ... │ │
|
||
│ └─────────────────────────────────────────────────────────┘ │
|
||
│ ↓ │
|
||
│ 阶段7: 测试 │
|
||
│ ┌─────────────────────────────────────────────────────────┐ │
|
||
│ │ 运行现有测试 + 运行生成测试 → 通过/失败(重试) │ │
|
||
│ └─────────────────────────────────────────────────────────┘ │
|
||
│ ↓ │
|
||
│ 阶段8: 代码审查 (3个子代理并行) │
|
||
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
||
│ │ Agent X │ │ Agent Y │ │ Agent Z │ │
|
||
│ │ 完整审查│ │ 完整审查│ │ 完整审查│ │
|
||
│ └─────────┘ └─────────┘ └─────────┘ │
|
||
│ ↓ │
|
||
│ 阶段9: 修复验证 │
|
||
│ ┌─────────────────────────────────────────────────────────┐ │
|
||
│ │ 汇总问题 → 安排修复 → 验证子代理确认 → 汇报完成 │ │
|
||
│ └─────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
## 状态持久化
|
||
|
||
每个阶段完成后保存状态到 `.planning/dev-workflow/state.json`:
|
||
|
||
```json
|
||
{
|
||
"current_phase": 3,
|
||
"current_stage": "方案设计",
|
||
"started_at": "2026-03-09T18:00:00+08:00",
|
||
"updated_at": "2026-03-09T19:30:00+08:00",
|
||
"retry_count": 0,
|
||
"phases": {
|
||
"1": { "status": "completed", "data": {...} },
|
||
"2": { "status": "completed", "data": {...} },
|
||
"3": { "status": "in_progress", "agents": [...] }
|
||
}
|
||
}
|
||
```
|
||
|
||
支持从任意阶段恢复继续。
|
||
|
||
## 失败处理
|
||
|
||
| 场景 | 处理方式 |
|
||
|------|----------|
|
||
| 子代理失败 | 自动重试,最多3次 |
|
||
| 测试失败 | 自动重试,最多3次 |
|
||
| 审查发现问题 | 汇总后安排修复 |
|
||
| 超过3次重试 | 汇报用户等待决策 |
|
||
|
||
## 子代理配置
|
||
|
||
| 阶段 | 子代理数量 | 职责 |
|
||
|------|-----------|------|
|
||
| 方案设计 | 3 | 自由探索不同方案 |
|
||
| 方案审核 | 3 | 交叉审核其他方案 |
|
||
| 并行开发 | N (按任务数) | 执行开发任务 |
|
||
| 代码审查 | 3 | 独立完整审查 |
|
||
| 修复 | N (按问题数) | 修复发现的问题 |
|
||
| 验证 | 1 | 确认修复完成 |
|
||
|
||
## 汇报机制
|
||
|
||
每个阶段完成后向用户汇报:
|
||
|
||
```
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
DEV-WORKFLOW ► 阶段 X 完成
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
**阶段名称**: [阶段名称]
|
||
**状态**: ✓ 完成 / ⚠ 需要关注
|
||
**耗时**: [X分钟]
|
||
|
||
**成果摘要**:
|
||
- [成果1]
|
||
- [成果2]
|
||
|
||
**下一阶段**: [阶段名称]
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
```
|
||
|
||
## 目录结构
|
||
|
||
```
|
||
.planning/dev-workflow/
|
||
├── state.json # 当前状态
|
||
├── requirements.json # 收集的需求
|
||
├── solutions/ # 方案设计
|
||
│ ├── solution-A.md
|
||
│ ├── solution-B.md
|
||
│ └── solution-C.md
|
||
├── reviews/ # 方案审核
|
||
│ ├── review-A.md
|
||
│ ├── review-B.md
|
||
│ └── review-C.md
|
||
├── final-solution.md # 综合方案
|
||
├── spec.md # 开发规格
|
||
├── execution-plan.md # 执行计划
|
||
├── development/ # 开发过程
|
||
│ └── wave-1/
|
||
│ ├── task-1.json
|
||
│ └── task-2.json
|
||
├── test-results.json # 测试结果
|
||
├── code-review/ # 代码审查
|
||
│ ├── review-X.md
|
||
│ ├── review-Y.md
|
||
│ └── review-Z.md
|
||
└── final-report.md # 最终汇报
|
||
```
|
||
|
||
## 适用项目类型
|
||
|
||
| 类型 | 支持情况 | 说明 |
|
||
|------|----------|------|
|
||
| 通用软件项目 | ✓ 完全支持 | Python/JS/Go 等任意语言 |
|
||
| kb-skills 技能 | ✓ 完全支持 | Python + SKILL.md 规范 |
|
||
| Web应用 | ✓ 完全支持 | 前后端分离项目 |
|
||
| CLI工具 | ✓ 完全支持 | 命令行工具 |
|
||
|
||
## 执行流程
|
||
|
||
主Agent检测到触发词后:
|
||
|
||
1. **初始化状态文件** — 创建 `.planning/dev-workflow/` 目录和 `state.json`
|
||
2. **进入阶段1** — 开始头脑风暴问答循环
|
||
3. **按流程执行** — 依次完成9个阶段
|
||
4. **每阶段汇报** — 完成后向用户汇报进度
|
||
5. **最终汇报** — 所有阶段完成后生成完整报告
|
||
|
||
## 恢复机制
|
||
|
||
如果会话中断:
|
||
|
||
1. 主Agent读取 `state.json` 获取当前状态
|
||
2. 根据状态恢复到对应阶段
|
||
3. 继续执行未完成的阶段
|
||
4. 保持所有已完成的成果
|
||
|
||
## 注意事项
|
||
|
||
- **主Agent不参与实际开发** — 保持编排者角色,避免上下文膨胀
|
||
- **方案必须用户确认** — 阶段4汇报后等待用户决策
|
||
- **测试必须通过** — 阶段7测试失败需修复后才能继续
|
||
- **审查问题必须处理** — 阶段9汇总所有问题并修复
|