让 AI 改数据代码,有点像请人调整一根水管:眼前这段没漏,不代表楼下不会遭殃。一张表常被其他表、指标和报表继续引用,局部修改可能沿着依赖链扩散。Embrasure 创始人 JacobKHD 开源了一套本地护栏,用来在编码 Agent 提交代码前,检查它是否改坏当前表及下游依赖。
这套工具目前面向 dbt 与 Snowflake:前者管理数据转换代码和表间依赖,后者负责运行查询、保存分析数据。它不只比较改动前后的行数,还检查空值率、取值数量、范围和分位数是否异常;同时识别字段被删除、改名或换类型,以及主键新增空值、重复或取值消失等问题。更值得注意的是,它会借助字段级血缘——追踪一个字段流向哪些表和报表——指出受影响的下游模型与数据出口,并纳入已有 dbt 测试的失败结果。
作者把项目称为更深入的 data-diff,并以 Apache 2.0 许可证开放,动机是把原本可能依赖付费 CI/CD(代码合并与上线前的自动检查)的验证提前到本地、甚至创建 PR(代码合并申请)之前。目前仅支持 dbt Core 与 Snowflake;作者表示计划加入 Databricks。材料未披露实际项目中的拦截率、误报率或性能数据,因此现阶段更像一块补上的安全拼图,而非已经验证完毕的生产保证。