How DataBuddy Uses Ontology and a Semantic Layer to Answer Enterprise AI Semantic Architecture Questions
English text is being prepared.
DataBuddy proposes an enterprise AI semantic architecture approach that establishes the skeleton with ontology and provides the scale with semantics, addressing the problem that the same business question yields different answers due to differing definitions. Using "What was the DAU of customers in East China last month?" as an example, the article points out that DAU has three deduplication definitions—by account, by natural person, and by device—and that there is also disagreement over whether "last month" means the calendar month or the most recent 30 days. The semantic model is responsible for pinning "DAU" to a single, previewable, verifiable, and lineage-traceable calculation logic.
Body
{"type":"doc","content":[{"type":"heading","attrs":{"id":"b4130bc4-2418-4ff4-afe6-d619bbaa9310","textAlign":"inherit","indent":0,"level":1,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"一句话里,藏着两个层级的问题"}]},{"type":"paragraph","attrs":{"id":"9d113061-5170-4cce-80e7-0a0b7a3bad51","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"某公司的周会上,运营总监问了 AI 助手一句话:"}]},{"type":"paragraph","attrs":{"id":"b0408585-29d1-417b-aacc-484e5498511a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"「上个月华东区客户的 DAU 是多少?」"}]},{"type":"paragraph","attrs":{"id":"9b5a69b1-0689-4e8e-9aff-65556d16ab03","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"一句话,十二个字,听上去没什么刁难的意思,每个词你都觉得不会有歧义。"}]},{"type":"paragraph","attrs":{"id":"44a193b7-77d5-4a07-b70b-1e09fc87c11e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"可它其实踩中了两类完全不同的问题,而这两类问题分属两个不同的层。"}]},{"type":"heading","attrs":{"id":"3d5f3cdb-f9c9-4beb-9652-04c631864833","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"rgb(0, 128, 255)","background":""}},{"type":"bold"}],"text":"第一个问题:DAU怎么算"}]},{"type":"paragraph","attrs":{"id":"2f9bce20-d701-4d00-8689-91b2e3ca4983","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"AI 答了:12.7 万。"}]},{"type":"paragraph","attrs":{"id":"934ba3ba-6a04-4bc7-91f0-eeacf2289cd4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"数据负责人皱眉:「你这个 DAU,去重到什么粒度?」"}]},{"type":"paragraph","attrs":{"id":"a299f137-a742-43f5-b1e4-477ae1aeda13","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这家公司的 DAU 至少有三种算法同时在用:"}]},{"type":"bulletList","attrs":{"id":"f3780214-bb72-44fa-9373-019d9fe55725","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"4566d036-9aad-448a-b303-bef5e6c13645"},"content":[{"type":"paragraph","attrs":{"id":"70bdfd32-364e-4eeb-9139-8afae84c9807","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"按"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"账号"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"去重——一个人两个账号,算两个"}]}]},{"type":"listItem","attrs":{"id":"60b09ba6-c238-4167-b8bf-696dd9ecbace"},"content":[{"type":"paragraph","attrs":{"id":"61d272b3-8167-4c4a-acca-a325336b315d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"按"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"自然人"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"去重——同一身份证下的多个账号合并算一个"}]}]},{"type":"listItem","attrs":{"id":"f7b19fe2-afb1-4722-b292-3dc55a2ac766"},"content":[{"type":"paragraph","attrs":{"id":"17bbdccc-3a18-4c7b-a017-bbd5145cec19","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"按"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"设备"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"去重——一人多端就算多个"}]}]}]},{"type":"paragraph","attrs":{"id":"067c7cc7-4fbd-4614-8a81-934fbeb2a279","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"再往下还有更细的分歧:算「登录即活跃」,还是「有一次有效操作才算活跃」?跨零点的会话归哪一天?「上个月」是自然月还是最近 30 天?"}]},{"type":"paragraph","attrs":{"id":"955d059f-1257-4726-9079-ad0c8074d2b1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"每换一种,数字都不一样。而三种都有正在跑的报表在用。"}]},{"type":"paragraph","attrs":{"id":"a233ce18-4655-49dd-8a7a-8f657f862f3b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"口径就是答案本身。同一个问题,换个算法就是另一个结论。"}]},{"type":"paragraph","attrs":{"id":"bc42b0c3-e731-43dd-bf1a-eac653b2d734","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这类问题问的其实是「这个数到底怎么算出来的」。这是语义模型该管的事:把「DAU」这个词钉成唯一一段计算逻辑,可预览、可验算、能追到血缘。"}]},{"type":"heading","attrs":{"id":"76244981-6ea1-481a-9063-8a73326fef12","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"rgb(0, 128, 255)","background":""}},{"type":"bold"}],"text":"第二个问题:「客户」指的是谁"}]},{"type":"paragraph","attrs":{"id":"5680954f-0933-4766-ad42-bb922aa9248e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这个问题比上一个更隐蔽,因为它连「算」都还没开始。"}]},{"type":"paragraph","attrs":{"id":"c79128c1-07cd-49c3-bd9e-bb0301e8f95c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"注意那句话里最不起眼的两个字:"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"客户"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"。"}]},{"type":"paragraph","attrs":{"id":"4a8d5ed5-e6b5-49c3-b691-5728b318d54b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"听起来这是个不需要解释的词。但在这家公司内部,它从来没被定清过。"}]},{"type":"paragraph","attrs":{"id":"0b1c0d71-7e92-45d1-b2ed-ef136610c6c3","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"销售部的看法:注册了、下过单、有转化的,才叫客户。"}]},{"type":"paragraph","attrs":{"id":"41a86da5-fc85-401f-acdb-aaa3c3c790a1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"市场部的看法:注册了、天天在用、明显有需求但还没下单的,那也是我们的人。"}]},{"type":"paragraph","attrs":{"id":"f46b22d9-01f3-4df1-90e1-a51f049fcfa2","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这两批人在系统里长得几乎一样,都有账号、都有行为日志、都能算出 DAU。但在业务上,它们是"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"两个不同的对象"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":":"}]},{"type":"image","attrs":{"id":"d926a412-19e2-468e-863b-8f2bdd3f4856","src":"https://developer.qcloudimg.com/http-save/audit-1920198/f4d314c70860c4c7672f969242509976.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"0f518f9f-13ab-4c5b-b7f6-81d56e0ba320","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"同一批账号,在业务上其实是客户与商机两个不同的对象。"}]},{"type":"paragraph","attrs":{"id":"0c28798e-0882-4c93-8f5c-8fe7abe98fb4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"现在回头看那个 12.7 万。它里面混着这两类人。"}]},{"type":"paragraph","attrs":{"id":"22c3e658-2698-44b3-aa70-8210f12d51dc","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"如果这个数是拿来判断「我们的客户还活跃吗、要不要启动挽留」,那把大量尚未转化的商机算进来,会让留存看起来比实际好得多——一个正在流失的客户群,被一批活跃的潜在用户掩盖掉了。"}]},{"type":"paragraph","attrs":{"id":"8c781951-00a8-4551-b746-1ef0eeba9362","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"反过来,如果这个数是拿来评估「市场投放带来的潜在需求有多少」,那把已成交客户算进来,又会让转化潜力被严重高估。"}]},{"type":"paragraph","attrs":{"id":"a26c3b46-2d83-4589-91bd-b934115c17d5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"同一个 12.7 万,可以同时支撑两个相反的经营判断。"}]},{"type":"paragraph","attrs":{"id":"d6f91562-cfeb-44e7-87dc-48172cb30314","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"而这并不是算错了。DAU 的计算逻辑可以完全正确,每一行日志也都真实。真正错的是它统计的那群人:他们在业务上本来就该被分成两个对象。"}]},{"type":"paragraph","attrs":{"id":"70558e08-3ab1-46de-824c-e8cffe0dc067","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"口径错了,你得到一个错的数字;对象错了,你得到一个错的世界。"}]},{"type":"heading","attrs":{"id":"a644f450-f220-41b8-b682-6dc672f56033","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"rgb(0, 128, 255)","background":""}},{"type":"bold"}],"text":"两个问题,两个层级"}]},{"type":"image","attrs":{"id":"20f2796c-b56a-45d5-92aa-7cd20481c84e","src":"https://developer.qcloudimg.com/http-save/audit-1920198/aaf8fcbb2dc8251829a20fd4863eaa2a.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"20630d26-20c6-45b0-b4c7-2a4c8086afb6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"一个错在算法、归语义模型,一个错在分类、只有本体模型能解决。"}]},{"type":"paragraph","attrs":{"id":"f0b0502d-1891-4d65-ad53-781980475716","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"放回那句提问里看,它们的位置是这样的:"}]},{"type":"image","attrs":{"id":"dd457590-b3f2-42d0-a7d2-cfd5fa76a739","src":"https://developer.qcloudimg.com/http-save/audit-1920198/dc4c9495d5453f12d834a175cf96747b.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"83f61823-8121-4b0b-9c06-cc7ceab01d1f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"一句话里相邻的两个词,「DAU」归语义模型、「客户」归本体模型,分属两层。"}]},{"type":"paragraph","attrs":{"id":"dda3f23c-291f-4ccd-b7a5-66cf238c95db","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"「DAU 怎么算」,公司里一定有人能说清三种算法的差别。它是那种有人懂、只是没统一的问题,缺的只是把哪一种定为准。"}]},{"type":"paragraph","attrs":{"id":"4bf9201e-8461-4ab6-909f-6d49e5ae67bf","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"「客户指的是谁」不一样,它从来没被正式回答过。销售总监心里有一套答案,市场总监心里有另一套,两套都对,两套都没写进系统。于是 AI 拿到的是一个悬空的词。"}]},{"type":"paragraph","attrs":{"id":"99a2224e-2e25-4ad6-bf2a-521792f87edc","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"大多数团队只做了第一件事,把口径统一就以为完事了,结果养出一个「算得越来越准、却始终不知道自己在算谁」的助手。"}]},{"type":"paragraph","attrs":{"id":"02751ded-bd91-480d-901a-b365f38b6b27","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"接下来一个一个解决,先从看起来简单的那个说起。"}]},{"type":"heading","attrs":{"id":"7ce40bfd-f6b3-4147-9c3e-f05d8dfb5ecb","textAlign":"inherit","indent":0,"level":1,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"先解决第一个:让「DAU」只有一个数"}]},{"type":"paragraph","attrs":{"id":"c7efda2f-63f6-47f7-8072-854ff7aff3a1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"既然有人懂,为什么还是有三个答案?因为这个共识从来没被写在同一个地方。它散落在十几张报表的 SQL 里、几个数据同学各自的习惯里、某次会议的口头约定里,谁要用谁就近拿一个版本。"}]},{"type":"paragraph","attrs":{"id":"d706c89d-63da-4191-9304-1232a05877c1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"语义模型做的,就是把它收拢成唯一一段可执行的定义:"}]},{"type":"bulletList","attrs":{"id":"0dd9033f-5d18-4b95-a896-6a775dd067d8","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"f1cbc2b5-70ac-4e10-9ef0-c74c68aadf02"},"content":[{"type":"paragraph","attrs":{"id":"a21a924d-0bb6-4bbf-a5f7-8f6c07c6a27b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"「日活跃客户数」= 按自然人去重 · 有一次有效操作即算活跃 · 自然月口径"}]}]},{"type":"listItem","attrs":{"id":"a9075dda-545e-4d17-845b-e0d5cff875ee"},"content":[{"type":"paragraph","attrs":{"id":"e368c9c3-be32-432e-9bc8-70b1d0dded2d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这段定义只存在一份,谁问都走它"}]}]},{"type":"listItem","attrs":{"id":"dc07c196-fa1c-4542-82e7-349387dbee89"},"content":[{"type":"paragraph","attrs":{"id":"6128c698-dbcf-4451-9eb8-e8f7aa77a963","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"它可以「预览 SQL」——业务方能亲眼看到这个数是怎么算出来的"}]}]},{"type":"listItem","attrs":{"id":"0d424371-d7de-4831-a963-058c3be55bf6"},"content":[{"type":"paragraph","attrs":{"id":"4ec27e23-2095-4934-b0b5-d9428296177f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"它能一路追到底表字段——出了问题知道去哪查"}]}]}]},{"type":"heading","attrs":{"id":"c762c338-28c1-4907-9e96-5f35ba95f12c","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"rgb(0, 128, 255)","background":""}},{"type":"bold"}],"text":"语义建模具体在做什么"}]},{"type":"paragraph","attrs":{"id":"5ac50f1c-e2fe-4b17-8d61-30b5e86a145b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"「收拢成一段定义」听着还是抽象。落到操作上,语义建模是在建好的 DWD / DIM 明细层之上做两件事。"}]},{"type":"paragraph","attrs":{"id":"076f791c-644f-4bd0-beac-565e367abb94","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"第一步是搭模型。以事实表为中心,把相关维度表按业务关系连成星型或雪花模型,维度自己有层级的就让它分层。这一步固定下两件事:JOIN 路径(哪张表用哪个键连哪张表,写死,不再让 Agent 每次猜),以及可用维度(每张维度表能提供哪些维度,在这里圈定好)。"}]},{"type":"paragraph","attrs":{"id":"9ddec449-a29e-4dd3-ba3a-1150c7ca4b6e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"第二步是定指标。先定不可再拆的原子指标,再往上层层派生衍生指标,加筛选、算同比、做累积、多指标混算都行。指标不是孤立的,它挂在某个模型上,所以天然知道自己能按哪些维度拆、数据从哪张底表来,血缘一路可查。"}]},{"type":"paragraph","attrs":{"id":"9099bcaf-a87e-4cec-b612-b8de70976d30","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这两步走完,「DAU」就不再是十几段各写各的 SQL,也不再是某张 ADS 表里的一列,而是一个挂在明确模型上、口径唯一、可层层追溯的指标定义。它能按任意已声明的维度去拆,不必为每种拆法预先建一张表。"}]},{"type":"paragraph","attrs":{"id":"6f2895fd-251c-4a55-b26d-f43ad13aebd5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"语义建模不是给字段起中文名,是把「表怎么连、维度有哪些、指标怎么算」一次性定下来。"}]},{"type":"image","attrs":{"id":"ee812130-938e-4bc4-9790-cab86446db70","src":"https://developer.qcloudimg.com/http-save/audit-1920198/4d0c733709c7415cdb73ebc9448c9bd9.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"0ba5d467-717a-4b49-9705-e8c357094bda","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"指标口径页——口径、计算逻辑、维度、血缘与权限一屏可查,并支持「预览 SQL」。"}]},{"type":"paragraph","attrs":{"id":"957c22b7-6157-49df-9a75-d32ab4cd3ad4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"到这里,第一个问题解决得很干净。「DAU」有了唯一去重粒度、唯一活跃判定、唯一时间窗,可预览 SQL、可追到底表字段。任何人、任何 Agent 问 DAU,拿到的都是同一段逻辑算出的同一个数。"}]},{"type":"heading","attrs":{"id":"58d0586b-e3e0-4acd-a998-f3cd2292d353","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"rgb(0, 128, 255)","background":""}},{"type":"bold"}],"text":"顺带省掉的事:不用再堆 ADS 表"}]},{"type":"paragraph","attrs":{"id":"6cae1626-894a-4d9c-8cd8-0d3c2f110587","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"上面这套建法除了让「DAU」只有一个数,还顺带改变了数仓要建到哪一层。这件事平时藏在语义建模背后,但它对数据团队的影响,可能比「口径统一」还大。"}]},{"type":"paragraph","attrs":{"id":"f1aa2ae4-410d-4a40-b7d6-c0eb7e769321","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"传统链路是明细层(DWD / DIM)、轻度汇总(DWS)、应用层(ADS)一层层往上堆。每来一个新口径、每多一个看数角度,数据团队就得写一条新 ETL、加一张 ADS 表。时间一长,ADS 层膨胀成几百张互相重叠、口径又微妙不同的表,而这些表里大部分只是同一批明细数据的不同切法而已。"}]},{"type":"paragraph","attrs":{"id":"1cd40b62-68ec-462e-bf2a-ad933af094bc","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"语义建模换了个思路:只要把 DWD / DIM 这两层建标准、建干净,往上的 DWS 和 ADS 就可以不再用 ETL 去堆。"}]},{"type":"paragraph","attrs":{"id":"9f05ff52-e17c-4ce4-abca-f0f709d882ce","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"因为「怎么切」这件事被挪到了语义层,用声明来表达。模型声明表怎么连、指标声明数怎么算,查询进来时引擎按声明实时编译成 SQL,直接在明细层上算。换个维度看数,不是加一张表,而是换一个 groupby。"}]},{"type":"image","attrs":{"id":"c7b67964-446f-4584-b707-c24f63336463","src":"https://developer.qcloudimg.com/http-save/audit-1920198/c35e91a1af604a57e2714572fe4c7f27.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"d87547cc-559a-4ab1-a830-a407ec3ce13e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"只需建好 DWD / DIM 两层,往上的语义模型与指标全靠声明,不再逐场景堆 DWS / ADS 表。"}]},{"type":"paragraph","attrs":{"id":"1c9df575-93e5-4427-90b2-5693f813d82a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"口径变化不该靠新增一张表来承接。DWD / DIM 建标准,往上的切法交给语义层声明。"}]},{"type":"paragraph","attrs":{"id":"49ea2b71-5713-488e-b298-8182cb9fdfcb","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"数据团队的工作重心也跟着变了:以前是不断响应取数需求、不断加 ADS 表,永远在救火;现在是把明细层的标准建好、把语义声明维护准,一次建好就能长期复用。"}]},{"type":"heading","attrs":{"id":"81d85106-39bb-4272-8fc3-b08abc82aa17","textAlign":"inherit","indent":0,"level":1,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"再解决第二个:先说清「客户」是什么"}]},{"type":"paragraph","attrs":{"id":"62fcc061-f2d0-44e1-b075-26f27c6ea078","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"可是回到最开始那个数,那个 12.7 万,还是错的。 因为它统计的那群人里,依然混着客户和商机。口径修得再干净,也回答不了「这个数算的是谁」。"}]},{"type":"paragraph","attrs":{"id":"f2622c48-4149-4bdc-8835-6ebac85b253f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"行业里大部分语义层方案做到「指标口径统一」就收工了。但那个 12.7 万说明,这只是中途站。"}]},{"type":"paragraph","attrs":{"id":"3485733e-59cc-4b85-b2e2-c1976d1561b8","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"问题出在一个更根本的地方:AI 手里攥着一堆读数,却不知道这些读数属于谁。"}]},{"type":"paragraph","attrs":{"id":"f0af8b88-0670-4e5c-8e7a-03161c09cc4d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"它能把 DAU、留存率、客单价都算得分毫不差,可它不知道业务世界里有「客户」和「商机」两类对象,不知道它们各自该被怎么对待、能对它们做什么。这不是再加几个指标能解决的,读数再多,也说不清读的是谁。"}]},{"type":"paragraph","attrs":{"id":"eb2a1ba8-ff34-461d-b305-2cef031f879a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"要补的不是语义模型的「加强版」,而是一副业务骨架。客户、商机、订单、销售、合同,以及它们之间负责、持有、转化的关系,构成了业务的真实结构;「DAU」「留存率」「转化率」这些指标和维度,"},{"type":"text","marks":[{"type":"bold"}],"text":"只是挂在这副骨架上的元素"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"。"}]},{"type":"paragraph","attrs":{"id":"8ffe614b-5ed3-4013-b572-2cd950064918","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"指标和维度是骨架上的读数,本体是那副骨架本身。读数再准,也不构成一副骨架。"}]},{"type":"paragraph","attrs":{"id":"14a7a688-e1f4-4f85-8160-692d48e5d28b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"还是那个 DAU。一旦「客户」和「商机」被声明成两个对象,事情立刻不一样了。它们不只是分开统计,而是挂着完全不同的骨架:"}]},{"type":"image","attrs":{"id":"edab9f6e-49b0-4dd4-8243-d25a2380de65","src":"https://developer.qcloudimg.com/http-save/audit-1920198/604f2df0e83276aea2bc3a1ea1de3e7c.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"09f7b5c6-3214-44ac-84d7-2908267e09fd","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"客户与商机挂着的属性、关系、规则、动作,是两副完全不同的骨架。"}]},{"type":"paragraph","attrs":{"id":"1fdde400-105b-41a4-ae7b-3030832f33f3","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"看最下面那行:同样叫 DAU,挂在客户上问的是「还活跃吗」,挂在商机上问的是「有多少可能成单」。同一个读数,挂在不同对象上,业务含义完全变了。"}]},{"type":"paragraph","attrs":{"id":"7fa735aa-4462-4a16-b057-fd8a11b074db","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"更关键的是它们之间那条「转化」关系。有了它,AI 才能回答一类以前根本答不上来的问题:上个月有多少商机转成了客户?转化后的客户留存如何?哪个渠道来的商机转化最快?这些问题不需要任何新指标,只需要那条关系被声明出来。"}]},{"type":"paragraph","attrs":{"id":"1f855e2d-211c-4d31-abe2-8f43bdb3c3c2","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这也正是本体和「知识图谱」最容易被混淆、又必须分清的地方。图数据库能存关系,但如果所有连线都叫「关联」,Agent 仍然只知道两个对象相连,不知道这种关系会不会影响下一步动作。组成、来源、触发、责任、约束,画出来都是一条线,业务含义却天差地别。本体要的不是「有关系」,而是「关系到底是什么语义」。"}]},{"type":"heading","attrs":{"id":"f131a308-f8b2-4282-9d15-028cb1a316a1","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"rgb(0, 128, 255)","background":""}},{"type":"bold"}],"text":"骨架由什么构成"}]},{"type":"paragraph","attrs":{"id":"ae8b9256-b5d8-482e-a2b8-ad46e5a48169","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"本体真正做的事,是"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"把散落的业务元素串联成一个完整的业务模型"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"。这副骨架由五个要素搭起来:"}]},{"type":"bulletList","attrs":{"id":"cff9abaf-b18b-4008-a0fb-53843c438491","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"d4c8d4c3-9d49-4f33-83c9-5a5a4763e962"},"content":[{"type":"paragraph","attrs":{"id":"5db24a93-2049-44db-8852-46bb2ae3545d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"对象"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"是骨架的节点,比如客户、商机、订单、渠道,每一个都是业务里真实存在、需要被单独辨认的一类东西。"}]}]},{"type":"listItem","attrs":{"id":"6077ba30-0630-4036-9ef2-1540977ce174"},"content":[{"type":"paragraph","attrs":{"id":"ba188410-8114-4b3e-a46d-0c93afd3a63b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"属性"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"是节点的画像,比如客户的累计消费额、商机的意向评分、订单的成交金额。有了它们,一个对象才从「一个名字」变成可被度量的实体。"}]}]},{"type":"listItem","attrs":{"id":"a06c19a5-93a6-487e-a6dc-2840263d1650"},"content":[{"type":"paragraph","attrs":{"id":"be7cf51a-5493-40da-9d14-4ccef302ad50","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"关系"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"是节点之间的连线,比如「商机可以转化为客户」「客户由客户成功负责」「订单归属某个渠道」。连线一旦被声明出语义,Agent 才能沿着它走,而不是在一张宽表里靠相关性猜。"}]}]},{"type":"listItem","attrs":{"id":"d7880226-d4ed-419b-9b23-3204ad53f3d1"},"content":[{"type":"paragraph","attrs":{"id":"9d920c59-0ebc-487b-9bb2-0475a168de47","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"规则"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"是骨架上的约束,比如「累计消费额 > 50 万的客户,流失预警必须同步客户成功团队」,它规定了这副骨架在什么条件下该触发什么。"}]}]},{"type":"listItem","attrs":{"id":"4ae0ac09-6090-4c57-a626-1e1b5291d987"},"content":[{"type":"paragraph","attrs":{"id":"8bbd011f-c07e-4657-9d42-d60cd7262b72","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"动作"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"是骨架上可执行的操作,比如派跟进任务、发起挽留、升级预警,它让骨架不只被「看」,还能被「用」。"}]}]}]},{"type":"paragraph","attrs":{"id":"1b37b084-8dde-4c6e-b71d-2f09a608e8de","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"前三个(对象、属性、关系)划定了 AI 面对的是一个什么样的世界,决定它能不能做对决策;后两个(规则、动作)规定了它能做什么、该怎么做,决定它能不能按决策把事办对。这五个要素缺一个,骨架就塌一块:只有对象没有关系,是一堆孤立的点;只有读数没有规则和动作,AI 永远停在「会算」,走不到「会办」。"}]},{"type":"image","attrs":{"id":"99ac79a4-81d9-4441-bede-dcc7d0c333cf","src":"https://developer.qcloudimg.com/http-save/audit-1920198/27067b62b6eb59b3fa21f585a49aa268.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"80e8b36d-dd24-405b-9ae6-9a39e7de3eec","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"对象、属性、关系、规则、动作五者,共同构成一副完整的业务骨架。"}]},{"type":"heading","attrs":{"id":"7443f082-e7ad-417d-9eb2-7552e1447965","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"rgb(0, 128, 255)","background":""}},{"type":"bold"}],"text":"关键在于:这一层不需要补任何数据"}]},{"type":"paragraph","attrs":{"id":"50623ee5-95c9-40c7-a0e6-4a9181229394","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"有人会问:这不就是加个字段、洗一遍数据的事吗?"}]},{"type":"paragraph","attrs":{"id":"fff65f3b-fbd1-49f1-8085-59d5084dae8f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"不是。订单表里有没有成交记录,系统从第一天就知道,不需要补采、清洗或人工梳理。"}]},{"type":"paragraph","attrs":{"id":"fd61646b-1aa1-4366-9009-7fc3a84347ed","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"缺的是一句声明:"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"「有转化的叫客户,没转化但活跃的叫商机,这是两个对象;客户归客户成功、商机归销售;商机可以转化为客户。」"}]},{"type":"paragraph","attrs":{"id":"55ffec49-0d62-4b7e-b9b4-2176a3827070","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这句话不产生任何新数据。它做的,是把一个一直存在、却只活在人脑子里的业务结构,变成机器可读的声明。这样一来,每个 Agent、每张报表、每次提问,都按同一副骨架理解业务。"}]},{"type":"paragraph","attrs":{"id":"25b2a071-dadd-4b71-aa41-e1efd4edf935","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"数据齐不等于结构在。本体补的不是数据,是那句从没被写下来的业务声明。"}]},{"type":"paragraph","attrs":{"id":"50c040e9-07ca-4e63-85a5-8a26d799c0a6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这也是本体建模往往比想象中好落地的原因:大多数时候你不缺数据,缺的是把业务共识写下来。"}]},{"type":"image","attrs":{"id":"82b46a39-a48b-4653-a3ae-91759f95be10","src":"https://developer.qcloudimg.com/http-save/audit-1920198/cee2b070c65d91233de5d3f3da1e13c8.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"8b908754-356e-41d9-865d-f8f03f774c8c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"实体图谱按业务域组织,实体与关系一目了然。"}]},{"type":"paragraph","attrs":{"id":"630adbcc-f7ad-44eb-9de4-a7f11e98789c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"骨架一旦立起来,Agent 的工作方式就变了。问「这批商机为什么迟迟不转化」,它可以沿着「商机 → 跟进记录 → 销售 → 所属渠道」这条链走,而不是在一张宽表里做相关性猜测;问「该怎么办」,它能读到「高意向商机 7 天未跟进须升级提醒」这条规则,给出合规的处置。沿着图走因果,跟用提示词猜因果,是两种完全不同的可靠性。这些实体、属性、关系、规则、动作,在 DataBuddy 里都是界面可配、可发布、可下线的资产,不再是散落在文档和口头约定里的经验。"}]},{"type":"heading","attrs":{"id":"3526eb35-e426-4467-94e7-84ae1226a626","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"rgb(0, 128, 255)","background":""}},{"type":"bold"}],"text":"但骨架上的规则,离不开语义给的刻度"}]},{"type":"paragraph","attrs":{"id":"10cf8029-5990-4ebf-98ae-5e6c09b76b20","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"不过这里还有关键的一环:骨架能立起来,前提是它上面挂着的每一个读数都由语义模型保证唯一。本体划定「算的是谁」,语义模型回答「怎么算」,正是开场那两个问题,现在它们咬在了一起。"}]},{"type":"image","attrs":{"id":"44dc34fd-40f3-4704-8e52-fff6ee4dbbb4","src":"https://developer.qcloudimg.com/http-save/audit-1920198/7696d4810af6d9f854047283a98ad2ff.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"35ffa5c1-eb75-4b84-9fa4-92f78265b57b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"本体负责「算的是谁」,语义负责「怎么算」,缺一边另一边都立不住。"}]},{"type":"paragraph","attrs":{"id":"561b838c-8e11-4e48-b625-c20e8099d4ce","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"最能说明这种依赖的,是规则。本体上有这样一条:"}]},{"type":"paragraph","attrs":{"id":"723fe831-c640-4d9d-ab7c-b014c819c4f6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"「累计消费额 > 50 万的客户,流失预警必须同步客户成功团队。」"}]},{"type":"paragraph","attrs":{"id":"cce213fd-f3af-481b-adc6-a2a9fb7c251c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这条规则能不能生效,完全取决于「累计消费额」这个口径是否唯一。含不含税?退货要不要扣减?跨子公司要不要合并?如果这个数有三个版本,规则就有三种触发结果,等于失效。一条会随口径漂移的规则,不是规则,是掷骰子。"}]},{"type":"paragraph","attrs":{"id":"f18d5edd-977b-442c-b61a-2700caa3a9dc","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"反过来,正因为语义模型保证了「累计消费额」只有一个版本、可预览 SQL、可追到底表字段,本体上这条规则才是可执行、可审计、能被业务背书的。这也是「统计口径可控、可信」的真正含义:本体上挂的每一个属性、每一条规则的阈值,背后都对应一个口径明确、可验算的语义模型指标。"}]},{"type":"paragraph","attrs":{"id":"ff968014-9509-4504-be37-95972a925dad","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"本体决定 Agent 看到什么样的世界,语义决定这个世界里的每个数字是否可信。"}]},{"type":"paragraph","attrs":{"id":"d4cb1951-0072-4bb7-b702-7f86d77cffd9","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"没有语义的本体,是一副没有刻度的骨架;没有本体的语义,是一堆没有归属的读数。"}]},{"type":"heading","attrs":{"id":"cc0184ed-76ca-4cc0-a453-af744071634d","textAlign":"inherit","indent":0,"level":1,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"完整形态:三层 + 双翼"}]},{"type":"paragraph","attrs":{"id":"92026088-59af-4b33-9476-b9034c7a2660","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"真正落地时,这两层并不是凭空立着的。"}]},{"type":"paragraph","attrs":{"id":"e14ccf2d-f395-4483-94cc-6a0e27aca84b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"DataBuddy Unity Semantics 的完整形态是这样:纵向三层语义主线,横向两翼治理,最上面是消费它的 Agent。"}]},{"type":"image","attrs":{"id":"d36bb4a0-e915-49ce-b0a4-0ef0926400ea","src":"https://developer.qcloudimg.com/http-save/audit-1920198/17ceb142b3c356f2f70e31c8a147fc0b.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"6c549b89-9b8c-4cbe-8ac9-38e9ff5b1c27","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"Unity Semantics 整体架构——三层语义主线纵向递进,质量与安全治理双翼横向贯穿,顶部由 Agent 消费。"}]},{"type":"paragraph","attrs":{"id":"63130d66-b4f7-4b22-ac0a-b47f631a9844","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"纵向三层各自回答前面提过的一个问题:统一 Catalog 让物理表变得可读,语义模型让每个读数唯一(回答「怎么算」),本体模型把这些读数装回业务骨架(回答「算的是谁」)。"}]},{"type":"paragraph","attrs":{"id":"3dfff2df-b423-497e-80bc-5d211b4e6b4f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"从下往上走,每一层回答的问题都在变深:"}]},{"type":"bulletList","attrs":{"id":"f15c6810-6b04-4c49-9a18-0439a5bf7e7e","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"aa2430a9-20b4-4e3a-850b-21f760a2e489"},"content":[{"type":"paragraph","attrs":{"id":"6c751667-00c6-47ec-b6c4-fdbf4fb6b730","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"统一 Catalog"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":":元数据、全域血缘。它是另外两层的地基,得先把「这张表这个字段是什么、从哪来」摸清楚,字段来源说不清,上面就没法定口径,更没法挂进骨架。"}]}]},{"type":"listItem","attrs":{"id":"6dc2e547-eeab-4663-83c3-ae0bf68fb67c"},"content":[{"type":"paragraph","attrs":{"id":"337e3b20-653e-4aeb-8efa-55af4491a9da","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"语义模型"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":":指标、维度、Join 关系。它回答「过去有多少」。"}]}]},{"type":"listItem","attrs":{"id":"8472dae6-b81e-42ee-b853-859288f07e11"},"content":[{"type":"paragraph","attrs":{"id":"69550496-2300-45c8-bb44-2430cca235eb","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"本体模型"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":":对象、属性、关系、规则、动作。它回答「是什么、为什么、会怎样、该怎么办」。"}]}]}]},{"type":"heading","attrs":{"id":"1885a4e6-90b4-4840-8adf-0e70465b1ea1","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"rgb(0, 128, 255)","background":""}},{"type":"bold"}],"text":"双翼:质量治理 + 安全治理"}]},{"type":"paragraph","attrs":{"id":"554bb2f7-7285-42b8-8754-9bafbb52616b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"骨架立起来之后,新的风险也跟着来了:语义会腐化,也会失控。定义过时了没人改,就成了「更漂亮的歧义」;而 Agent 一旦从「只会说」变成「能动手」,就可能读到不该读的数据、触发不该触发的动作。能力越往行动端走,治理就越不能事后再补。"}]},{"type":"paragraph","attrs":{"id":"7151a512-a248-4fb8-b0d8-7f14646cdd85","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"所以在 Unity Semantics 里,质量治理防腐化,安全治理防失控,两者跟语义一起生长,横向贯穿全部三层。"}]},{"type":"paragraph","attrs":{"id":"cf47e954-f9f5-4205-ab4e-4ee2f3b7638a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"它们被画成「翼」而不是某一层里的一个模块,是因为每一层都用得上:Catalog 层要给字段打安全分级、标出加密项,语义层要保证口径定义不过时,本体层要约束哪些动作能被 Agent 执行、由谁执行。权限在查询编译期就生效,模型根本看不到它无权看的数据,也就谈不上「不小心说漏」。"}]},{"type":"paragraph","attrs":{"id":"94c6c2d5-d513-4426-96bf-70e60181603b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"缺语义 → 幻觉;缺治理 → 腐化 / 失控。两者结合,才是护城河。"}]},{"type":"heading","attrs":{"id":"fbecf3de-8563-401b-a012-044b6f7f7eec","textAlign":"inherit","indent":0,"level":1,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"为什么这套东西可信"}]},{"type":"paragraph","attrs":{"id":"9ba27014-1213-4a51-a6e2-bbc1a94ae95c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"讲到这里,一个务实的追问会浮上来:当 Agent 开始派单、改状态、写回系统,凭什么相信它不会出错,又凭什么信它每一步都说得清依据?"}]},{"type":"paragraph","attrs":{"id":"0d2a5156-f186-4948-a6c9-18083f468466","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这个问题分三层来答:执行是确定的,结果可溯源,准确率经过实测。"}]},{"type":"heading","attrs":{"id":"519ab678-bb3b-473a-9e16-8b5683075269","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"rgb(0, 128, 255)","background":""}},{"type":"bold"}],"text":"第一层:语义查询到物理 SQL,全程无 LLM"}]},{"type":"paragraph","attrs":{"id":"0a15fe7a-d1a7-4c19-9c09-3f14023dd92a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这是最容易被忽略、却最决定可信度的一环。很多人以为「AI 取数」是模型一路生成 SQL,在 DataBuddy 里并不是。"}]},{"type":"paragraph","attrs":{"id":"06e82c25-565a-4f3b-a397-ffdc3a089bdb","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"模型(Agent)只负责读懂问题、检索语义层、匹配出该用哪个指标、哪个语义模型、哪些维度,然后调用指标查询引擎。从语义查询翻译到物理 SQL 的全过程,都发生在这个引擎内部,没有一步经过 LLM。"}]},{"type":"image","attrs":{"id":"1d1a9088-02ed-45c8-bbd0-618e988adde7","src":"https://developer.qcloudimg.com/http-save/audit-1920198/765f6ff8c3aca19bbba72257a7f91cd9.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"92efaecb-b9a1-4346-9b64-8f3ff1677895","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"Agent 只负责检索匹配语义,翻译成 SQL 交给引擎内的确定性流水线,六段无一步经过大模型。"}]},{"type":"paragraph","attrs":{"id":"5b595a86-d886-48fb-8fca-7148c27fcc3e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"不堆 ADS 表,性能靠什么撑?答案也在这里:物化由引擎按代价自动决定,而不是人按场景手工建表。同一份语义声明,引擎判断走聚合表更划算就走聚合表,否则直接算明细。口径只有一份,加速是引擎的事。"}]},{"type":"paragraph","attrs":{"id":"a47ebed1-7a04-4e7b-a34b-0e047d937680","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"降低幻觉靠的是这套结构,不是提示词技巧。同一个语义查询,任何时候执行都得到同一个结果。"}]},{"type":"heading","attrs":{"id":"3b6725c5-b500-4aef-95e0-086b41cd9f9f","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"rgb(0, 128, 255)","background":""}},{"type":"bold"}],"text":"第二层:每个数都能被追问「凭什么」"}]},{"type":"paragraph","attrs":{"id":"c116d5f3-8f72-4d16-925e-49f24c20d4ae","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"语义资产建好之后,它不属于某一个应用,而是所有消费者的共同底座。分析 Agent、AI 看板、业务系统,走的都是同一套定义。"}]},{"type":"image","attrs":{"id":"db8d554b-da0f-4364-93e6-07eabd11b560","src":"https://developer.qcloudimg.com/http-save/audit-1920198/87a69de267b17021ec1d638407303ae2.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"c0af6195-3221-47c3-828a-a204d91ab5d4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"Agent 直接向语义层取数,每次查询都带来源与 QueryId,可回放、可审计。"}]},{"type":"image","attrs":{"id":"69c0113a-b513-4ffd-a05f-4afd75e28ed7","src":"https://developer.qcloudimg.com/http-save/audit-1920198/0496d911a0c1c9439f8c9666f3ebf099.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"f8b6bb8d-3462-46c9-847a-83607b13070a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"AI 生成的看板,每个指标都能展开溯源、同样受治理。"}]},{"type":"paragraph","attrs":{"id":"ad249ef6-db4a-4250-8eda-be03db6741fd","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"不只是数。当 Agent 开始派单、改状态、写回系统,每一次动作也要留痕:命中了哪条规则、用的哪个口径、谁有权执行。业界主流语义层大多只做到指标口径这一层,规则语义只是局部覆盖,动作语义普遍缺失,这正是「算得出 DAU、却推不动任何一次跟进」的根源。要让 Agent 真动手,数和动作都得说得清依据。"}]},{"type":"paragraph","attrs":{"id":"0924100b-d749-43ea-9ae1-24a832825e69","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"价值不在于「AI 给了你一个数」,而在于它同时告诉你:这个数怎么来的、用的是谁拍板的口径、执行了什么 SQL。"}]},{"type":"heading","attrs":{"id":"8c15ec19-dce5-4156-b8a2-24a3e8403c18","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"rgb(0, 128, 255)","background":""}},{"type":"bold"}],"text":"第三层:准确率 95.9%,而这不是靠更强的模型换来的"}]},{"type":"paragraph","attrs":{"id":"b56fc7a0-ed7c-48b5-a5f9-c7b5c34a13c6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"前面两层讲的是机制,这一层给结果。"}]},{"type":"paragraph","attrs":{"id":"7f39ebd7-c22e-4801-a2ba-ee48161b0b91","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"我们做过一组内部评测:同一批业务问题、同一套底层数据,分两条路径跑。"}]},{"type":"image","attrs":{"id":"a82a0a87-3042-449a-85f8-ed53e724c779","src":"https://developer.qcloudimg.com/http-save/audit-1920198/6cc5de9d5dc546500d844ef72068a061.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"766c3ad8-8968-44f2-b716-382818617952","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"DataBuddy 内部评测——走语义层准确率 95.9%,裸 NL2SQL 仅 83.5%。"}]},{"type":"paragraph","attrs":{"id":"ffc98fba-c0b7-4b0e-aa57-bc1ab8cf028b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"走语义层的那条,准确率 95.9%。"}]},{"type":"paragraph","attrs":{"id":"6cdb12a5-df58-4c2c-b24a-126bbcae7760","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这个数字的意义在于,它跨过了「业务愿不愿意用」的门槛。到了 95% 以上,业务方才敢把 AI 给的数直接拿去做判断;不到这个线,每个答案都得人工复核一遍,等于没省事。"}]},{"type":"paragraph","attrs":{"id":"e0e5f74e-f757-4e12-9a0e-6602a855443f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"另一条路径是不接语义层的裸 NL2SQL。这不是一个随便搭的对照组:我们在它身上把该做的算法优化都做了,schema 召回、few-shot 示例、SQL 自校验和重试全上。它最终跑到 83.5%,这个成绩其实已经高于业界公开的 NL2SQL 平均水平。"}]},{"type":"paragraph","attrs":{"id":"895744d2-0c5d-4bdc-8746-650eed5605df","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"但 83.5% 换成业务语言就是:每 6 个问题里有 1 个是错的,而且你不知道是哪一个。"}]},{"type":"paragraph","attrs":{"id":"2c050b27-3fe6-42e5-8895-9fc86cca1040","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"两条路径差 12.4 个百分点,恰好横跨了「能演示」和「能上生产」之间那道线。"}]},{"type":"paragraph","attrs":{"id":"7a0c1f32-5b14-4145-bb27-ff4a2207e23a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"真正值得琢磨的是这 12.4 个百分点从哪来。不是换了更大的模型,也不是调了更好的提示词,两条路径用的是同一个模型。差别只在于其中一条路径上,表怎么连、维度有哪些、指标怎么算,都已经写下来了。"}]},{"type":"paragraph","attrs":{"id":"5ef9329c-41c6-48f4-a28e-e3452908a64b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"准确率的天花板不在模型那一侧,而在你有没有把业务定义交给它。"}]},{"type":"heading","attrs":{"id":"259d9f97-005a-42ef-9d49-f5607011929d","textAlign":"inherit","indent":0,"level":1,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"人机协同:这些模型不用人肉写"}]},{"type":"paragraph","attrs":{"id":"fc15b3a5-d45d-4f44-a622-aef63c57cdab","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"讲到这里,一个很现实的顾虑会浮上来:听起来都对,但这不又是个「建三年都建不完」的工程吗?"}]},{"type":"paragraph","attrs":{"id":"54525127-2725-41cf-8ad7-bd117ad791c0","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这个顾虑没错。语义层和本体在业内被讨论了很多年,落不下去的主要原因从来不是价值不清楚,而是建设成本太高——得把散落在几百张表、十几个部门、若干位老员工脑子里的业务共识,一条一条录进系统。指望人从零手写,这事永远排不到优先级。"}]},{"type":"paragraph","attrs":{"id":"417a8b50-ea4f-41ad-a7be-dde2ec178a8e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"所以我们从一开始就把它设计成人机协同:在 DataBuddy 里,语义模型和本体模型的构建,都可以用自然语言交给 Agent 起草。"}]},{"type":"image","attrs":{"id":"a48e6cb3-85b5-4c85-96c2-3b059222d99a","src":"https://developer.qcloudimg.com/http-save/audit-1920198/8168f9652e4455cbbe6b05642857a40b.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"7c39c5ad-ac72-4389-84a2-097f4882cb20","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"人机协同建模四步闭环——人提需求、Agent 起草、人审改拍板、自动落地。"}]},{"type":"paragraph","attrs":{"id":"e5eef8a4-3f05-450e-a462-08ffcd01b24b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"落到产品里,这条闭环有两个入口。一个是 AI 智能建模,用一句业务描述,让 Agent 直接起草本体和语义模型;另一个是导入历史资产,把存量 SQL、老文件传上去,让 Agent 自动解析成结构化草案。两者指向同一件事:冷启动不再是从零手写,而是从一份草稿改起。"}]},{"type":"image","attrs":{"id":"37a82c79-c811-4bb9-9e04-4ed1c8e7bcc6","src":"https://developer.qcloudimg.com/http-save/audit-1920198/7ab4e674d980b29695ec9b1c0d3d1edb.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"bd5f9a0e-f212-4826-82f9-567a73b6abcb","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"语义工作台——管理各个业务域的实体、指标与模型,可直接被 Agent 消费。"}]},{"type":"paragraph","attrs":{"id":"841a40cf-e888-4434-b914-87d1e194e182","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"但 Agent 起草的方案不会直接生效。它把读到的元数据、历史 SQL,连同人给的业务需求,整理成一份完整的语义建模和本体建模草案:事实表和维度表怎么 Join、建哪些指标、建哪些实体、实体有哪些属性、实体之间是什么关系。然后它会停下来,等人审。这一步是我们刻意不做成「全自动」的地方——能从数据里推断的交给 Agent,只有业务才能拍板的留给人。"}]},{"type":"image","attrs":{"id":"5d7621c8-6f78-4511-8026-3be558df360b","src":"https://developer.qcloudimg.com/http-save/audit-1920198/95cd36309e25d16847dfb127d9a9bc23.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"22899632-dc3a-46da-a234-2fde8dbd3e31","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"Agent 起草的建模方案逐项可改,确认后再一键落地,拍板权始终在业务方手里。"}]},{"type":"heading","attrs":{"id":"cc6a0a92-00f8-47f4-a8a4-9c60b87e4f53","textAlign":"inherit","indent":0,"level":1,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"最后:那句话,现在能被答对了"}]},{"type":"paragraph","attrs":{"id":"a4e2669a-21d1-4612-a02f-f242cdb8c4df","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"回到开篇那个问题——「上个月华东区客户的 DAU 是多少?」"}]},{"type":"paragraph","attrs":{"id":"0bf91265-5486-4408-bba2-294bc33f6e85","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"现在再问一次,链路是这样的:"}]},{"type":"paragraph","attrs":{"id":"3eea58f8-0438-4f93-9f4e-6d1054a16b64","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"本体先回答「算的是谁」:「客户」是一个已声明的对象,判据是有成交转化,跟「商机」严格区分,「华东区」按客户签约主体所在地归属。语义模型接着回答「怎么算」:DAU 按自然人去重、有效操作即活跃、自然月口径,一段唯一逻辑,可预览 SQL,可追到底表字段。"}]},{"type":"paragraph","attrs":{"id":"a5f41c36-ab84-4b3e-9c7f-bb2771226d62","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"于是 AI 给出的不再是一个孤立的 12.7 万,而是客户 DAU 8.3 万(留存该看这个数)和商机 DAU 4.4 万(转化潜力该看这个数),还顺手告诉你上月有多少商机转成了客户。"}]},{"type":"paragraph","attrs":{"id":"8902d319-ec12-4063-8dae-c7782ba6456e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"再往下走一步。因为这两个对象各自挂着规则和动作,Agent 可以对客户侧活跃度下滑的年框大客户,按规则同步客户成功团队;对商机侧高意向、却超 7 天没跟进的,直接派发跟进任务写回 CRM,全程受权限约束、留下可审计记录。从「答一个数」到「据此办一件事」,正是从取数工具走到决策中枢的那一步。"}]},{"type":"image","attrs":{"id":"8a144911-baa0-456f-b745-f0bacbe0e604","src":"https://developer.qcloudimg.com/http-save/audit-1920198/f3a195666dc35c82f6725b443b20d751.webp","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":"","aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"e5b8b1a5-d7b2-4eab-9389-419ad59b194b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"本体先答「算的是谁」,语义再答「怎么算」,两层合力把一句话落成一次受治理的业务动作。"}]},{"type":"paragraph","attrs":{"id":"8687217e-2727-4671-818d-acc19822db80","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"一句话之所以能被答对、还能被接着执行,是因为问题被拆成了两层,而这两层都被分别补上了:语义模型管住口径,本体模型定住对象。开篇那句话反过来说同样成立:口径对了、对象也对了,你才第一次拿到一个既准确、又问对了人的答案。"}]},{"type":"paragraph","attrs":{"id":"d01ea773-ab1c-487e-ae93-f44620ff3253","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"这件事的价值,其实比「让 AI 答得更准」要大得多。"}]},{"type":"paragraph","attrs":{"id":"66cbfef0-b788-45cb-ad4e-08fd5e93dd60","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"当企业把对象、关系、规则、动作显式地写下来,它做的是一件过去从没做过的事:把那副只存在于资深员工经验、制度文件、部门口头默契里的业务骨架,第一次变成机器可读的资产。过去这副骨架每次人员流动都会损耗一点,每换一套系统就得重新口口相传一遍。"}]},{"type":"paragraph","attrs":{"id":"3bd7751b-7042-40d6-9f08-d44172da6220","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"而一旦写下来,模型可以换、Agent 可以换、前端可以换,这副骨架都还在。"}]},{"type":"paragraph","attrs":{"id":"d5eed956-16c2-4885-9784-9de92402a364","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"企业 AI 的竞争,最终拼的不是谁的模型更强。护城河不是买来的工具,是谁先把自己的业务骨架写了下来。"}]},{"type":"paragraph","attrs":{"id":"a68b5805-2e63-413d-9ecc-fe250484e49b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"从统一 Catalog 到语义模型再到本体模型,让数据可理解、可推理、可治理,DataBuddy用「语义 × 治理」为企业数据筑起 AI 护城河。"}]}]}