数据工程 Agent 是 Buddy 在“数据开发”模式下的 AI 数字员工,您只需用自然语言描述需求,Agent 即可自动完成从需求理解到任务上线的完整数据工程链路。
AI 驱动的全流程
传统数据工程需要工程师手动梳理需求、逐行编码、逐个配置任务、手动排查问题,整个过程耗时费力、响应慢、易出错。数据工程 Agent 将这一切变为 AI 驱动的自动化流程:
传统方式 | Buddy 数据工程 Agent |
人工梳理需求 | AI 理解需求 |
手动编码 | 生成数仓方案 |
逐个配置任务 | 自动生成代码 |
手动运维排查 | 智能编排工作流 |
耗时费力、易出错、效率低 | 高效智能、响应快、准确率高 |
数据工程 Agent 覆盖 6 大核心能力,形成完整闭环:
步骤 | 能力 | 说明 |
1 | 需求生成数仓方案 | 理解业务需求,自动生成贴合业务的数仓建设方案 |
2 | 智能数据接入 | 自动识别数据源、智能映射字段,快速完成数据接入 |
3 | 代码生成 | 根据方案与规则自动生成高质量 SQL / 脚本代码 |
4 | 工作流自动开发 | 自动编排任务依赖与调度,一键生成完整工作流 |
5 | 数仓结构分析 | 自动解析现有数仓结构,识别分层关系与建模问题,给出优化建议 |
6 | 任务诊断修复 | 实时监控任务,智能诊断问题并提供修复建议 |
整个流程由 AI 端到端串联,您只需在关键节点确认即可,无需在多个模块间手动切换操作。
与数据分析 Agent 的差异
Buddy 通过顶部「场景模式」切换在 数据开发模式(数据工程 Agent) 和 数据分析模式 之间切换。两个模式产出的工件、知识库、产物范围互相隔离:
维度 | 数据工程 Agent(本文档) | 数据分析 Agent |
主要读者 | 数据工程师 / 数据开发 | 数据分析师 / 业务方 |
典型产物 | SQL 文件、Python 文件、Notebook、工作流、数据接入任务 | Markdown 报告、HTML 仪表盘、查询结果表、图表 |
知识库归属 | 工作空间级知识库 | 分析空间级知识库(与该分析空间绑定) |
前提条件
在使用数据工程 Agent 前,请确保:
工作空间已开通 Buddy。
当前账号对目标 Workspace 内涉及操作的资源(数据源、Catalog、Studio 文件夹、计算资源、工作流)拥有相应权限。Agent 在执行落地操作时会校验该账号的真实权限,无权限时会给出权限不足提示。
场景一:智能数据接入
功能说明
智能数据接入支持通过自然语言描述创建实时 / 离线同步任务,覆盖以下场景:
实时整库多表接入:把整个库(或正则匹配的表集合)实时同步到 Catalog。
实时分库分表接入:把多个分库的同名表合并写入一张目标表。
离线单表接入:每天 / 每小时定时同步单张源表到目标表。
离线批量单表接入:一次性为多张源表批量创建离线同步任务。
Buddy 自动识别接入方式、生成字段映射、推荐写入模式与调度时间,并在关键节点等待您确认后落地。您只需提供数据源名称、源库/表范围、目标 Catalog,其余配置(任务名、同步策略、增量字段、写入模式、字段映射等)由 AI 智能推荐。
使用方式
在 Buddy 输入框用自然语言描述即可,您只需提供数据源名称、源库/表范围、目标 Catalog:
输入示例 | 效果 |
「把生产环境 MySQL 的 orders 表每天同步到 lakehouse_catalog」 | 创建离线单表同步任务 |
「mysql_prod_01 里所有以 order_ 开头的表实时同步到 ods_catalog」 | 创建实时整库多表同步任务 |
「order_db_00 到 order_db_07 这 8 个分库的 order 表合并同步到 order_all」 | 创建实时分库分表同步任务 |
「把 ods schema 下的所有表每天同步到 lakehouse_catalog」 | 创建离线批量单表同步任务 |
场景二:代码辅助
功能说明
代码辅助支持在 Studio 内通过自然语言完成代码全生命周期操作:
代码生成:自然语言描述生成 SQL / Python / Notebook 文件,自动插入 Studio。
代码解释:对当前代码进行自然语言解析,说明核心逻辑与业务含义。
代码纠错与方言转换:自动语法纠错,转换
:param ↔ ${param}、dbutils → dlcutils 等方言差异。试运行 + 错误自动修复:脚本编写后自动试运行,运行失败时分析错误日志并尝试修复重试。
Buddy 与 Studio 文件树、编辑器、运行结果面板深度联动,修改文件时展示 Diff,您可以选择接受或拒绝。
使用方式
在 Buddy 或 Studio 侧边栏中用自然语言描述即可:
输入示例 | 效果 |
「帮我写一个 SQL,从 ods_orders 统计每天每个渠道的 GMV」 | 生成 SQL 文件 |
「新建一个 Python 文件,用 dlcutils 读取 dws_user_daily 表」 | 生成 Python 文件 |
「解释这段代码做了什么」 | 代码解释 |
「把这段 Databricks SQL 改成 DataBuddy 方言」 | 方言转换 |
「运行这个 SQL」 | 试运行,失败时自动修复重试 |
场景三:工作流编排
功能说明
工作流编排支持通过自然语言把 Studio 中的脚本组装成工作流:
从代码创建任务:基于 SQL / Python / Notebook 文件创建任务节点。
DAG 自动生成:解析代码中的
FROM / JOIN 关系,自动生成任务依赖与 DAG 拓扑。DAG 校验:循环依赖检测、不合理依赖识别、调度冲突检测。
调度配置:根据业务时效推荐调度周期、调度时间、依赖策略、重试策略。
工作流增删改查:自然语言修改节点、配置、依赖。
使用方式
在 Buddy 输入框用自然语言描述编排需求即可:
输入示例 | 效果 |
「把 dwd_orders.sql、dws_order_daily.sql、ads_channel_gmv.sql 串成一个工作流,每天 03:00 调度」 | 创建工作流 + 配置调度 |
「在 ads_channel_gmv 后面加一个推送任务」 | 新增节点 + 配置依赖 |
「把整个工作流的调度改成每小时一次」 | 修改调度周期 |
场景四:智能诊断
功能说明
智能诊断覆盖数据工程全链路的异常定位与修复建议,覆盖以下范围:
工作流任务诊断:工作流中任务出现 失败 / 等待资源 / 上游失败 时,自动根因分析、影响范围评估、失败链路追踪,并提供修复建议(重跑 / 终止 / 修改后重跑)。
Studio 内代码运行诊断:在 Studio 中运行 SQL / Python / Notebook 报错时,分析错误日志并给出修复建议。
实时接入任务诊断:实时数据同步任务出现延迟、断流、字段异常等问题时,定位根因并给出处理建议。
离线接入任务诊断:离线同步任务失败、超时、DDL 变更等情况时,定位根因并给出处理建议。
使用方式
在工作流运行详情中 hover 失败状态节点,点击 AI 诊断 即可触发;也可以在 Studio 运行面板中点击 AI 诊断,或在 Buddy 中用自然语言描述:
输入示例 | 效果 |
「xx 工作流任务失败了,帮我看看什么原因」 | 根因分析 + 影响范围评估 |
「xx 任务的 SQL 跑失败了,帮我看下」 | Studio 内代码运行诊断 |
「xx 实时同步任务延迟严重,帮我排查」 | 实时接入任务诊断 |
「xx 离线同步任务报错了,帮我查下原因」 | 离线接入任务诊断 |
端到端场景示例:从 0 开始新建数仓
以下通过一个完整的场景展示数据工程 Agent 如何从一句需求出发,端到端完成数仓建设全流程。
输入示例
我是一个数据工程师,现在业务团队新增了一个外部 PostgreSQL 数据源,希望基于这批数据建设一套业务分析数仓。业务人员希望每天查看销售绩效、季节性销售趋势和商品品类分析,包括 GMV、订单量、收入、客单价、品类销售占比和热销品类排行等指标。数据源名称为 XX,源表位于 XX schema 下。我希望将该 schema 下的所有源表同步到 XX catalog 中,并基于这些源表完成数仓设计与建设。数据每天早上 10 点更新。
Agent 自动执行流程
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐│ 数据源 │ │ 查看表 │ │ 建设方案 │ │ 数据接入│ │ 代码开发 │ │ 工作流 ││ 连接 │ ─▶ │ 结构 │ ─▶ │ 生成 │ ─▶ │ 配置 │ ─▶ │ 生成 │ ─▶ │ 编排 │└──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘│ │ │ │ │ │▼ ▼ ▼ ▼ ▼ ▼连接目标 识别 目标 ODS/DWD/ 创建同步任务 ETL 依赖 DAG数据源 schema 下 DWS/ADS 代码生成 + 调度配置(每天10:00)所有表结构 分层方案 代码校验 & 告警配置等