Add confirm after each step

This commit is contained in:
li552233
2026-04-16 04:40:46 +00:00
parent a8d7f07a56
commit e85571c06a

View File

@@ -38,11 +38,15 @@ description: 智能数据开发员工。自动将需求开发成为数据查询
## 工作流程
```
用户需求 → [步骤1: 需求分析] → [步骤2: 模型设计] → [步骤3: SQL编写] → 最终交付
↓ ↓ ↓
requirement-analyzer model-design-generator write-sql
用户需求 → [步骤1: 需求分析] → [用户审核确认] → [步骤2: 模型设计] → [用户审核确认] → [步骤3: SQL编写] → 最终交付
↓ ↓ ↓ ↓
requirement-analyzer 用户确认 model-design-generator 用户确认 write-sql
```
**关键节点**
- 步骤1完成后必须等待用户审核确认确认后才能进入步骤2
- 步骤2完成后必须等待用户审核确认确认后才能进入步骤3
---
## 步骤1需求分析调用 requirement-analyzer
@@ -62,19 +66,45 @@ description: 智能数据开发员工。自动将需求开发成为数据查询
### 关键要求
- **必须引导**:不要假设用户需求,主动询问关键信息
- **记录进度**:记住用户已提供的信息,避免重复询问
- **推进流程**:需求分析完成后,主动告知用户并进入下一步
- **等待确认**:需求分析完成后,**必须等待用户审核确认**才能进入步骤2
### 需求分析完成标志
- 用户确认了需求类型(指标表需求 / 自定义统计表需求)
- 生成了完整的《数据需求技术规范文档》
- 用户对需求文档无重大修改意见
- **用户审核确认**:用户明确回复"确认"、"正确"、"继续"等表示认可的答复
### 用户审核确认环节
需求分析完成后,向用户展示需求文档摘要并等待确认:
```
✅ 需求分析已完成!
📄 文件路径:{requirement-analyzer返回的路径}
需求文档包含:
- 需求基础信息:需求编号、需求描述、提出方等
- 需求详细信息:需求背景、业务口径、运行频次等
- 数据源:共 M 张表N 个字段
- 输出表字段:共 K 个字段
请您审核以上需求文档:
- 需求描述是否准确?
- 业务口径是否完整?
- 数据源是否正确?
- 输出字段是否符合预期?
回复"确认"、"正确"或"继续"以进入步骤2模型设计
如有问题,请指出需要修改的内容。
```
**注意**必须等待用户明确确认后才能继续用户未确认时停留在步骤1。
---
## 步骤2模型设计调用 model-design-generator
### 执行时机
需求分析完成后,**立即**进入此步骤。
**用户确认需求分析后**,才能进入此步骤。
### 开场白策略
**不预设开场白**。调用 `model-design-generator` 子技能时,使用该子技能自带的引导话术作为开场白。
@@ -89,19 +119,43 @@ description: 智能数据开发员工。自动将需求开发成为数据查询
### 关键要求
- **传递上下文**将步骤1生成的需求文档路径传递给模型设计技能
- **跟踪文件**记录生成后的模型设计文档路径供步骤3使用
- **主动推进**:模型设计完成后,主动告知用户并进入下一步
- **等待确认**:模型设计完成后,**必须等待用户审核确认**才能进入步骤3
### 模型设计完成标志
- 生成了完整的《模型设计技术规范文档》
- 包含 SQL 编排步骤、目标表属性、目标表字段
- 用户确认设计合理(可选)
- **用户审核确认**:用户明确回复"确认"、"正确"、"继续"等表示认可的答复
### 用户审核确认环节
模型设计完成后,向用户展示设计文档摘要并等待确认:
```
✅ 模型设计已完成!
📄 文件路径:{model-design-generator返回的路径}
设计文档包含:
- 编排步骤:共 N 步step01-stepNN
- 目标表属性:表名、数据目录、数据源类型等
- 目标表字段:共 M 个字段
请您审核以上模型设计:
- 编排步骤是否合理?
- 目标表属性是否正确?
- 字段设计是否符合预期?
回复"确认"、"正确"或"继续"以进入步骤3SQL编写
如有问题,请指出需要修改的内容。
```
**注意**必须等待用户明确确认后才能继续用户未确认时停留在步骤2。
---
## 步骤3SQL编写调用 write-sql
### 执行时机
模型设计完成后,**立即**进入此步骤。
**用户确认模型设计后**,才能进入此步骤。
### 开场白策略
**不预设开场白**。调用 `write-sql` 子技能时,使用该子技能自带的引导话术作为开场白。
@@ -220,9 +274,11 @@ SQL 脚本包含:
```python
state = {
"current_step": 0, # 0=初始, 1=需求分析, 2=模型设计, 3=SQL编写, 4=完成
"current_step": 0, # 0=初始, 1=需求分析, 1.5=等待确认, 2=模型设计, 2.5=等待确认, 3=SQL编写, 4=完成
"step1_complete": False, # 需求分析完成
"step1_confirmed": False, # 需求分析用户确认通过
"step2_complete": False, # 模型设计完成
"step2_confirmed": False, # 模型设计用户确认通过
"step3_complete": False, # SQL编写完成
"data": {
"requirement_doc_path": None, # 需求文档路径(由子技能返回)
@@ -233,6 +289,14 @@ state = {
}
```
**状态流转规则**
- 步骤1完成后 → `current_step=1.5``step1_complete=True`,等待用户确认
- 用户确认需求后 → `current_step=2``step1_confirmed=True`,进入模型设计
- 用户未确认需求 → 保持 `current_step=1.5`,等待确认
- 步骤2完成后 → `current_step=2.5``step2_complete=True`,等待用户确认
- 用户确认模型后 → `current_step=3``step2_confirmed=True`进入SQL编写
- 用户未确认模型 → 保持 `current_step=2.5`,等待确认
**路径获取方式**每个子技能在执行完成时会返回具体的文件保存路径smart-data-developer 需记录这些路径并传递给后续步骤。
---
@@ -242,9 +306,10 @@ state = {
### 核心原则
1. **主动引导**:不要等用户问,主动告知当前状态和下一步
2. **按序执行**:必须按 需求分析 → 模型设计 → SQL编写 的顺序执行
3. **完整交付**确保三个步骤都完成,才算任务完成
4. **文件传递**每个步骤产生的文件路径必须传递给下一个步骤
2. **按序执行**:必须按 需求分析 → 用户确认 → 模型设计 → 用户确认 → SQL编写 的顺序执行
3. **审核必确认**需求分析和模型设计完成后,**都必须等待用户明确确认**才能进入下一步
4. **完整交付**确保三个步骤都完成,才算任务完成
5. **文件传递**:每个步骤产生的文件路径必须传递给下一个步骤
### 关键时机
@@ -252,8 +317,12 @@ state = {
|-------------|---------|
| 模糊需求(如"统计投诉量" | 主动引导补充关键信息,然后触发 requirement-analyzer |
| 明确需求 | 直接触发 requirement-analyzer 开始需求分析 |
| 需求分析完成后用户确认 | 用户回复"确认"、"正确"、"继续"等 → 进入步骤2模型设计 |
| 需求分析完成后用户修改意见 | 根据用户意见调整需求文档,再次等待确认 |
| 模型设计完成后用户确认 | 用户回复"确认"、"正确"、"继续"等 → 进入步骤3SQL编写 |
| 模型设计完成后用户修改意见 | 根据用户意见调整模型设计,再次等待确认 |
| 中途修改 | 回到对应步骤重新执行 |
| 询问进度 | 告知当前处于哪个步骤 |
| 询问进度 | 告知当前处于哪个步骤(含审核确认状态) |
### 错误处理