使用 AI 为 dbt 代码变更自动生成 SQL 验证笔记本

解决 dbt 模型变更后的手动验证痛点:AI 自动分析 GitHub PR 或本地代码 diff,生成一套标准化的 SQL 验证笔记本,通过对比生产环境(Prod)与开发环境(Dev)的数据差异,确保代码上线前的正确性。

为什么需要这个技能

在 dbt 项目中,修改一个模型可能导致下游数据的意外偏移。传统的验证方式通常是手动编写 SQL 并在 IDE 中对比 PRODDEV 数据库,过程重复且容易遗漏关键维度。

本技能通过 AI 自动化分析代码变更(Diff),智能识别受影响的字段、过滤条件和关联关系,直接生成一个可导入 Monte Carlo Bridge 的 SQL Notebook。它不仅提供基础的行数统计,还能针对变更点自动构建“前后对比查询”,让开发者快速判断变更是否符合预期。

适用场景

  • PR 审核阶段:在 GitHub PR 合并前,快速生成验证脚本检查数据分布。
  • 本地开发验证:在本地分支修改 dbt 模型后,对比当前分支与主分支的数据差异。
  • 数据质量审计:需要针对特定模型变更记录完整的验证逻辑(含 SQL 代码和执行结果)。

核心工作流

  1. 变更检测(Mode Detection)
    • PR 模式:通过 gh CLI 提取 GitHub PR 的文件列表和 diff 内容。
    • 本地模式:通过 git diff 对比当前分支与基准分支(如 main)。
  2. 元数据解析(Parsing)
    • 运行 resolve_dbt_schema.py 脚本,根据 dbt_project.yml 自动解析模型在数据库中的实际 Schema。
    • 识别模型类型(新模型或修改模型)及关键字段(如 unique_key、时间轴字段)。
  3. 查询生成(Query Generation)
    • 新模型:生成行数统计、样本预览、唯一性检查和空值率分析(仅限 dev_db)。
    • 修改模型:生成生产环境基线查询 开发环境验证查询 PROD vs DEV 差异对比查询。
  4. 笔记本构建与导出
    • 构建符合 Monte Carlo 规范的 YAML 配置。
    • 通过 generate_notebook_url.py 将配置编码为 Base64 导入链接,直接在浏览器中唤起 Notebook 界面。

下载和安装

下载 monte-carlo-validation-notebook 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐