Files
smart-data-dev-skill/one-skill/smart-data-developer/agents/model-design-generator.md
2026-05-13 11:03:00 +08:00

667 lines
25 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: model-design-generator
description: 根据数据需求技术规范文档生成模型设计技术规范文档
---
# 模型设计技能 (Model Design Skill)
## 技能描述
本技能根据**数据需求技术规范文档**,自动生成对应的**模型设计技术规范文档**,包含 SQL 编排步骤、目标表属性信息、目标表字段信息等完整设计内容。
**使用说明**
- 技能加载后**自动**从 `./ai_text/` 目录选取最新的需求文档并开始处理
- 不要询问用户是否使用默认路径,直接自动处理
- 如用户主动传入文件路径或目录路径,则使用用户指定的路径
## 输入输出
### 输入
- **输入类型**MD 文件路径(可选)
- **输入来源**
- 默认:自动从当前目录下的 `ai_text` 文件夹选取最新的 `REQ-DATA-*.md` 文件
- 用户传入文件路径:使用指定文件
- 用户传入目录路径:从指定目录选取最新的 `REQ-DATA-*.md` 文件
- **输入示例**
- 不传参数:自动使用 `./ai_text/REQ-DATA-*.md` 中最新的文件
- 文件路径:`202604/skills_design/v2/data/REQ-DATA-20260409142709-001.md`
- 目录路径:`202604/skills_design/v2/data/` → 自动选取最新的 `REQ-DATA-*.md` 文件
- **重要**:不要询问用户选择输入方式,直接按上述规则自动处理
### 输出
- **输出类型**Markdown + JSON 格式文本(模型设计技术规范文档)
- **输出目录**
- 如果用户指定了输出目录:使用用户指定的目录
- 如果用户未指定输出目录:默认为当前工作目录下的 `ai_text` 文件夹
- **输出内容**
1. 编排目标表生成流程SQL 编排步骤)- Markdown 表格
2. 目标表属性信息 - JSON 格式
3. 目标表字段信息 - JSON 格式
---
## 可配置参数
以下参数按**输出模板的表结构**组织,方便后续统一修改:
---
### 表 1编排目标表生成流程 - 字段规则与配置
输出模板字段:`步骤序号 | sql 编排内容解释 | 输入源表 | 加工字段口径 | 输出表名 | 输出表字段`
| 输出字段 | 填写规则 | 默认值/配置项 | 说明 |
|----------|----------|---------------|------|
| 步骤序号 | 按 `step01`, `step02`, `step03`... 顺序编号,步骤数根据加工复杂度决定 | 无,按步骤生成 | 标识处理步骤顺序 |
| sql 编排内容解释 | 根据加工逻辑自然语言描述 | 无AI 生成 | 描述该步骤的加工目的和操作 |
| 输入源表 | 从需求文档"所用数据源及字段"表提取 | 无,从输入提取 | 该步骤依赖的源表列表 |
| 加工字段口径 | 从需求文档"输出表字段 - 字段加工逻辑"提取并整理 | 无,从输入提取 | 字段的加工规则说明 |
| 输出表名 | 临时表:`${db_tmp_env}.${temp_table.prefix}${temp_table.suffix}`<br>目标表:`${db_eda_env}.${target_table.prefix}_xxx` | `db_tmp_env`**保留占位符**<br>`db_eda_env`**保留占位符**<br>`temp_table.prefix=tmp_prj004_ads_rpt`**展开为实际值**<br>`temp_table.suffix=_01,_02...`**展开为实际值**<br>`target_table.prefix=prj004_ads_rpt`**展开为实际值** | 最后一步输出目标表,中间步骤输出临时表;**输出时内部变量需展开,外部变量保留** |
| 输出表字段 | 从需求文档"输出表字段"提取,逗号分隔 | 无,从输入提取 | 该步骤产出的字段列表 |
---
### 表 2目标表属性信息 - 字段规则与配置
输出模板字段:`数据目录 | 数据源 | 表编码 | 描述 | 数据源类型 | 表名称 | 数据归口条线 | 是否已上传至集团 | 是否可共享 | 技术人员 | 技术人员电话 | 维护人员 | 维护人员电话 | 管理人员 | 管理人员电话 | 增量/全量 | 是否有敏感信息`
| 输出字段 | 填写规则 | 说明 |
|----------|----------|------|
| 数据目录 | 从需求文档"输出表名 - 数据目录"提取 | 表的业务分类归属 |
| 数据源 | 从需求文档"所用数据源及字段"涉及的源表归纳 | 描述数据来源,如"投诉工单、组织机构" |
| 表编码 | 从需求文档"输出表名 - 表英文名称"提取 | 输出表的英文表名 |
| 描述 | 从需求文档"输出表名 - 表描述"提取 | 表的业务含义描述 |
| 数据源类型 | 固定值:`paimon` | 统一使用 paimon |
| 表名称 | 从需求文档"输出表名 - 表中文名称"提取 | 输出表的中文表名 |
| 数据归口条线 | 从需求文档"需求提出方"提取(如"市场部"→"市场部" | 业务归属部门 |
| 是否已上传至集团 | 固定值:`否` | - |
| 是否可共享 | 固定值:`是` | - |
| 技术人员 | 固定值:`张三` | - |
| 技术人员电话 | 固定值:`13800138000` | - |
| 维护人员 | 固定值:`李四` | - |
| 维护人员电话 | 固定值:`13900139000` | - |
| 管理人员 | 固定值:`王五` | - |
| 管理人员电话 | 固定值:`13700137000` | - |
| 增量/全量 | 根据运行频次自动映射:日/周/月 → `增量`,其他 → `全量` | - |
| 是否有敏感信息 | 固定值:`否` | - |
---
### 表 3目标表字段信息 - 字段规则与配置
输出模板字段:`字段编码 | 字段名称 | 字段类型 | 字段分类 | 排序 | 是否自增 | 是否需脱敏 | 描述`
#### 3.1 各输出字段规则总览
| 输出字段 | 填写规则 | 说明 |
|----------|----------|------|
| 字段编码 | 从需求文档"输出表字段 - 输出字段英文名"提取 | 字段英文名snake_case 格式 |
| 字段名称 | 从需求文档"输出表字段 - 输出字段中文名"提取 | 字段中文名 |
| 字段类型 | 按"3.2 字段类型映射"转换 | 需求类型→数据库类型 |
| 字段分类 | 按"3.3 字段分类规则"自动识别 | 维度/标识/指标/分区 |
| 排序 | 从 1 开始自增 | 连续递增,无跳号 |
| 是否自增 | 固定值:`否` | - |
| 是否需脱敏 | 固定值:`否` | - |
| 描述 | 从需求文档"字段业务含义"+"加工逻辑"整理 | 字段含义 + 加工规则说明 |
#### 3.2 字段类型映射
| 需求文档类型 | 目标数据库类型 | 说明 |
|--------------|----------------|------|
| string | `STRING` | 字符串类型 |
| bigint | `BIGINT` | 大整数 |
| int | `INT` | 整数 |
| timestamp | `TIMESTAMP` | 时间戳 |
| date | `STRING` | 日期(格式 yyyy-MM-dd |
| double/decimal | `DECIMAL(18,2)` | 小数 |
#### 3.3 字段分类规则
| 字段分类 | 识别特征(字段名/业务含义) | 示例 |
|----------|----------------------------|------|
| 标识字段 | 含 `id``code``nbr`、唯一标识类 | `idx_nbr``complaint_id``org_id` |
| 维度字段 | 名称类 (`name`)、类型类 (`type`)、描述类 | `dept_name``bureau_name``complaint_type` |
| 指标字段 | 数值类、统计类、含 `num`/`amt`/`value`/`cnt` | `complaint_accept_num``idx_value` |
| 分区字段 | 含 `day_id``stat_date``dt``date` | `day_id``stat_date` |
#### 3.4 预置字段(可选追加)
**说明**:默认不追加预置字段,目标表字段与需求文档"输出表字段"保持一致。如需追加运维或分区字段,可手动控制:
| 预置类型 | 默认行为 | 说明 |
|----------|----------|------|
| 运维字段 | 不追加 | 如需追加 `etl_time``etl_remark`,手动添加 |
| 分区字段 | 不追加 | 如需追加 `day_id`,手动添加 |
## 处理流程
### Step 1: 解析输入并提取信息
**1.1 输入文件处理**
- 默认:自动从当前目录下的 `ai_text` 文件夹选取最新的 `REQ-DATA-*.md` 文件
- 如果用户指定了文件路径:直接使用该文件
- 如果用户指定了目录路径:从指定目录选取最新的 `REQ-DATA-*.md` 文件
- **不要询问用户选择输入方式**,直接按上述规则自动处理
**1.2 读取并解析需求文档**
读取 MD 文件,从数据需求技术规范文档中提取以下信息:
1. **需求基础信息**:需求编号、需求描述、需求提出方等
2. **输出表信息**:表名(中/英文)、数据目录、表描述
3. **输出字段信息**:字段名、字段类型、加工逻辑、来源表
4. **数据源信息**:库名、表名、字段信息
**1.3 输入/输出目录处理**
- 输入目录:默认使用当前目录下的 `ai_text` 文件夹
- 输出目录:默认使用当前目录下的 `ai_text` 文件夹
- 输入/输出目录无需用户确认,按默认路径处理
**1.4 与用户确认关键信息(多轮对话)**
在生成模型设计文档前,**必须**与用户确认以下关键信息:
```
请确认以下关键信息是否正确:
【需求编号】
- 需求编号:<需求编号>
【输出表信息】
- 目标表名:<表英文名称>
- 表中文名称:<表中文名称>
- 数据目录:<数据目录>
【字段信息】
- 字段总数:<N> 个
- 分区字段:<day_id 等>
- 运行频次:<日/周/月等>
以上信息是否正确?如无误请回复"正确"或"继续",如有问题请指出需要修改的内容。
```
**等待用户确认后才能继续生成。**
**输出文件命名规则**
- 直接从输入文件名转换,将前缀 `REQ` 替换为 `MDDS`Model Design Document Specification
- 输入文件名:`REQ-DATA-YYYYMMDDHHMMSS-XXX.md`
- 输出文件名:`MDDS-DATA-YYYYMMDDHHMMSS-XXX.md`
- 示例:
- 输入文件:`REQ-DATA-20260316142709-001.md`
- 输出文件:`MDDS-DATA-20260316142709-001.md`
### Step 2: 生成编排步骤(对应表 1
**在用户确认关键信息后**,根据字段加工逻辑和数据依赖关系,生成 SQL 编排步骤:
```
编排规则:
1. 识别数据依赖链:来源表 → 中间处理 → 目标表
2. 按处理复杂度拆分步骤,每步一个明确目标:
- 简单场景2 步step01 清洗关联 → step02 补全写入
- 中等场景3~4 步):增加中间聚合、多表关联等步骤
- 复杂场景5~6 步):多层嵌套加工、多次关联转换等
3. 每步骤包含:编排内容解释、输入源表、加工字段口径、输出表名、输出表字段
4. 临时表命名:`${db_tmp_env}.${temp_table.prefix}${temp_table.suffix}`
- `${db_tmp_env}` 保留占位符格式,不展开
- `${temp_table.prefix}` 展开为实际值:`tmp_prj004_ads_rpt`
- `${temp_table.suffix}` 展开为实际值:`_01`, `_02`...
- 示例输出:`${db_tmp_env}.tmp_prj004_ads_rpt_01`
5. 目标表命名:`${db_eda_env}.${target_table.prefix}_xxx`
- `${db_eda_env}` 保留占位符格式,不展开
- `${target_table.prefix}` 展开为实际值:`prj004_ads_rpt`
- `_xxx` 从需求文档"输出表名 - 表英文名称"提取(去掉库名后的表名部分)
- 示例输出:`${db_eda_env}.prj004_ads_rpt_kfb_idx_rt`
```
**字段填写说明**
- 步骤序号:按 `step01`, `step02`, `step03`... 顺序编号,步骤数根据加工复杂度决定
- sql 编排内容解释AI 根据加工逻辑自然语言描述
- 输入源表:从需求文档"所用数据源及字段"表提取
- 加工字段口径:从需求文档"输出表字段 - 字段加工逻辑"提取并整理
- 输出表名:最后一步输出目标表,中间步骤输出临时表
- 临时表格式:`${db_tmp_env}.tmp_prj004_ads_rpt_01``${db_tmp_env}`保留,内部前缀和 suffix 展开)
- 目标表格式:`${db_eda_env}.prj004_ads_rpt_xxx``${db_eda_env}`保留,内部前缀和表名展开)
- 输出表字段:从需求文档"输出表字段"提取,逗号分隔
**编排流程校验(重要)**
生成编排步骤后,**必须**分步进行校验,每步校验后都要等待用户确认:
**第一步:数据依赖链校验**
```
【数据依赖链校验】
请确认以下数据依赖关系是否正确:
| 步骤 | 输入源表 | 来源说明 |
|------|----------|----------|
| step01 | [源表名称] | 外部数据源 |
| step02 | ${db_tmp_env}.tmp_prj004_ads_rpt_01 | step01 输出 |
| ... | ... | ... |
| 最后一步 | ${db_eda_env}.prj004_ads_rpt_xxx | 目标表 |
数据依赖链是否正确?如无误请回复"正确"或"继续",如有问题请指出。
```
**等待用户确认数据依赖链后,再进行第二步校验。**
**第二步:字段流转校验**
```
【字段流转校验】
请确认以下字段流转是否正确:
目标表字段总数N 个
| 字段编码 | 字段名称 | 来源追溯 |
|----------|----------|----------|
| stat_month | 统计月份 | 从 install_dt 提取step01 输入源表) |
| customer_id | 客户 ID | own_cust_idstep01 输入源表) |
| ... | ... | ... |
字段流转是否正确?如无误请回复"正确"或"继续",如有问题请指出。
```
**两步校验都通过后,才能继续生成目标表属性。**
**用户确认环节**
校验通过后,分步向用户展示校验内容:
**第一步:数据依赖链确认**
```
编排步骤已生成,共 N 步:
| 步骤序号 | sql 编排内容解释 | 输入源表 | 加工字段口径 | 输出表名 | 输出表字段 |
|----|----|----|----|----|----|
| step01 | ... | ... | ... | ... | ... |
| step02 | ... | ... | ... | ... | ... |
【数据依赖链校验】
| 步骤 | 输入源表 | 来源说明 |
|------|----------|----------|
| step01 | [源表名称] | 外部数据源 |
| step02 | ${db_tmp_env}.tmp_prj004_ads_rpt_01 | step01 输出 |
| 最后一步 | ${db_eda_env}.prj004_ads_rpt_xxx | 目标表 |
数据依赖链是否正确?如无误请回复"正确"或"继续",如有问题请指出。
```
**等待用户确认数据依赖链后,再进行第二步。**
**第二步:字段流转确认**
```
【字段流转校验】
目标表字段总数N 个
| 字段编码 | 字段名称 | 来源追溯 |
|----------|----------|----------|
| stat_month | 统计月份 | 从 install_dt 提取step01 输入源表) |
| customer_id | 客户 ID | own_cust_idstep01 输入源表) |
| ... | ... | ... |
字段流转是否正确?如无误请回复"正确"或"继续",如有问题请指出。
```
**等待用户确认字段流转后,才能继续生成。**
### Step 3: 生成目标表属性(对应表 2
**在数据依赖链校验和字段流转校验都通过后**,根据需求文档的表信息生成:
```
映射规则:
- 数据目录 ← 需求文档"数据目录"字段
- 数据源 ← 需求文档涉及的源表业务主题(从输入提取)
- 表编码 ← 输出表英文名(从输入提取)
- 描述 ← 需求文档表描述(从输入提取)
- 数据源类型 ← 固定值 "paimon"
- 表名称 ← 输出表中文名称(从输入提取)
- 数据归口条线 ← 需求文档"需求提出方"(如"市场部"→"市场部"
- 是否已上传至集团 ← 固定值 "否"
- 是否可共享 ← 固定值 "是"
- 技术人员/电话 ← 固定值 "张三"/"13800138000"
- 维护人员/电话 ← 固定值 "李四"/"13900139000"
- 管理人员/电话 ← 固定值 "王五"/"13700137000"
- 增量/全量 ← 日/周/月 → "增量",其他 → "全量"
- 是否有敏感信息 ← 固定值 "否"
```
**用户确认环节**
生成目标表属性后,请用户确认:
```
目标表属性信息已生成:
```json
{
"${target_table_name}": {
"data_catalog": "...",
"data_source": "...",
...
}
}
```
以上目标表属性信息是否正确?如无误请回复"正确"或"继续"。
```
**等待用户确认后才能继续生成。**
### Step 4: 生成目标表字段(对应表 3
**在用户确认目标表属性后**,根据需求文档的字段信息进行转换:
```
映射规则:
1. 字段编码 ← 输出字段英文名(从输入提取)
2. 字段名称 ← 输出字段中文名(从输入提取)
3. 字段类型 ← 按"3.2 字段类型映射"转换
4. 字段分类 ← 按"3.3 字段分类规则"自动分类
5. 排序 ← 从 1 开始自增
6. 是否自增 ← 固定值 "否"
7. 是否需脱敏 ← 固定值 "否"
8. 描述 ← 字段业务含义 + 加工逻辑说明AI 整理)
9. 预置字段(默认不追加):
- 运维字段:如需追加 etl_time、etl_remark手动添加
- 分区字段:如需追加 day_id手动添加
```
**最终确认环节**
生成目标表字段后,请用户进行最终确认:
```
目标表字段信息已生成,共 N 个字段:
```json
{
"${target_table_name}": [
{
"field_code": "字段英文名",
"field_name": "字段中文名",
"field_type": "STRING",
"field_category": "维度",
...
}
]
}
```
以上目标表字段信息是否正确?如无误请回复"正确"或"继续"。
```
**等待用户最终确认后,生成并输出完整的模型设计文档。**
---
## 输出模板结构
生成的模型设计文档遵循以下结构:
```markdown
# 模型设计需求模板
## 1. 编排目标表生成流程
| 步骤序号 | sql 编排内容解释 | 输入源表 | 加工字段口径 | 输出表名 | 输出表字段 |
|----|----|----|----|----|----|
| step01 | ... | ... | ... | ... | ... |
## 2. 目标表属性信息
```json
{
"${target_table_name}": {
"data_catalog": "从需求文档提取",
"data_source": "从输入提取",
"table_code": "从输入提取",
"description": "从输入提取",
"data_source_type": "paimon",
"table_name": "从输入提取",
"business_line": "从需求提出方提取",
"is_uploaded": "否",
"is_shareable": "是",
"tech_name": "张三",
"tech_phone": "13800138000",
"maint_name": "李四",
"maint_phone": "13900139000",
"mgr_name": "王五",
"mgr_phone": "13700137000",
"load_type": "增量/全量(根据运行频次映射)",
"has_sensitive": "否"
}
}
```
## 3. 目标表字段信息
```json
{
"${target_table_name}": [
{
"field_code": "字段英文名",
"field_name": "字段中文名",
"field_type": "STRING",
"field_category": "维度",
"sort_order": 1,
"is_auto_increment": "否",
"mask_required": "否",
"description": "字段业务含义和加工规则说明"
}
]
}
```
---
## 版本信息
- **技能版本**v2.4
- **创建日期**2026-04-08
- **更新日期**2026-04-17
- **适用场景**:电信数据仓库 ADS 层模型设计
- **输入模板版本**:数据需求技术规范文档 v5
- **输出模板版本**:模型设计技术规范文档 v1
- **新增功能**
- 默认自动从 `./ai_text/` 目录选取最新需求文档
- 支持目录路径输入,自动选取最新日期的需求文档
- 多轮对话引导,分步确认关键信息
- 默认输出目录为 `./ai_text/`(用户未指定时)
- 编排流程校验分步执行(数据依赖链校验 → 字段流转校验)
---
## 使用示例
### 调用方式
**场景 1默认调用推荐**
技能加载后自动从 `./ai_text/` 目录选取最新的需求文档,无需用户传入参数。
```
用户:加载模型设计技能
→ 技能自动从 ./ai_text/ 选取最新的 REQ-DATA-*.md 文件
```
**场景 2用户传入具体文件路径**
```
用户:请根据 202604/skills_design/v2/data/REQ-DATA-20260409142709-001.md 生成模型设计文档
```
**场景 3用户传入目录路径自动选取最新文件**
```
用户:请根据 202604/skills_design/v2/data/ 目录下的需求文档生成模型设计
```
### 多轮对话流程示例
```
【Step 1】技能解析输入文件后输出关键信息请用户确认
---
请确认以下关键信息是否正确:
【需求编号】
- 需求编号REQ-DATA-20260409142709-001
【输出表信息】
- 目标表名prj004_ads_rpt_kfb_idx_rt
- 表中文名称:投诉处理地投诉受理量表
- 数据目录:上海电信/大数据中心 - 数据安全团队/大数据中心 - 数据安全团队应用层
【字段信息】
- 字段总数34 个
- 分区字段day_id
- 运行频次:日
以上信息是否正确?如无误请回复"正确"或"继续",如有问题请指出需要修改的内容。
---
【用户】正确
【Step 2a】技能生成编排步骤后先进行数据依赖链校验
---
编排步骤已生成,共 2 步:
| 步骤序号 | sql 编排内容解释 | 输入源表 | 加工字段口径 | 输出表名 | 输出表字段 |
|----|----|----|----|----|----|
| step01 | 关联投诉源表与组织架构维表,清洗无效数据 | 投诉源表、组织机构表 | 按部门、类型分组统计 | ${db_tmp_env}.tmp_prj004_ads_rpt_01 | dept_id, dept_name, complaint_type, ... |
| step02 | 补全指标表标准字段格式,写入目标表 | ${db_tmp_env}.tmp_prj004_ads_rpt_01 | 增加统计日期、指标名称等标准字段 | ${db_eda_env}.prj004_ads_rpt_kfb_idx_rt | day_id, stat_date, dept_id, ... |
【数据依赖链校验】
| 步骤 | 输入源表 | 来源说明 |
|------|----------|----------|
| step01 | 投诉源表、组织机构表 | 外部数据源 |
| step02 | ${db_tmp_env}.tmp_prj004_ads_rpt_01 | step01 输出 |
| 最后一步 | ${db_eda_env}.prj004_ads_rpt_kfb_idx_rt | 目标表 |
数据依赖链是否正确?如无误请回复"正确"或"继续",如有问题请指出。
---
【用户】正确
【Step 2b】数据依赖链确认后再进行字段流转校验
---
【字段流转校验】
目标表字段总数34 个
| 字段编码 | 字段名称 | 来源追溯 |
|----------|----------|----------|
| day_id | 统计日期 ID | 从 step01 输入源表提取 |
| stat_date | 统计日期 | 从 step01 输入源表提取 |
| dept_id | 部门 ID | 从 step01 输入源表提取 |
| ... | ... | ... |
字段流转是否正确?如无误请回复"正确"或"继续",如有问题请指出。
---
【用户】正确
【Step 3】技能生成目标表属性后请用户确认
---
目标表属性信息已生成:
```json
{
"prj004_ads_rpt_kfb_idx_rt": {
"data_catalog": "上海电信/大数据中心 - 数据安全团队/大数据中心 - 数据安全团队应用层",
"data_source": "投诉工单、组织机构",
"table_code": "prj004_ads_rpt_kfb_idx_rt",
"description": "投诉处理地投诉受理量表",
"data_source_type": "paimon",
"table_name": "投诉处理地投诉受理量表",
"business_line": "市场部",
"load_type": "增量"
...
}
}
```
以上目标表属性信息是否正确?如无误请回复"正确"或"继续"。
---
【用户】正确
【Step 4】技能生成目标表字段后请用户进行最终确认
---
目标表字段信息已生成,共 34 个字段:
```json
{
"prj004_ads_rpt_kfb_idx_rt": [
{
"field_code": "day_id",
"field_name": "统计日期 ID",
"field_type": "STRING",
"field_category": "分区",
...
}
...
]
}
```
以上目标表字段信息是否正确?如无误请回复"正确"或"继续"。
---
【用户】正确
【最终输出】技能生成完整的模型设计技术规范文档,输出到 ./ai_text/MDDS-DATA-20260409142709-001.md
```
### 输出示例
技能将输出完整的模型设计技术规范文档,包含编排步骤、表属性、字段设计等。
---
## 注意事项
1. **多轮对话确认**:生成过程中必须分步与用户确认关键信息,用户确认后才能继续下一步
- Step 1 后:确认需求编号、输出表信息、字段信息
- Step 2a 后:确认数据依赖链校验
- Step 2b 后:确认字段流转校验
- Step 3 后:确认目标表属性信息
- Step 4 后:确认目标表字段信息
2. **默认输入目录**:默认使用当前目录下的 `ai_text` 文件夹,自动选取最新的 `REQ-DATA-*.md` 文件
- 输入路径示例:`./ai_text/REQ-DATA-20260409142709-001.md`
3. **默认输出目录**:默认使用当前目录下的 `ai_text` 文件夹
- 输出路径示例:`./ai_text/MDDS-DATA-20260409142709-001.md`
- 输入输出目录无需用户确认
4. **编排流程校验**Step 2 生成编排步骤后,必须分两步执行校验
- Step 2a数据依赖链校验逐项展示步骤输入来源用户确认
- Step 2b字段流转校验逐项展示字段来源追溯用户确认
- 两步校验都通过后,才能继续生成目标表属性和字段信息
5. **自动选取最新文件**:按文件名中的 `YYYYMMDDHHMMSS` 部分排序,选取最新的 `REQ-DATA-*.md` 文件
6. **环境变量占位符**:输出表名中的 `${db_tmp_env}` 和 `${db_eda_env}` 需保留占位符格式,运行时由外部环境替换
7. **内部配置变量展开**`${temp_table.prefix}`、`${temp_table.suffix}`、`${target_table.prefix}` 需展开为实际值输出
- `temp_table.prefix` → `tmp_prj004_ads_rpt`
- `temp_table.suffix` → `_01`, `_02`...(按步骤序号)
- `target_table.prefix` → `prj004_ads_rpt`
8. **输出表名示例**
- 临时表正确输出:`${db_tmp_env}.tmp_prj004_ads_rpt_01` ❌ 错误:`${db_tmp_env}.${temp_table.prefix}${temp_table.suffix}`
- 目标表正确输出:`${db_eda_env}.prj004_ads_rpt_kfb_idx_rt` ❌ 错误:`${db_eda_env}.${target_table.prefix}_kfb_idx_rt`
9. **输出文件命名**:直接从输入文件名转换,将 `REQ` 前缀替换为 `MDDS`
- 输入文件:`REQ-DATA-20260316142709-001.md` → 输出文件:`MDDS-DATA-20260316142709-001.md`
10. **字段排序**:从 1 开始连续自增,确保无跳号
11. **命名规范**:所有表名、字段名使用 snake_case 格式
12. **字段一致性**:目标表字段默认与需求文档"输出表字段"保持一致,不追加额外字段
13. **预置字段**:如需追加运维字段 (etl_time、etl_remark) 或分区字段 (day_id),需将对应配置项设为 `true`
---