Skip to content

语义模型与可信查询

状态:规划中的业务模块。关联任务:V3-S01~V3-S06;查看实施计划。真实函数和测试路径由阶段开发完成后补入。

业务问题

物理字段不能直接表达企业指标。语义层让计算表达式、过滤、粒度、时间、维度和审核版本成为显式资产。

输入、输出与上下游

  • 输入:业务指标草案、schema 引用、规则、术语、已审核问题与 SQL。
  • 输出:Published SemanticContext 与兼容版本的 Verified Query 样例。
text
Admin Draft → Testing/Benchmark → Review → Publish → Semantic Retrieval → Context Builder

核心机制

指标应有稳定 ID,展示名和同义词可以改变。“销售额”在不同业务域含义不同,因此解析必须结合域与口径,不能让别名覆盖已发布规则。

可信样例是动态参考,不是跳过校验的通行证。它仍要受用户权限、schema 和语义版本过滤。模型引用样例生成的新 SQL 也要通过全部安全和结果校验。

发布不原地修改历史版本;请求开始固定 active_version,索引准备完毕后切换新版本。语义变更使相关可信样例失效并重验。

失败与边界

发布回归失败:保持 Draft/Testing;同名指标冲突:澄清;样例版本过期:排除;元数据注释含恶意指令:作为不可信数据隔离。

学习实验

给相同明细设置两个部门的不同销售口径,证明同一 Schema 会得到不同正确答案;调整强制过滤后,观察回归阻止错误发布。

先写预测结果,再执行;把实际输出、数据版本和代码入口放进 验收证据。现在尚无业务实现,此处实验需要对应阶段完成后运行。

读代码与面试复述

为什么 Semantic Layer 不只是更长的 Prompt?Verified Query 如何避免测试集泄漏?回滚口径如何同步索引与缓存?

阅读时先看契约,再跟一条正常链路和一条失败链路,最后读 adapter 与测试。使用 代码地图 定位模块;不要只背技术名称。

需求 → 代码 → 验证 → 复盘