Compare commits

...

2 Commits

Author SHA1 Message Date
li552233
a8d7f07a56 Let sub skill decide output dir 2026-04-16 04:34:51 +00:00
li552233
8eedb894ae çremove predefined opener in router skill 2026-04-16 04:28:35 +00:00

View File

@@ -50,28 +50,15 @@ description: 智能数据开发员工。自动将需求开发成为数据查询
### 执行时机 ### 执行时机
用户提出任何数据开发需求时,**立即**进入此步骤。 用户提出任何数据开发需求时,**立即**进入此步骤。
### 执行方式 ### 开场白策略
使用 `skill` 工具加载并触发 `requirement-analyzer` 技能 **不预设开场白**。调用 `requirement-analyzer` 技能时,使用该子技能自带的引导话术作为开场白。
### 执行方式
使用 `skill` 工具加载并触发 `requirement-analyzer` 技能,子技能会自动使用其预设的引导话术与用户交互:
``` ```
加载 skill: requirement-analyzer 加载 skill: requirement-analyzer
``` ```
### 引导话术(首次交互)
```
您好!我是智能数据开发员工,我来帮您完成数据开发任务。
为了更好地理解您的需求,我将引导您完成需求分析,生成标准的需求文档。
请先告诉我您的需求:
1. 您想统计什么数据?(如:投诉量、用户数、销售额等)
2. 按什么维度分组?(如:按日、按部门、按地区等)
3. 数据需要每天更新吗?还是一次性查询?
4. 结果需要写入哪个表?
请尽可能详细地描述您的需求背景和业务口径。
```
### 关键要求 ### 关键要求
- **必须引导**:不要假设用户需求,主动询问关键信息 - **必须引导**:不要假设用户需求,主动询问关键信息
- **记录进度**:记住用户已提供的信息,避免重复询问 - **记录进度**:记住用户已提供的信息,避免重复询问
@@ -89,26 +76,16 @@ description: 智能数据开发员工。自动将需求开发成为数据查询
### 执行时机 ### 执行时机
需求分析完成后,**立即**进入此步骤。 需求分析完成后,**立即**进入此步骤。
### 执行方式 ### 开场白策略
使用 `skill` 工具加载并触发 `model-design-generator` 技能 **不预设开场白**。调用 `model-design-generator` 技能时,使用该子技能自带的引导话术作为开场白。
### 执行方式
使用 `skill` 工具加载并触发 `model-design-generator` 技能,子技能会自动根据输入文档启动模型设计流程:
``` ```
加载 skill: model-design-generator 加载 skill: model-design-generator
输入步骤1生成的需求文档路径 输入步骤1生成的需求文档路径
``` ```
### 引导话术
```
需求分析已完成!现在进入模型设计阶段。
根据您的需求文档,我将生成模型设计技术规范,包括:
1. SQL 编排步骤(数据处理流程)
2. 目标表属性信息
3. 目标表字段信息
请稍候,正在生成模型设计文档...
```
### 关键要求 ### 关键要求
- **传递上下文**将步骤1生成的需求文档路径传递给模型设计技能 - **传递上下文**将步骤1生成的需求文档路径传递给模型设计技能
- **跟踪文件**记录生成后的模型设计文档路径供步骤3使用 - **跟踪文件**记录生成后的模型设计文档路径供步骤3使用
@@ -126,9 +103,11 @@ description: 智能数据开发员工。自动将需求开发成为数据查询
### 执行时机 ### 执行时机
模型设计完成后,**立即**进入此步骤。 模型设计完成后,**立即**进入此步骤。
### 执行方式 ### 开场白策略
使用 `skill` 工具加载并触发 `write-sql` 技能 **不预设开场白**。调用 `write-sql` 技能时,使用该子技能自带的引导话术作为开场白。
### 执行方式
使用 `skill` 工具加载并触发 `write-sql` 技能,子技能会自动根据输入文档启动 SQL 编写流程:
``` ```
加载 skill: write-sql 加载 skill: write-sql
输入: 输入:
@@ -136,18 +115,6 @@ description: 智能数据开发员工。自动将需求开发成为数据查询
- 步骤2生成的模型设计文档 - 步骤2生成的模型设计文档
``` ```
### 引导话术
```
模型设计已完成现在进入最后一步SQL编写。
根据需求文档和模型设计,我将生成可执行的 SQL 脚本,包括:
1. 中间临时表的创建
2. 数据加工逻辑
3. 最终目标表的写入
请稍候,正在生成 SQL 脚本...
```
### 关键要求 ### 关键要求
- **传递完整上下文**:将需求文档和模型设计文档都传递给 SQL 编写技能 - **传递完整上下文**:将需求文档和模型设计文档都传递给 SQL 编写技能
- **检查输出**:确认生成的 SQL 脚本已保存到指定路径 - **检查输出**:确认生成的 SQL 脚本已保存到指定路径
@@ -155,7 +122,7 @@ description: 智能数据开发员工。自动将需求开发成为数据查询
### SQL编写完成标志 ### SQL编写完成标志
- 生成了完整的、可执行的 SQL 脚本 - 生成了完整的、可执行的 SQL 脚本
- SQL 已保存到 `./output/` 路径 - SQL 已保存到 write-sql 子技能指定的输出路径
- 文件命名规范:`SQL-DATA-{时间戳}-001.md` - 文件命名规范:`SQL-DATA-{时间戳}-001.md`
--- ---
@@ -169,24 +136,22 @@ description: 智能数据开发员工。自动将需求开发成为数据查询
**步骤1需求分析** **步骤1需求分析**
您好!我是智能数据开发员工,我来帮您完成数据开发任务。 (调用 `requirement-analyzer` 子技能,该子技能会使用其自带的引导话术开场)
为了更好地理解您的需求,我将引导您完成需求分析,生成标准的需求文档。 例如,子技能可能的引导话术:
```
好的,我来帮您生成标准的需求文档。为了高效完成,请您一次性提供以下信息:
根据您的描述,我了解到: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 统计目标:各部门的投诉量 📋 第一部分:基础信息
- 分组维度:按部门 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 更新频率:每日更新
- 输出目标:指标表
请确认或补充以下信息: 1. 需求描述(核心业务目标是什么?)
1. **需求提出方**:是哪个部门/谁提出的需求 2. 需求提出方/人(哪个部门/谁提出的?
2. **业务口径**:投诉量具体怎么计算?(如:按投诉工单数、去重统计等) ...
3. **部门维度**:是指投诉处理地部门还是其他部门? ```
4. **指标编码**:这个指标有没有指定的指标编码(如 D_DXT_xxxxxx
5. **目标表**:写入哪个指标表?表名是什么?
(此处调用 requirement-analyzer 进行完整的需求分析流程... (此处 requirement-analyzer 子技能完成完整的需求分析流程...
--- ---
@@ -194,9 +159,20 @@ description: 智能数据开发员工。自动将需求开发成为数据查询
需求分析已完成! 需求分析已完成!
现在进入模型设计阶段,正在根据需求文档生成模型设计技术规范... (调用 `model-design-generator` 子技能,该子技能会使用其自带的引导话术开场)
(此处调用 model-design-generator 生成模型设计文档... 例如,子技能可能的引导话术:
```
根据您的需求文档,正在生成模型设计技术规范...
输入文档REQ-DATA-xxx.md
输出内容:
- SQL 编排步骤
- 目标表属性信息
- 目标表字段信息
```
(此处由 model-design-generator 子技能生成模型设计文档...
--- ---
@@ -204,9 +180,19 @@ description: 智能数据开发员工。自动将需求开发成为数据查询
模型设计已完成! 模型设计已完成!
现在进入最后一步SQL编写正在根据需求和模型设计生成可执行的 SQL 脚本... (调用 `write-sql` 子技能,该子技能会使用其自带的引导话术开场)
(此处调用 write-sql 生成 SQL 脚本... 例如,子技能可能的引导话术:
```
根据需求分析和模型设计,正在编写 SQL 脚本...
严格遵循模型设计中定义的逻辑步骤:
- 先过滤再聚合
- 先子查询再关联
- 每个逻辑步骤物化为临时表
```
(此处由 write-sql 子技能生成 SQL 脚本...
--- ---
@@ -214,10 +200,10 @@ description: 智能数据开发员工。自动将需求开发成为数据查询
✅ 数据开发任务已完成! ✅ 数据开发任务已完成!
交付物清单: 交付物清单(路径由各子技能返回)
1. **需求文档**`./output/REQ-DATA-xxx.md` 1. **需求文档**`{requirement-analyzer返回的路径}`
2. **模型设计**`./output/MDDS-DATA-xxx.md` 2. **模型设计**`{model-design-generator返回的路径}`
3. **SQL脚本**`./output/SQL-DATA-xxx.md` 3. **SQL脚本**`{write-sql返回的路径}`
SQL 脚本包含: SQL 脚本包含:
- 中间临时表的创建逻辑 - 中间临时表的创建逻辑
@@ -239,14 +225,16 @@ state = {
"step2_complete": False, # 模型设计完成 "step2_complete": False, # 模型设计完成
"step3_complete": False, # SQL编写完成 "step3_complete": False, # SQL编写完成
"data": { "data": {
"requirement_doc_path": None, # 需求文档路径 "requirement_doc_path": None, # 需求文档路径(由子技能返回)
"model_design_path": None, # 模型设计文档路径 "model_design_path": None, # 模型设计文档路径(由子技能返回)
"sql_script_path": None, # SQL脚本路径 "sql_script_path": None, # SQL脚本路径(由子技能返回)
"user_requirements": {}, # 用户原始需求 "user_requirements": {}, # 用户原始需求
} }
} }
``` ```
**路径获取方式**每个子技能在执行完成时会返回具体的文件保存路径smart-data-developer 需记录这些路径并传递给后续步骤。
--- ---
## 交互规则 ## 交互规则
@@ -293,27 +281,22 @@ state = {
**用户**:我想做一个统计,每天统计各部门的投诉受理量,写入指标表 **用户**:我想做一个统计,每天统计各部门的投诉受理量,写入指标表
**助手** **助手**
(调用 `requirement-analyzer` 子技能,使用其自带的开场白)
``` ```
您好!我是智能数据开发员工,我来帮您完成数据开发任务。 好的,我来帮您生成标准的需求文档。为了高效完成,请您一次性提供以下信息:
根据您的描述: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 统计目标:各部门的投诉受理量 📋 第一部分:基础信息
- 分组维度:按部门 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 更新频率:每日
- 输出:指标表
为了生成标准的需求文档,我需要确认以下信息: 1. 需求描述(核心业务目标是什么?)
- 例如:每天统计各部门的投诉受理量
1. **需求提出方**:是哪个部门提出的?(如:市场部、客服部 2. 需求提出方/人(哪个部门/谁提出的?)
2. **业务口径**:投诉受理量具体怎么统计?(是否去重?是否包含某个状态?) ...
3. **指标编码**:这个指标有没有指定的编码?(如 D_DXT_xxxxxx
4. **目标表**:写入哪个指标表?表名是?
5. **数据来源**:数据从哪个库/表取?
请提供以上信息,我将为您生成完整的开发文档。
``` ```
(用户补充信息后,调用 requirement-analyzer 完成需求分析,然后依次调用 model-design-generator 和 write-sql完成整个流程 用户补充信息后requirement-analyzer 子技能完成需求分析,然后依次调用 model-design-generator 和 write-sql 子技能,完成整个流程)
--- ---
@@ -365,11 +348,15 @@ state = {
## 文件输出规范 ## 文件输出规范
| 产出物 | 命名规范 | 存储路径 | **输出目录由各子技能自行决定**smart-data-developer 作为协调者不预设统一输出路径。
|-------|---------|---------|
| 需求文档 | `REQ-DATA-{时间戳}-{序号}.md` | `./output/` | | 产出物 | 子技能 | 命名规范 | 输出路径(由子技能决定) |
| 模型设计 | `MDDS-DATA-{时间戳}-{序号}.md` | `./output/` | |-------|--------|---------|-------------------------|
| SQL脚本 | `SQL-DATA-{时间戳}-{序号}.md` | `./output/` | | 需求文档 | requirement-analyzer | `REQ-DATA-{时间戳}-{序号}.md` | 由 requirement-analyzer 子技能决定 |
| 模型设计 | model-design-generator | `MDDS-DATA-{时间戳}-{序号}.md` | 由 model-design-generator 子技能决定 |
| SQL脚本 | write-sql | `SQL-DATA-{时间戳}-{序号}.md` | 由 write-sql 子技能决定 |
**注意**各子技能会在执行完成时告知用户具体的文件保存路径smart-data-developer 在交付时汇总各子技能返回的路径信息。
--- ---
@@ -379,7 +366,7 @@ state = {
1. ✅ 需求分析完成,生成了需求文档 1. ✅ 需求分析完成,生成了需求文档
2. ✅ 模型设计完成,生成了设计文档 2. ✅ 模型设计完成,生成了设计文档
3. ✅ SQL编写完成生成了可执行的SQL脚本 3. ✅ SQL编写完成生成了可执行的SQL脚本
4. ✅ 所有文件已保存到指定路径 4. ✅ 所有文件已保存到各子技能指定的输出路径
5. ✅ 用户已知会最终交付物位置 5. ✅ 用户已知会最终交付物位置
只有以上全部满足,才算数据开发任务完成。 只有以上全部满足,才算数据开发任务完成。