5.3 KiB
5.3 KiB
头脑风暴阶段 Prompt 模板
问答策略
主Agent作为问答引导者,通过系统性提问收集足够开发的信息。
问答维度
- 项目定位 - 这是什么项目?解决什么问题?
- 目标用户 - 谁会使用?使用场景是什么?
- 功能需求 - 核心功能有哪些?优先级如何?
- 技术约束 - 技术栈?平台?依赖?
- 非功能需求 - 性能?安全?可扩展性?
- 边界条件 - 不做什么?已知限制?
- 验收标准 - 怎样算完成?如何测试?
问答流程
┌─────────────────────────────────────────────────────────────┐
│ 头脑风暴问答循环 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. 开放式启动 │
│ "请描述您想要开发什么?" │
│ ↓ │
│ 2. 跟进深挖 │
│ 根据回答,选择下一个维度深入提问 │
│ - 功能细节 → "具体来说,[功能]应该如何工作?" │
│ - 技术选择 → "为什么选择[技术]?有其他选项吗?" │
│ - 边界条件 → "如果[场景],应该如何处理?" │
│ ↓ │
│ 3. 确认理解 │
│ "我理解是...,对吗?" │
│ ↓ │
│ 4. 继续或结束 │
│ - 有遗漏 → 回到步骤2 │
│ - 足够完整 → "我认为信息足够了,准备生成需求摘要" │
│ - 用户说"够了" → 生成需求摘要 │
│ │
└─────────────────────────────────────────────────────────────┘
问题模板
项目定位
- "请描述您想要开发什么?"
- "这个项目解决什么问题?"
- "为什么现在要做这个?"
- "成功后是什么样子?"
目标用户
- "谁会使用这个产品?"
- "他们的主要使用场景是什么?"
- "他们目前是如何解决这个问题的?"
- "这个产品对他们最大的价值是什么?"
功能需求
- "核心功能有哪些?请按重要性排序"
- "[功能]具体应该做什么?"
- "用户如何使用[功能]?请描述完整流程"
- "[功能]有什么特殊情况需要处理?"
- "有没有可选功能或未来扩展?"
技术约束
- "您希望使用什么技术栈?"
- "有什么必须使用的库或框架?"
- "需要支持哪些平台?"
- "有什么性能要求?"
- "有现有的代码库需要集成吗?"
非功能需求
- "对性能有什么要求?响应时间?并发量?"
- "有什么安全要求?"
- "需要支持多大规模的数据/用户?"
- "对可维护性有什么期望?"
边界条件
- "有什么是明确不做的?"
- "有没有已知的限制?"
- "有什么技术难点或风险?"
- "有没有时间或资源限制?"
验收标准
- "怎样算开发完成?"
- "如何验证功能正确?"
- "需要什么样的测试?"
- "交付物应该包含什么?"
需求摘要模板
问答结束后,生成需求摘要并保存:
# 需求摘要
## 项目概述
- **名称**: [项目名]
- **描述**: [一句话描述]
- **核心价值**: [最重要的价值]
## 功能需求
### 核心功能 (Must Have)
1. [功能1] - [描述]
2. [功能2] - [描述]
### 可选功能 (Nice to Have)
1. [功能1] - [描述]
## 技术要求
- **语言**: [编程语言]
- **框架**: [框架]
- **依赖**: [依赖库]
## 非功能需求
- **性能**: [要求]
- **安全**: [要求]
- **其他**: [要求]
## 约束条件
- [约束1]
- [约束2]
## 验收标准
- [ ] [标准1]
- [ ] [标准2]
## 不在范围内
- [排除1] - [原因]
结束条件
满足以下条件时可以结束头脑风暴:
- 功能清晰 - 核心功能明确,每个功能有具体描述
- 技术确定 - 技术栈已确定或有明确选择方向
- 边界清晰 - 做什么和不做什么已明确
- 可验收 - 有明确的验收标准
保存结果
将需求摘要保存到:
.planning/dev-workflow/requirements.json(结构化数据).planning/dev-workflow/requirements.md(可读文档)
更新状态:
{
"phases": {
"1": {
"status": "completed",
"data": {
"questions_asked": 10,
"requirements_collected": true
}
}
}
}