Add source table hotness after match

This commit is contained in:
li552233
2026-04-28 10:04:26 +00:00
parent 8b650f4e5f
commit a4c8b29176

View File

@@ -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 |
---