技术实践

淘天直播以分层逻辑表构建数据Agent语义层

上下文与知识AI 基础设施上下文工程检索增强知识库知识图谱知识获取与更新本体AI语义层数据基础设施AI 开发与运维平台可观测性

概述

淘天直播团队把传统「业务需求→理解语义→设计模型→编写 SQL→测试验证→交付报表」链路改为「业务需求→[语义层+AI]→SQL→结果」。语义层把数仓分层转成维度、指标与业务术语带关系的知识图谱,向上提供四类能力:CTE 适配层(兼容非标数仓表、业务自定义逻辑、百亿行级大表预聚合加速、标准表二次加工,遵循隔离性/单点维护/aggrList 性能可控三根支柱)、逻辑表(物理表与指标维度之间的解耦抽象,FACT/DIM 由业务需求决定而非表名前缀,同表可按 businessProcess 隔离出多个逻辑表)、四层绑定(词根→语义层、物理表→逻辑表 LT-PT、维度→逻辑表 LT-Dim、指标→逻辑表与指标间依赖 dependsOn)、语义图谱遍历式 SQL 生成(指标找逻辑表→逻辑表找物理表→逻辑表找维度→自动拼 WITH...SELECT,业务方只声明边不写 JOIN)。消费侧采用 Agentic 双轨制:AI Agent 经语义层直接消费数据,人类分析师走传统 BI/报表,Agent 同时是语义资产的维护者。 为解决“给 AI 的输入太多又不够清晰规范导致误判”,团队引入 SSOT(single source of truth):服务端平台是唯一存储与最终解释权,wiki-rag 只是为 LLM 上下文窗口优化过的只读投影,是此前 LightRAG 的本地化轻量替代。四个要素为:SSOT(投影≠真相)、中心化标准口径(agent 做资产澄清只能引用 wiki、不得从物理表字段猜口径)、快速检索(_index.md/_enum_index.md 文件级索引 + 路径即语义如 basic/pay/points/pay_amt.md,grep 友好、离线可用、无 embedding 语义损失,agent < 100ms 拿到资产 ID 且不依赖远程 API)、上下文工程(分级加载 index.md→主题 _index.md→单资产 .md、密度优先只保留 ID/name/showName/formula/aggrType/description、可验证可重建)。改 wiki 文件、绕过 wiki 猜口径、全量塞 prompt、多套 wiki 共存被明确列为破坏 SSOT 的反模式。 Meta-ontology 是语义层的词源层与本体层:五类词根(业务过程 1/指标 4/维度 6/主题 8/限定词 10)为概念原子,所有 name 由词根拼装;在字典 description 内用 @entity/@kind/@level/@pair/@usage/@metrics/@source/@caveat 等 @key=value 标签编码机器可读的公理声明,不改 schema、不加字段、不调新接口;创建前强制 check_before_create 查重(精确冲突 block、相似 warn),上线必须 CDM 专家组审批。工程侧在服务端建两道防线:创建时前置校验(词根强绑定、status 审批卡口禁止直接在线、关联完整性、同批次去重,精确到字段的中文报错)与上线审批拦截(BPMS,草稿/下线→在线须审批)。逆向治理跑两类日任务:语义资产合规扫描 11 条规则(表达式合规、孤儿资产、字段有效性、命名与元数据一致性、维度孤儿)与词根联动保鲜 + 5 项质量扫描(不规范/二义性/本体重复/拼写相似/语义重复)。