20260109
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
name: requirement-generator-v1
|
||||
description: 用于生成需求文档,当用户说"生成需求文档、撰写需求文档"等时触发。支持多种项目类型,通过业务访谈收集业务需求信息
|
||||
created_at: 2025-11-13
|
||||
updated_at: 2025-12-03
|
||||
updated_at: 2025-12-11
|
||||
version: v1
|
||||
author: 闫旭隆
|
||||
---
|
||||
@ -25,7 +25,30 @@ author: 闫旭隆
|
||||
|
||||
## 前置准备
|
||||
|
||||
在开始执行流程前,使用 Bash 工具创建临时文件目录:
|
||||
在开始执行流程前,执行以下准备工作:
|
||||
|
||||
### 1. 清空历史缓存
|
||||
|
||||
使用 Bash 工具清空上一次执行的缓存文件:
|
||||
|
||||
```bash
|
||||
rm -f requirement.md requirement_final.md
|
||||
rm -f temp/interview_result.json temp/domain_role.md
|
||||
rm -f temp/review_dev.json temp/review_pm.json temp/review_ai.json temp/review_domain.json
|
||||
rm -f temp/consolidation_report.json
|
||||
```
|
||||
|
||||
**说明**:
|
||||
|
||||
- 清空初始需求文档 `requirement.md`
|
||||
- 清空最终需求文档 `requirement_final.md`
|
||||
- 清空访谈结果 `temp/interview_result.json`
|
||||
- 清空领域专家定义 `temp/domain_role.md`
|
||||
- 清空各专家评审意见 `temp/review_*.json`
|
||||
- 清空整合报告 `temp/consolidation_report.json`
|
||||
- 使用 `rm -f` 避免文件不存在时报错
|
||||
|
||||
### 2. 创建临时文件目录
|
||||
|
||||
```bash
|
||||
mkdir -p temp
|
||||
@ -34,7 +57,6 @@ mkdir -p temp
|
||||
**说明**:
|
||||
- `temp` 目录用于存储 agents 之间传递的中间数据文件
|
||||
- 如果目录已存在,mkdir -p 会忽略错误
|
||||
- 该目录将用于存储访谈结果 JSON 文件
|
||||
|
||||
## 执行流程
|
||||
|
||||
@ -166,7 +188,7 @@ prompt: |
|
||||
- 分析项目领域特征(医疗/金融/教育/电商/科研等)
|
||||
- 生成领域专家角色定义(角色名称、领域、专业能力、评审重点、合规标准)
|
||||
- **使用 Write 工具将角色定义保存到 `temp/domain_role.md`**
|
||||
- ⚠️ 领域专家生成原则:使用纯粹的业务领域名称(如"精神科医生"、"投资顾问"),代表该行业的一线从业者视角
|
||||
- 领域专家生成原则:使用纯粹的业务领域名称(如"精神科医生"、"投资顾问"),代表该行业的一线从业者视角
|
||||
|
||||
2. **并行调用四个评审agents**: 使用 Task 工具在同一消息中发起四个调用
|
||||
- dev_expert_reviewer(开发专家,`D:\AA_Work\AIEC-团队开发规范Skills\.claude\agents\dev_expert_reviewer.md`)
|
||||
@ -176,87 +198,53 @@ prompt: |
|
||||
|
||||
接收四个agents返回的评审概要(详细结果已保存到 temp/review_*.json)。
|
||||
|
||||
3. **博弈-评价阶段:交叉评价**
|
||||
|
||||
使用Task工具并行调用四个专家(agents 路径同上),传入评价模式:
|
||||
```
|
||||
subagent_type: "dev_expert_reviewer"
|
||||
description: "开发专家交叉评价"
|
||||
prompt: |
|
||||
mode: evaluate
|
||||
|
||||
请阅读其他专家的评审意见,给出你基于开发专家视角的评价。
|
||||
|
||||
# 每个专家的 prompt 都需要包含 mode: evaluate
|
||||
```
|
||||
|
||||
接收四个agents返回的评价概要(结果已保存到 temp/evaluate_*.json)。
|
||||
|
||||
4. **博弈-回应阶段:交叉回应**
|
||||
|
||||
使用Task工具并行调用四个专家(agents 路径同上),传入回应模式:
|
||||
```
|
||||
subagent_type: "dev_expert_reviewer"
|
||||
description: "开发专家交叉回应"
|
||||
prompt: |
|
||||
mode: respond
|
||||
|
||||
请根据其他专家对你的评价,给出回应并确定最终立场。
|
||||
|
||||
# 每个专家的 prompt 都需要包含 mode: respond
|
||||
```
|
||||
|
||||
接收四个agents返回的回应概要(结果已保存到 temp/response_*.json)。
|
||||
|
||||
**输出博弈概要**(从 response_*.json 汇总统计):
|
||||
```markdown
|
||||
✅ 专家博弈完成
|
||||
|
||||
## 博弈统计
|
||||
- 收到评价总数: {total_evaluations} 条
|
||||
- 接受修改: {accept_count} 条
|
||||
- 部分接受: {partial_count} 条
|
||||
- 拒绝修改: {reject_count} 条
|
||||
- 条目变更: 修改 {modify} / 撤回 {withdraw} / 保持 {none}
|
||||
```
|
||||
|
||||
5. **询问用户决策模式**: 使用 AskUserQuestion 询问用户如何处理评审建议
|
||||
3. **询问用户决策模式**: 使用 AskUserQuestion 询问用户如何处理评审建议
|
||||
```
|
||||
question: "专家评审完成,如何处理评审建议?"
|
||||
header: "决策模式"
|
||||
multiSelect: false
|
||||
options:
|
||||
- label: "我要参与确认"
|
||||
description: "逐项与我确认评审建议,由我决定是否采纳"
|
||||
- label: "自动应用建议"
|
||||
description: "系统自动评估并应用合理的评审建议"
|
||||
- label: "我要参与确认"
|
||||
description: "逐项与我确认评审建议,由我决定是否采纳"
|
||||
```
|
||||
|
||||
6. **整合评审意见并生成最终文档**: 根据用户选择调用不同的Agent
|
||||
4. **整合评审意见并生成最终文档**: 根据用户选择调用不同的Agent
|
||||
|
||||
**⚠️ 重要约束**:整合时必须严格按照原始模板结构,不能添加模板之外的章节。
|
||||
|
||||
**用户选择"我要参与确认"**: 使用Task工具调用 req_consolidator(`D:\AA_Work\AIEC-团队开发规范Skills\.claude\agents\req_consolidator.md`)
|
||||
- 与用户多轮确认评审建议
|
||||
- 生成 requirement_final.md
|
||||
**重要约束**:整合时必须严格按照原始模板结构,不能添加模板之外的章节。
|
||||
|
||||
**用户选择"自动应用建议"**: 使用Task工具调用 req_auto_consolidator(`D:\AA_Work\AIEC-团队开发规范Skills\.claude\agents\req_auto_consolidator.md`)
|
||||
- 自动评估并应用评审建议
|
||||
- 生成 requirement_final.md 和 temp/consolidation_report.json
|
||||
|
||||
接收完成提示,requirement_final.md 已生成。
|
||||
**用户选择"我要参与确认"**: 多轮调用 req_consolidator(`D:\AA_Work\AIEC-团队开发规范Skills\.claude\agents\req_consolidator.md`)
|
||||
|
||||
7. **质量审查**: 使用 Task 工具调用 review_report(`D:\AA_Work\AIEC-团队开发规范Skills\.claude\agents\review_report.md`)
|
||||
**调用流程**:
|
||||
1. 首次调用(mode=init):返回待确认问题列表(JSON)
|
||||
2. 主窗口解析问题,使用 AskUserQuestion 逐个询问用户
|
||||
3. 收集用户答案后再次调用(mode=continue,传入 previous_answers)
|
||||
4. 重复步骤2-3,直到返回 status="completed"
|
||||
5. 生成 requirement_final.md
|
||||
|
||||
接收完成提示(status="completed"),requirement_final.md 已生成。
|
||||
|
||||
5. **质量审查**: 使用 Task 工具调用 review_report(`D:\AA_Work\AIEC-团队开发规范Skills\.claude\agents\review_report.md`)
|
||||
- **检查文档结构是否符合模板**(是否有多余章节,如有则删除)
|
||||
- 检查客观性与中立性(是否有评审标注、讨论性词汇)
|
||||
- 检查逻辑严谨性(是否存在前后矛盾)
|
||||
- 检查闭环性(功能描述是否完整)
|
||||
- 检查业务问题完整性(是否还有"待确认"的业务问题)
|
||||
- 如发现问题(包括多余章节),直接修改文档;如有业务问题需确认,使用AskUserQuestion确认后修改
|
||||
- 可自动修复的问题直接修改文档
|
||||
- 无法自动判断的严重问题返回给主窗口
|
||||
|
||||
接收 review_report 返回的审查报告。
|
||||
|
||||
8. **输出最终总结**:
|
||||
**如果审查报告中有"待用户确认"的问题**:
|
||||
- 主窗口使用 AskUserQuestion 向用户确认这些问题
|
||||
- 根据用户回答,使用 Edit 工具修改 requirement_final.md
|
||||
|
||||
6. **输出最终总结**:
|
||||
|
||||
```markdown
|
||||
🎉 多角色评审完成!
|
||||
@ -276,7 +264,3 @@ prompt: |
|
||||
requirement_final.md 是纯粹的需求文档,不包含评审过程说明。
|
||||
如需了解评审应用的详细过程,可查看 temp/consolidation_report.json 文件。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**流程结束**。
|
||||
|
||||
Reference in New Issue
Block a user