语义模型与可信查询
状态:规划中的业务模块。关联任务: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 与测试。使用 代码地图 定位模块;不要只背技术名称。