使用 AI 为 dbt 代码变更自动生成 SQL 验证笔记本
解决 dbt 模型变更后的手动验证痛点:AI 自动分析 GitHub PR 或本地代码 diff,生成一套标准化的 SQL 验证笔记本,通过对比生产环境(Prod)与开发环境(Dev)的数据差异,确保代码上线前的正确性。
为什么需要这个技能
在 dbt 项目中,修改一个模型可能导致下游数据的意外偏移。传统的验证方式通常是手动编写 SQL 并在 IDE 中对比 PROD 和 DEV 数据库,过程重复且容易遗漏关键维度。
本技能通过 AI 自动化分析代码变更(Diff),智能识别受影响的字段、过滤条件和关联关系,直接生成一个可导入 Monte Carlo Bridge 的 SQL Notebook。它不仅提供基础的行数统计,还能针对变更点自动构建“前后对比查询”,让开发者快速判断变更是否符合预期。
适用场景
- PR 审核阶段:在 GitHub PR 合并前,快速生成验证脚本检查数据分布。
- 本地开发验证:在本地分支修改 dbt 模型后,对比当前分支与主分支的数据差异。
- 数据质量审计:需要针对特定模型变更记录完整的验证逻辑(含 SQL 代码和执行结果)。
核心工作流
- 变更检测(Mode Detection):
- PR 模式:通过
ghCLI 提取 GitHub PR 的文件列表和 diff 内容。 - 本地模式:通过
git diff对比当前分支与基准分支(如main)。
- PR 模式:通过
- 元数据解析(Parsing):
- 运行
resolve_dbt_schema.py脚本,根据dbt_project.yml自动解析模型在数据库中的实际 Schema。 - 识别模型类型(新模型或修改模型)及关键字段(如
unique_key、时间轴字段)。
- 运行
- 查询生成(Query Generation):
- 新模型:生成行数统计、样本预览、唯一性检查和空值率分析(仅限
dev_db)。 - 修改模型:生成生产环境基线查询
开发环境验证查询 PRODvsDEV差异对比查询。
- 新模型:生成行数统计、样本预览、唯一性检查和空值率分析(仅限
- 笔记本构建与导出:
- 构建符合 Monte Carlo 规范的 YAML 配置。
- 通过
generate_notebook_url.py将配置编码为 Base64 导入链接,直接在浏览器中唤起 Notebook 界面。
下载和安装
下载 monte-carlo-validation-notebook 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐