
BigQuery Graph 用 measures 保障可信的 Agent 工作负载

企业从简单聊天助手转向自主 Agent 工作负载时,很快会遇到一个现实问题:Agent 直接查询原始表格容易得出不准确的结论。Google 的 BigQuery Graph 旨在解决这个问题,其核心思路是用图结构替代扁平、静态的表,把企业数据按真实世界的实体依赖关系(互联的业务实体)来建模。
新发布的 BigQuery Graph 的 measures 功能(预览阶段)将受治理的指标(measures)与关系映射(graph)统一起来。这让 Agent 能基于图中的复杂依赖关系进行精确推理。文章用一个具体场景说明了为什么需要这种统一:一家零售商发现西雅图冬季夹克销量下降 12%,Agent 在扁平表中只能报告“是什么”(下降了 12%),但无法回答“为什么”,因为它追踪不到“西雅图订单 → 配送中心 → 供应商受区域风暴延误”这条关系路径。缺乏关系上下文的 Agent 会给出不相关、甚至损害利润的建议(比如建议 15% 的折扣)。
传统做法是分而治之:一个团队用图数据库维护供应商关系,另一个团队用 SQL 维护指标。Agent 在运行时需要把这两层拼凑起来,这个过程缓慢、昂贵且导致 KPI 计算不一致。BigQuery Graph 的 measures 方案是零 ETL 地将现有表原地映射成一个属性图(property graph),无需数据迁移。这实现了一个逻辑递进的查询流程:元数据确立有什么数据,业务指标(measures)计算业绩,关系映射(graph)揭示原因。
技术实现上,标准 SQL 在遍历图时会因行复制而算错聚合值。BigQuery Graph 的做法是:数据建模者在 Property Graph DDL 中直接定义 MEASURE(如 SUM 或 AVG)。引擎在执行查询时,先用 GRAPH_EXPAND 函数和 AGG 聚合器解析结构化的图路径,然后再计算指标。这确保了 Agent 知道何时需要计算器(SQL)何时需要地图(graph)。注意,bigquery-public-data 这类公共数据集是只读的,你需要在自有项目内用占位变量映射逻辑属性图,同时将公共只读表作为节点和边直接引用。
为了降低使用门槛,BigQuery Studio 内建了可视化图建模器(拖拽界面,无需手写 DDL)和自然语言交互功能(Conversational Analytics)。用户可以通过自然语言与图交互,CA Agent 将导航到确定性的图上,把问题转化为精确的 GoogleSQL 或 ISO GQL 查询,从而防止模型幻觉并保证语义一致性。
Looker 层面的原生集成避免了逻辑栈的碎片化。两种模式:一是使用 sql_analytic_model_name 让 Looker 直接指向数据库内定义的 BigQuery Graph;二是使用 derived_analytic_model 在 LookML view 里定义图结构,由 Looker 动态生成并执行 DDL。企业的整个图生命周期可通过 Looker IDE、基于 Git 的版本控制和 CI 来管理,确保核心 KPI(如流失率)保持一致、可审计且可信。

