Add source table hotness after match
This commit is contained in:
@@ -87,7 +87,7 @@ conda run -n py13 ov read viking://resources/sql_snippets/{目录}/{文件}.sql
|
||||
|
||||
| 时机 | 触发点 | 搜索内容 | 强制性 | 检索数量 |
|
||||
|-----|--------|---------|--------|---------|
|
||||
| 步骤1 - 数据源匹配后 | data-structure-fetcher 返回源表列表后 | **每个推荐表执行 4 类检索**:表结构、成功SQL、字段处理经验、业务语义 | ✅ MUST | 每表 4 次 |
|
||||
| 步骤1 - 数据源匹配后 | data-structure-fetcher 返回源表列表后 | **③ 常用数据源判断(最优先)** + 每个推荐表执行 5 类检索:表结构、成功SQL、常用判断、字段处理经验、业务语义 | ✅ MUST | 每表 5 次 |
|
||||
| 步骤1 - 核心字段确认后 | 用户确认核心字段时 | 对核心字段进行专项检索 | ✅ MUST | 每字段 3 次 |
|
||||
| 步骤2 - 模型设计前 | 用户确认需求后,开始模型设计 | OV 检索分层规范、参考案例 | ✅ MUST | 2-3 次 |
|
||||
| 步骤3 - SQL 编写前 | 用户确认模型设计后,开始编写 SQL | OV 检索语法、成功案例 | ✅ MUST | 3-5 次 |
|
||||
@@ -96,12 +96,13 @@ conda run -n py13 ov read viking://resources/sql_snippets/{目录}/{文件}.sql
|
||||
|
||||
**数据源匹配后的具体检索内容**
|
||||
|
||||
| 检索类型 | 目的 | 命令(py13 环境) |
|
||||
|---------|------|-----------------|
|
||||
| ① 表结构检索 | 确认字段定义 | `conda run -n py13 ov grep "{表名}" --uri "viking://resources/table-metadata" --node-limit 10` |
|
||||
| ② 成功SQL检索 | 找历史代码案例 | `conda run -n py13 ov grep "{表名}" --uri "viking://resources/sql_snippets" --node-limit 15` |
|
||||
| ③ 字段处理经验 | 了解处理方式 | `conda run -n py13 ov grep "{表名}" --uri "viking://resources/field-process-memory" --node-limit 10` |
|
||||
| ④ 业务语义检索 | 业务使用经验 | `conda run -n py13 ov find "{表名} {业务}" --uri "viking://resources/field-process-memory" --threshold 0.2` |
|
||||
| 检索类型 | 目的 | 命令(py13 环境) | 优先级 |
|
||||
|---------|------|-----------------|--------|
|
||||
| ③ 常用数据源判断 | **判断是否为常用数据源**(历史使用频率、稳定性) | `conda run -n py13 ov grep "{表名}" --uri "viking://resources/field-process-memory" --node-limit 10` | **最高(立即执行)** |
|
||||
| ① 表结构检索 | 确认字段定义 | `conda run -n py13 ov grep "{表名}" --uri "viking://resources/table-metadata" --node-limit 10` | 高 |
|
||||
| ② 成功SQL检索 | 找历史代码案例 | `conda run -n py13 ov grep "{表名}" --uri "viking://resources/sql_snippets" --node-limit 15` | 高 |
|
||||
| ④ 字段处理经验 | 了解处理方式 | `conda run -n py13 ov grep "{表名}.*{字段}" --uri "viking://resources/field-process-memory" --node-limit 10` | 中 |
|
||||
| ⑤ 业务语义检索 | 业务使用经验 | `conda run -n py13 ov find "{表名} {业务}" --uri "viking://resources/field-process-memory" --threshold 0.2` | 中 |
|
||||
|
||||
---
|
||||
|
||||
@@ -188,14 +189,59 @@ conda run -n py13 ov read viking://resources/field-process-memory/{文件}.md
|
||||
|
||||
---
|
||||
|
||||
**检索策略:每个推荐表必须执行以下 4 类检索**
|
||||
**检索策略:每个推荐表必须执行以下 5 类检索**
|
||||
|
||||
| 检索类型 | 目的 | 命令模板 | node-limit |
|
||||
|---------|------|---------|------------|
|
||||
| ① 表结构检索 | 确认表字段定义、数据类型 | `conda run -n py13 ov grep "{表名}" --uri "viking://resources/table-metadata"` | 5-10 |
|
||||
| ② 成功SQL案例检索 | 查找该表的历史成功 SQL 代码 | `conda run -n py13 ov grep "{表名}" --uri "viking://resources/sql_snippets"` | 10-15 |
|
||||
| ③ 字段处理经验检索 | 了解该表字段的常见处理方式、注意事项 | `conda run -n py13 ov grep "{表名}" --uri "viking://resources/field-process-memory"` | 5-10 |
|
||||
| ④ 业务语义检索 | 了解该表在业务场景中的使用经验 | `conda run -n py13 ov find "{表名} {业务场景}" --uri "viking://resources/field-process-memory" --threshold 0.2` | 5-10 |
|
||||
| ③ 常用数据源判断 | **判断该表是否为常用数据源**(历史使用频率、稳定性、推荐度) | `conda run -n py13 ov grep "{表名}" --uri "viking://resources/field-process-memory"` | 5-10 |
|
||||
| ④ 字段处理经验检索 | 了解该表字段的常见处理方式、注意事项 | `conda run -n py13 ov grep "{表名}.*{字段名}" --uri "viking://resources/field-process-memory"` | 5-10 |
|
||||
| ⑤ 业务语义检索 | 了解该表在业务场景中的使用经验 | `conda run -n py13 ov find "{表名} {业务场景}" --uri "viking://resources/field-process-memory" --threshold 0.2` | 5-10 |
|
||||
|
||||
---
|
||||
|
||||
**③ 常用数据源判断 - 详细说明**
|
||||
|
||||
这是数据源匹配后**必须立即执行**的关键检索,用于判断推荐表是否值得采用:
|
||||
|
||||
**执行时机**:data-structure-fetcher 返回推荐表后,**立即执行此检索**
|
||||
|
||||
**检索命令**:
|
||||
```bash
|
||||
conda run -n py13 ov grep "{表名}" --uri "viking://resources/field-process-memory" --node-limit 10
|
||||
```
|
||||
|
||||
**判断标准**:
|
||||
|
||||
| 检索结果 | 判断 | 建议操作 |
|
||||
|---------|------|---------|
|
||||
| 有多条历史使用记录(≥3条) | ✅ **常用数据源** | 推荐优先采用,可参考历史处理经验 |
|
||||
| 有少量记录(1-2条) | ⚠️ **偶尔使用** | 可采用,需谨慎验证字段逻辑 |
|
||||
| 无检索结果 | ❓ **新/陌生数据源** | 需进一步验证表结构,或寻找替代表 |
|
||||
| 有警告/问题记录 | ⚠️ **有风险** | 需评估问题严重性,考虑替代方案 |
|
||||
|
||||
**结果展示格式**:
|
||||
```
|
||||
📋 常用数据源判断结果:
|
||||
|
||||
【dwd_crm_srv_complaint_rt】
|
||||
- 检索结果:找到 5 条历史使用记录
|
||||
- 判断:✅ 常用数据源(推荐采用)
|
||||
- 历史使用场景:投诉量统计、投诉处理时效、部门投诉排名
|
||||
- 注意事项:create_org_id 需关联组织表获取部门名称
|
||||
|
||||
【dim_intnl_org_new】
|
||||
- 检索结果:找到 8 条历史使用记录
|
||||
- 判断:✅ 常用数据源(高频使用)
|
||||
- 历史使用场景:组织维度统计、部门层级分析、归属地统计
|
||||
- 注意事项:org_name 有多级命名,需按业务口径标准化
|
||||
```
|
||||
|
||||
**决策建议**:
|
||||
- 多个推荐表中,优先选择"常用数据源"
|
||||
- 对"陌生数据源"需额外验证,或向用户确认是否采用
|
||||
- 对"有风险"数据源,建议告知用户并提供替代方案
|
||||
|
||||
---
|
||||
|
||||
@@ -210,13 +256,20 @@ conda run -n py13 ov grep "dwd_crm_srv_complaint_rt" --uri "viking://resources/t
|
||||
# ② 成功SQL案例检索(找历史代码)
|
||||
conda run -n py13 ov grep "dwd_crm_srv_complaint_rt" --uri "viking://resources/sql_snippets" --node-limit 15
|
||||
|
||||
# ③ 字段处理经验检索(找处理笔记)
|
||||
# ③ 常用数据源判断(判断是否常用 - 数据源匹配后立即执行)
|
||||
conda run -n py13 ov grep "dwd_crm_srv_complaint_rt" --uri "viking://resources/field-process-memory" --node-limit 10
|
||||
|
||||
# ④ 业务语义检索(结合业务场景)
|
||||
# ④ 字段处理经验检索(找处理笔记 - 对核心字段)
|
||||
conda run -n py13 ov grep "dwd_crm_srv_complaint_rt.complaint_id" --uri "viking://resources/field-process-memory" --node-limit 10
|
||||
|
||||
# ⑤ 业务语义检索(结合业务场景)
|
||||
conda run -n py13 ov find "dwd_crm_srv_complaint_rt 投诉统计" --uri "viking://resources/field-process-memory" --threshold 0.2 --node-limit 10
|
||||
```
|
||||
|
||||
**执行顺序建议**:
|
||||
- ③ 常用数据源判断是**最优先执行**的检索,应在数据源匹配后立即执行
|
||||
- 其他检索可根据常用数据源判断结果调整执行优先级
|
||||
|
||||
---
|
||||
|
||||
**检索结果利用**
|
||||
@@ -228,19 +281,28 @@ conda run -n py13 ov find "dwd_crm_srv_complaint_rt 投诉统计" --uri "viking:
|
||||
📊 OV 检索结果摘要:
|
||||
|
||||
【dwd_crm_srv_complaint_rt】
|
||||
- 常用数据源:✅ 常用(找到 5 条历史使用记录)
|
||||
- 表结构:包含 complaint_id、create_org_id、assist_dept_org_id 等字段
|
||||
- 成功案例:找到 3 个历史 SQL(投诉量统计、投诉处理时效分析)
|
||||
- 处理经验:create_org_id 字段需关联组织架构表获取部门名称
|
||||
|
||||
【dim_intnl_org_new】
|
||||
- 常用数据源:✅ 常用(找到 8 条历史使用记录)
|
||||
- 表结构:包含 org_id、org_name、accnt_bureau 等字段
|
||||
- 成功案例:找到 5 个历史 SQL(部门维度统计)
|
||||
- 处理经验:org_name 有多级命名规范,需按业务口径标准化
|
||||
|
||||
【dwd_new_table_2024】
|
||||
- 常用数据源:❓ 陌生数据源(无历史使用记录)
|
||||
- 建议:需进一步验证表结构,或寻找更成熟的替代表
|
||||
```
|
||||
|
||||
2. **辅助源表选择**:基于成功案例数量和质量,建议用户优先选择哪些表
|
||||
2. **辅助源表选择**:基于常用数据源判断和成功案例数量,建议用户优先选择哪些表
|
||||
```
|
||||
建议:dwd_crm_srv_complaint_rt 有 3 个成功案例,历史使用稳定,推荐优先选择
|
||||
建议:
|
||||
- ✅ 优先采用:dwd_crm_srv_complaint_rt(常用数据源,有 3 个成功案例,历史使用稳定)
|
||||
- ✅ 优先采用:dim_intnl_org_new(常用数据源,高频使用,组织表标准参考)
|
||||
- ⚠️ 需验证:dwd_new_table_2024(陌生数据源,建议先验证或寻找替代表)
|
||||
```
|
||||
|
||||
3. **预加载到上下文**:检索到的成功案例和字段处理经验,需在后续模型设计和 SQL 编写时引用
|
||||
@@ -251,10 +313,11 @@ conda run -n py13 ov find "dwd_crm_srv_complaint_rt 投诉统计" --uri "viking:
|
||||
|
||||
| 时间点 | 触发条件 | 检索内容 | 强制性 |
|
||||
|-------|---------|---------|--------|
|
||||
| data-structure-fetcher 返回后 | 推荐表列表返回 | 每个表的 4 类检索 | ✅ MUST |
|
||||
| 用户补充新表名时 | 用户提及陌生表名 | 立刻 OV 检索该表 | ✅ MUST |
|
||||
| data-structure-fetcher 返回后 | 推荐表列表返回 | **③ 常用数据源判断(最优先)** + 每个表的 5 类检索 | ✅ MUST |
|
||||
| 用户补充新表名时 | 用户提及陌生表名 | 立刻 OV 检索该表(优先执行常用数据源判断) | ✅ MUST |
|
||||
| 用户询问字段含义时 | 用户对字段有疑问 | OV grep 该表.字段 | ✅ MUST |
|
||||
| 发现字段歧义时 | 同一字段有多来源 | OV find 语义检索 | ✅ MUST |
|
||||
| 陌生数据源判断后 | 无历史使用记录 | 额外验证表结构,或建议替代表 | ✅ MUST |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user