This commit is contained in:
闫旭隆
2026-01-09 11:22:42 +08:00
parent f4314c3ede
commit 202d1cb5ba
1066 changed files with 179639 additions and 7618 deletions

View File

@ -9,17 +9,13 @@
6.2 并行调用四个评审 Agents独立评审
6.3 博弈-评价阶段:交叉评价
6.3 询问用户决策模式
6.4 博弈-回应阶段:交叉回应
6.4 整合评审意见根据用户选择调用不同Agent
6.5 询问用户决策模式
6.5 调用 review_report 质量审查
6.6 整合评审意见根据用户选择调用不同Agent
6.7 调用 review_report 质量审查
6.8 输出总结
6.6 输出总结
```
---
@ -163,210 +159,7 @@ prompt: |
---
## 6.3 博弈-评价阶段:交叉评价
### 流程说明
评审完成后,各专家阅读其他专家的评审意见并给出评价。每个专家会:
1. 首先加载用户原始需求interview_result.json作为评判基准
2. 回顾自己的评审立场review_*.json
3. 阅读其他3位专家的评审意见
4. 对有分歧的关键点给出评价
### 操作步骤
**在同一消息中并行调用四个专家**(传入 mode: evaluate
```
# 调用1开发专家
subagent_type: "dev_expert_reviewer"
description: "开发专家交叉评价"
prompt: |
mode: evaluate
请阅读其他专家的评审意见,给出技术视角的评价。
# 调用2产品经理
subagent_type: "pm_reviewer"
description: "产品经理交叉评价"
prompt: |
mode: evaluate
请阅读其他专家的评审意见,给出业务视角的评价。
# 调用3AI专家
subagent_type: "ai_expert_reviewer"
description: "AI专家交叉评价"
prompt: |
mode: evaluate
请阅读其他专家的评审意见,给出智能化视角的评价。
# 调用4领域专家
subagent_type: "domain_expert_reviewer"
description: "领域专家交叉评价"
prompt: |
mode: evaluate
请阅读其他专家的评审意见,给出领域专业视角的评价。
```
### 评价输出格式
每个专家输出 `evaluations` 数组,针对其他专家的具体条目给出评价:
```json
{
"evaluations": [
{
"target_expert": "产品经理",
"target_file": "temp/review_pm.json",
"target_item": {
"type": "issue",
"index": 0,
"brief": "对方观点摘要"
},
"stance": "disagree",
"comment": "我的评价",
"reasoning": "评价理由"
}
]
}
```
### stance 字段说明
| 值 | 含义 |
|------|------|
| `disagree` | 明确反对该观点,给出专业依据 |
| `partial` | 部分同意,指出同意和不同意的部分 |
**注意**:只评价有分歧的关键点,完全同意或无关的条目跳过不回应。
### 输出文件
- temp/evaluate_dev.json
- temp/evaluate_pm.json
- temp/evaluate_ai.json
- temp/evaluate_domain.json
---
## 6.4 博弈-回应阶段:交叉回应
### 流程说明
各专家阅读其他人对自己的评价,决定是否修正立场。每个专家会:
1. 首先加载用户原始需求interview_result.json作为决策基准
2. 回顾自己的原始评审review_*.json
3. 阅读其他专家对自己的评价evaluate_*.json 中 target_expert 为自己的条目)
4. 基于用户需求判断是否需要修正自己的观点
### 操作步骤
**在同一消息中并行调用四个专家**(传入 mode: respond
```
# 调用1开发专家
subagent_type: "dev_expert_reviewer"
description: "开发专家交叉回应"
prompt: |
mode: respond
请根据其他专家对你的评价,给出回应并确定最终立场。
# 调用2产品经理
subagent_type: "pm_reviewer"
description: "产品经理交叉回应"
prompt: |
mode: respond
请根据其他专家对你的评价,给出回应并确定最终立场。
# 调用3AI专家
subagent_type: "ai_expert_reviewer"
description: "AI专家交叉回应"
prompt: |
mode: respond
请根据其他专家对你的评价,给出回应并确定最终立场。
# 调用4领域专家
subagent_type: "domain_expert_reviewer"
description: "领域专家交叉回应"
prompt: |
mode: respond
请根据其他专家对你的评价,给出回应并确定最终立场。
```
### 回应输出格式
每个专家输出 `responses_to_evaluations` 数组,明确记录对每条收到评价的回应:
```json
{
"expert_role": "开发专家",
"debate_round": 2,
"responses_to_evaluations": [
{
"from_expert": "产品经理",
"from_file": "temp/evaluate_pm.json",
"evaluation_index": 0,
"their_target": {
"my_file": "temp/review_dev.json",
"my_item_type": "issue",
"my_item_index": 0,
"my_item_content": "我的原条目内容(原文)"
},
"their_comment": "对方评价内容(原文)",
"my_decision": "accept",
"my_response": "我的回应说明",
"action": "modify",
"modification": "具体修改内容"
}
]
}
```
### 回应决策字段说明
| 字段 | 值 | 含义 |
|------|------|------|
| `my_decision` | `accept` | 完全接受,修正或撤回我的观点 |
| | `partial` | 部分接受,做有限修正 |
| | `reject` | 拒绝,坚持原观点 |
| `action` | `modify` | 修正该条目(采用 modification 内容) |
| | `withdraw` | 撤回该条目 |
| | `none` | 保持原条目不变 |
### 输出文件
- temp/response_dev.json
- temp/response_pm.json
- temp/response_ai.json
- temp/response_domain.json
### 输出博弈概要
博弈完成后,从 response_*.json 汇总统计,向用户输出概要:
```markdown
✅ 专家博弈完成
## 博弈统计
- 收到评价总数: {total_evaluations} 条
- 接受修改: {accept_count} 条
- 部分接受: {partial_count} 条
- 拒绝修改: {reject_count} 条
- 条目变更: 修改 {modify} / 撤回 {withdraw} / 保持 {none}
```
**统计来源**:从 `response_*.json``responses_to_evaluations[]` 汇总各 `my_decision``action` 字段。
---
## 6.5 询问用户决策模式
## 6.3 询问用户决策模式
在整合评审意见前,询问用户是否要参与评审建议的确认过程。
@ -377,74 +170,38 @@ question: "专家评审完成,如何处理评审建议?"
header: "决策模式"
multiSelect: false
options:
- label: "我要参与确认"
description: "逐项与我确认评审建议,由我决定是否采纳"
- label: "自动应用建议"
description: "系统自动评估并应用合理的评审建议"
- label: "我要参与确认"
description: "逐项与我确认评审建议,由我决定是否采纳"
```
### 两种模式说明
**模式1: 我要参与确认**
- 调用 req_consolidator agent
- 使用AskUserQuestion与用户多轮交互
- 用户逐项确认评审建议
- 适用于关键项目,用户需要完全控制
**模式2: 自动应用建议**
**模式1: 自动应用建议**(默认推荐)
- 调用 req_auto_consolidator agent
- 系统自动评估评审建议
- 根据severity自动决定是否采纳
- 生成纯粹的需求文档(不含评审过程说明)
- 适用于非关键项目,追求效率
- 适用于大多数项目追求效率
**模式2: 我要参与确认**
- 调用 req_consolidator agent
- 返回待确认建议给主窗口,由主窗口与用户交互
- 用户逐项确认评审建议
- 适用于关键项目,用户需要完全控制
---
## 6.6 整合评审意见并生成最终文档
## 6.4 整合评审意见并生成最终文档
根据用户在6.5的选择,调用不同的Agent。
根据用户在6.3的选择,调用不同的Agent。
**⚠️ Consolidator 读取博弈全过程文件**
**Consolidator 读取文件**
- `temp/interview_result.json` - 用户原始需求(合并决策的最高准则)
- `temp/review_*.json` - 各专家初始评审意见(所有 issues/suggestions
- `temp/response_*.json` - 各专家交叉回应(包含 action: modify/withdraw/none
- 根据 action 字段决定条目最终状态:撤回的不采纳,修改的采用新内容,保持的用原内容
- `temp/review_*.json` - 各专家评审意见(所有 issues/suggestions
### 模式1: 用户参与确认 - 调用 req_consolidator
#### 调用示例
```
subagent_type: "req_consolidator"
description: "整合评审意见并生成最终需求文档"
prompt: |
请整合四个评审结果并生成优化后的需求文档。
**评审结果文件**
- temp/review_dev.json
- temp/review_pm.json
- temp/review_ai.json
- temp/review_domain.json
**模板约束**
- 读取 temp/interview_result.json 中的 documentation.recommended_template 获取模板路径
- **严格按照模板结构生成文档,不能添加模板之外的章节**
- 评审建议的内容必须归入模板定义的现有章节中
- 如评审建议涉及新增章节(如"用户反馈机制"、"竞品对比"等),将内容整合到最相关的现有章节
**任务**
1. 读取评审结果并汇总
2. 将评审建议转化为问题使用AskUserQuestion工具与用户多轮确认
3. 根据用户确认生成 requirement_final.md严格按照模板结构
```
**说明**
- req_consolidator会自动读取评审文件
- **会使用AskUserQuestion与用户交互确认评审建议**
- **必须严格按照模板结构生成文档,不添加额外章节**
- 只返回简洁的完成提示给主窗口
### 模式2: 自动应用建议 - 调用 req_auto_consolidator
### 模式1: 自动应用建议 - 调用 req_auto_consolidator(默认推荐)
#### 调用示例
@ -481,13 +238,96 @@ prompt: |
- 将详细的评审应用过程记录到 temp/consolidation_report.json
- 返回简洁的完成提示给主窗口
### 模式2: 用户参与确认 - 多轮调用 req_consolidator
req_consolidator 采用多轮调用模式,通过主窗口中转实现用户交互。
#### 首次调用mode=init
```
subagent_type: "req_consolidator"
description: "整合评审意见(初始化)"
prompt: |
请整合四个评审结果并准备用户确认。
**mode**: init
```
**返回示例**
```json
{
"status": "need_confirmation",
"round": 1,
"questions": [
{
"id": "q1",
"question": "关于XX功能专家建议增加YY特性是否采纳",
"header": "功能增强",
"options": [
{"label": "采纳", "description": "增加YY特性"},
{"label": "不采纳", "description": "保持原设计"}
]
}
]
}
```
#### 主窗口处理
1. 解析返回的 `questions` 数组
2. 对每个问题使用 AskUserQuestion 询问用户
3. 收集用户答案
#### 后续调用mode=continue
```
subagent_type: "req_consolidator"
description: "整合评审意见(继续)"
prompt: |
请继续处理评审建议。
**mode**: continue
**previous_answers**:
{"q1": "采纳", "q2": "不采纳"}
```
**返回**
- 如果还有问题:返回 `status: "need_confirmation"` + 下一轮问题
- 如果已完成:返回 `status: "completed"`requirement_final.md 已生成
#### 完整调用流程
```
主窗口 req_consolidator
| |
|------ mode=init ------------------->|
|<----- questions (round 1) ----------|
| |
|-- AskUserQuestion (用户回答) ------->|
| |
|------ mode=continue + answers ----->|
|<----- questions (round 2) ----------|
| |
|-- AskUserQuestion (用户回答) ------->|
| |
|------ mode=continue + answers ----->|
|<----- status=completed -------------|
| |
```
**说明**
- req_consolidator **不使用AskUserQuestion**通过返回JSON与主窗口交互
- 主窗口负责解析问题并调用AskUserQuestion
- 通过 `previous_answers` 传递用户决策
- 循环直到返回 `status: "completed"`
### 等待返回
等待选中的agent返回完成提示requirement_final.md已生成。
---
## 6.7 调用 review_report 质量审查
## 6.5 调用 review_report 质量审查
### 调用示例
@ -510,21 +350,25 @@ prompt: |
4. 业务问题完整性(是否还有"待确认"的业务问题)
**处理方式**
- 多余章节:直接删除,不询问用户
- 业务问题需确认使用AskUserQuestion确认后修改
- 如果没有问题,输出通过提示
- 可自动修复的问题:直接修改文档
- 无法自动判断的严重问题:返回给主窗口处理
```
**说明**:
- review_report 会读取 requirement_final.md
- **首先检查文档结构是否符合模板,多余章节直接删除**
- 如发现待确认的业务问题,会使用AskUserQuestion与用户确认
- 如发现前后矛盾,会向用户询问如何处理
- **本Agent不使用AskUserQuestion**,无法自动判断的问题返回给主窗口
- 审查通过或修改完成后,返回审查报告
### 主窗口处理待确认问题
如果 review_report 返回的审查报告中包含"待用户确认"的问题:
1. 主窗口使用 AskUserQuestion 向用户确认这些问题
2. 根据用户回答,使用 Edit 工具修改 requirement_final.md
---
## 6.8 输出总结
## 6.6 输出总结
### 操作步骤