3.2 KiB
3.2 KiB
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- 执行计划(机器可读)
状态更新
{
"phases": {
"5": {
"status": "completed",
"data": {
"spec_file": "spec.md",
"total_tasks": 10,
"total_waves": 4,
"execution_plan": "execution-plan.json"
}
}
}
}