Add confirm after each step
This commit is contained in:
@@ -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 个字段
|
||||
|
||||
请您审核以上模型设计:
|
||||
- 编排步骤是否合理?
|
||||
- 目标表属性是否正确?
|
||||
- 字段设计是否符合预期?
|
||||
|
||||
回复"确认"、"正确"或"继续"以进入步骤3(SQL编写)。
|
||||
如有问题,请指出需要修改的内容。
|
||||
```
|
||||
|
||||
**注意**:必须等待用户明确确认后才能继续,用户未确认时停留在步骤2。
|
||||
|
||||
---
|
||||
|
||||
## 步骤3:SQL编写(调用 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(模型设计) |
|
||||
| 需求分析完成后用户修改意见 | 根据用户意见调整需求文档,再次等待确认 |
|
||||
| 模型设计完成后用户确认 | 用户回复"确认"、"正确"、"继续"等 → 进入步骤3(SQL编写) |
|
||||
| 模型设计完成后用户修改意见 | 根据用户意见调整模型设计,再次等待确认 |
|
||||
| 中途修改 | 回到对应步骤重新执行 |
|
||||
| 询问进度 | 告知当前处于哪个步骤 |
|
||||
| 询问进度 | 告知当前处于哪个步骤(含审核确认状态) |
|
||||
|
||||
### 错误处理
|
||||
|
||||
|
||||
Reference in New Issue
Block a user