8cc6fa2354
Phase 2 头脑风暴: - prompts/brainstorming.md - 问答策略和需求收集模板 Phase 3 方案设计: - prompts/solution-design.md - 3个子代理启动配置 Phase 4 方案审核: - prompts/solution-review.md - 交叉审核和综合方案生成 Phase 5 方案汇报: - prompts/solution-report.md - 用户决策处理 Phase 6 Spec编排: - prompts/spec-planning.md - 依赖分析和分波计划 Phase 7 并行开发: - prompts/parallel-development.md - 波次执行逻辑 Phase 8 测试: - prompts/testing.md - 测试框架检测和重试逻辑 Phase 9 代码审查: - prompts/code-review.md - 3个子代理独立审查 Phase 10 修复验证: - prompts/fix-verification.md - 修复循环和最终汇报 主编排器: - orchestrator.py - 9阶段协调逻辑 - 状态管理和恢复机制
179 lines
3.2 KiB
Markdown
179 lines
3.2 KiB
Markdown
# Spec编排阶段 Prompt 模板
|
|
|
|
## 目标
|
|
|
|
基于确认的综合方案,生成开发规格(Spec),分析任务依赖,生成分波执行计划。
|
|
|
|
## Spec 生成 Prompt
|
|
|
|
```
|
|
你是一个开发规划专家。请基于以下技术方案,生成详细的开发规格。
|
|
|
|
## 技术方案
|
|
{final_solution}
|
|
|
|
## 任务
|
|
1. 将方案拆分为独立的开发任务
|
|
2. 每个任务要有明确的输入、输出、验收标准
|
|
3. 分析任务之间的依赖关系
|
|
4. 生成可并行执行的分波计划
|
|
|
|
## 输出格式
|
|
|
|
```markdown
|
|
# 开发规格 (Development Spec)
|
|
|
|
## 项目概述
|
|
{project_summary}
|
|
|
|
## 任务列表
|
|
|
|
### TASK-001: {task_name}
|
|
|
|
**描述**: {description}
|
|
|
|
**输入**:
|
|
- {input_1}
|
|
- {input_2}
|
|
|
|
**输出**:
|
|
- {output_file_1}
|
|
- {output_file_2}
|
|
|
|
**实现要点**:
|
|
1. {point_1}
|
|
2. {point_2}
|
|
|
|
**验收标准**:
|
|
- [ ] {criteria_1}
|
|
- [ ] {criteria_2}
|
|
|
|
**依赖**: TASK-XXX (如果有)
|
|
|
|
**预计时间**: {estimated_time}
|
|
|
|
**复杂度**: 低/中/高
|
|
|
|
---
|
|
|
|
### TASK-002: ...
|
|
[重复结构]
|
|
|
|
---
|
|
|
|
## 依赖关系图
|
|
|
|
```
|
|
TASK-001 (无依赖)
|
|
↓
|
|
TASK-002 (依赖 001)
|
|
TASK-003 (依赖 001) ← 可并行
|
|
↓ ↓
|
|
TASK-004 (依赖 002, 003)
|
|
```
|
|
|
|
## 分波执行计划
|
|
|
|
### Wave 1 (并行执行)
|
|
- TASK-001
|
|
|
|
### Wave 2 (并行执行)
|
|
- TASK-002
|
|
- TASK-003
|
|
|
|
### Wave 3 (并行执行)
|
|
- TASK-004
|
|
|
|
## 文件变更清单
|
|
|
|
| 文件路径 | 操作 | 关联任务 |
|
|
|----------|------|----------|
|
|
| src/main.py | 新建 | TASK-001 |
|
|
| src/utils.py | 新建 | TASK-002 |
|
|
|
|
## 测试策略
|
|
|
|
### 单元测试
|
|
- {test_plan}
|
|
|
|
### 集成测试
|
|
- {integration_test_plan}
|
|
|
|
## 注意事项
|
|
- {note_1}
|
|
- {note_2}
|
|
```
|
|
|
|
请确保每个任务足够独立,可以由不同的开发者并行完成。
|
|
```
|
|
|
|
## 依赖分析规则
|
|
|
|
### 无依赖任务
|
|
- 创建新文件
|
|
- 定义数据结构
|
|
- 编写工具函数
|
|
|
|
### 有依赖任务
|
|
- 调用其他任务的输出
|
|
- 需要其他任务创建的模块
|
|
- 依赖其他任务的接口
|
|
|
|
### 分波原则
|
|
|
|
1. **Wave 1**: 所有无依赖的任务
|
|
2. **Wave 2**: 只依赖 Wave 1 的任务
|
|
3. **Wave N**: 只依赖 Wave 1..N-1 的任务
|
|
|
|
```python
|
|
def analyze_dependencies(tasks: list) -> dict:
|
|
"""分析任务依赖,生成分波计划"""
|
|
|
|
waves = {}
|
|
assigned = set()
|
|
|
|
wave_num = 1
|
|
while len(assigned) < len(tasks):
|
|
# 找出所有依赖已满足的任务
|
|
wave_tasks = []
|
|
for task in tasks:
|
|
if task["id"] in assigned:
|
|
continue
|
|
|
|
deps = task.get("dependencies", [])
|
|
if all(d in assigned for d in deps):
|
|
wave_tasks.append(task["id"])
|
|
|
|
if not wave_tasks:
|
|
raise Exception("检测到循环依赖")
|
|
|
|
waves[f"wave_{wave_num}"] = wave_tasks
|
|
assigned.update(wave_tasks)
|
|
wave_num += 1
|
|
|
|
return waves
|
|
```
|
|
|
|
## 输出文件
|
|
|
|
- `.planning/dev-workflow/spec.md` - 开发规格
|
|
- `.planning/dev-workflow/execution-plan.json` - 执行计划(机器可读)
|
|
|
|
## 状态更新
|
|
|
|
```json
|
|
{
|
|
"phases": {
|
|
"5": {
|
|
"status": "completed",
|
|
"data": {
|
|
"spec_file": "spec.md",
|
|
"total_tasks": 10,
|
|
"total_waves": 4,
|
|
"execution_plan": "execution-plan.json"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|