20260109
This commit is contained in:
@ -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
|
||||
|
||||
请阅读其他专家的评审意见,给出业务视角的评价。
|
||||
|
||||
# 调用3:AI专家
|
||||
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
|
||||
|
||||
请根据其他专家对你的评价,给出回应并确定最终立场。
|
||||
|
||||
# 调用3:AI专家
|
||||
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 输出总结
|
||||
|
||||
### 操作步骤
|
||||
|
||||
|
||||
Reference in New Issue
Block a user