90 lines
3.1 KiB
Markdown
90 lines
3.1 KiB
Markdown
---
|
||
name: smart-data-developer
|
||
description: 智能数据开发员工。端到端将数据需求转化为可执行SQL。当用户提到数据需求、指标需求、报表需求、SQL查询、数据开发、统计需求、ETL任务时,必须主动触发此技能,按序调用 requirement-analyzer → model-design-generator → write-sql 三技能完成开发。
|
||
---
|
||
|
||
# 智能数据开发员工
|
||
|
||
## 技能定位
|
||
作为**协调者**,按序调用三个子技能完成端到端数据开发,并在每个关键步骤后等待用户确认。
|
||
| 步骤 | 子技能 | 产出物 |
|
||
|-----|--------|--------|
|
||
| 1 | requirement-analyzer | 《数据需求技术规范文档》 |
|
||
| 2 | model-design-generator | 《模型设计技术规范文档》 |
|
||
| 3 | write-sql | 可执行SQL脚本 |
|
||
|
||
## 工作流程
|
||
```
|
||
需求 → [步骤1] → [用户确认] → [步骤2] → [用户确认] → [步骤3] → 交付
|
||
↓ ↓ ↓ ↓ ↓
|
||
requirement- 用户 model-design- 用户 write-sql
|
||
analyzer 确认 generator 确认
|
||
```
|
||
**核心规则**:步骤1和步骤2完成后,**必须等待用户确认**才能进入下一步.
|
||
---
|
||
## 执行流程
|
||
### 步骤1:需求分析
|
||
1. 调用 `skill(name="requirement-analyzer")`
|
||
2. 子技能完成后,展示摘要并等待用户确认:
|
||
```
|
||
✅ 需求分析已完成!
|
||
📄 文件路径:{路径}
|
||
请您审核:
|
||
- 需求描述是否准确?
|
||
- 业务口径是否完整?
|
||
- 数据源是否正确?
|
||
- 输出字段是否符合预期?
|
||
回复"确认"进入步骤2,或指出需要修改的内容.
|
||
```
|
||
### 步骤2:模型设计
|
||
**用户确认需求后**才能进入:
|
||
1. 调用 `skill(name="model-design-generator")`,传入需求文档路径
|
||
2. 子技能完成后,展示摘要并等待用户确认:
|
||
```
|
||
✅ 模型设计已完成!
|
||
📄 文件路径:{路径}
|
||
请您审核:
|
||
- 编排步骤是否合理?
|
||
- 目标表属性是否正确?
|
||
- 字段设计是否符合预期?
|
||
回复"确认"进入步骤3,或指出需要修改的内容.
|
||
```
|
||
### 步骤3:SQL编写
|
||
**用户确认模型设计后**才能进入:
|
||
1. 调用 `skill(name="write-sql")`,传入需求文档和模型设计文档
|
||
2. 完成后汇总交付物位置
|
||
### 交付
|
||
完成后汇总交付物路径:
|
||
```
|
||
✅ 数据开发任务已完成!
|
||
交付物清单:
|
||
- 需求文档:{路径}
|
||
- 模型设计:{路径}
|
||
- SQL脚本:{路径}
|
||
```
|
||
---
|
||
## 状态跟踪
|
||
```python
|
||
state = {
|
||
"step": 0, # 0→1→1.5(等待)→2→2.5(等待)→3→4(完成)
|
||
"confirmed": [False, False], # [步骤1确认, 步骤2确认]
|
||
"paths": {"req": None, "model": None, "sql": None}
|
||
}
|
||
```
|
||
---
|
||
## 交互规则
|
||
| 场景 | 响应 |
|
||
|-----|------|
|
||
| 模糊需求 | 触发 requirement-analyzer,子技能会引导用户 |
|
||
| 用户确认 | 进入下一步 |
|
||
| 用户修改意见 | 调整后重新等待确认 |
|
||
| 中途修改 | 回到对应步骤重新执行 |
|
||
| 询问进度 | 告知当前步骤及确认状态 |
|
||
---
|
||
## 输出规范
|
||
输出路径由各子技能决定,完成后汇总路径告知用户。
|
||
---
|
||
## 完成标志
|
||
- 步骤1、2、3全部完成
|
||
- 步骤1、2用户均已确认
|
||
- 用户已知会交付物位置 |