帮你快速理解、总结文档立即下载

数据工程 Agent 最佳实践

最近更新时间:2026-11-03 14:16:01
我的收藏

概述

本文总结数据工程 Agent 在真实项目中的使用经验,帮助你以“Agent 主导执行、人工负责校准”的协作方式,高效完成数仓建模、数据接入、数据加工、任务运维与定时巡检等工作。

一、核心协作理念:Agent 主导执行,人工负责方向校准

以下三条原则来自多个真实项目的反复验证:
原则
说明
方案先行,先设计后实现
复杂需求先让 Agent 输出方案文档(建表清单、字段、依赖、调度、风险),人工 Review 确认后再生成 DDL、SQL 与工作流
人工负责方向与规范校准
人工的核心价值是判断产出方向是否正确、口径是否符合规范、命名分层依赖是否合理,并通过简短指令拨正方向,而非亲自重写
报错优先交由 Agent 诊断
遇到 SQL 报错、任务失败、参数异常时,直接将报错信息(含文件路径、JobId、ExecutionId)提交给 Agent,Agent 具备查询执行日志与定位问题的能力

二、开始前的准备工作

用 workspace_rule.md 统一规范(强烈推荐)

DataBuddy 支持工作空间级规则文件 workspace_rule.md(置于工作空间根目录,由空间管理员创建)。创建后,空间内所有成员的所有 Agent 会话将自动加载该规则作为上下文,无需手动粘贴规范。
优先使用已有规范作为规则来源:如果团队已有数仓分层规范、指标口径手册、SQL 编码规范、数据治理规范等文档(Word、PDF、Markdown 均可),直接上传并让 Agent 提炼结构化后写入 workspace_rule.md;若无现成规范,工作空间管理员可直接向 Agent 发送“帮我初始化工作空间规范”,Agent 会基于内置模板自动生成一份 workspace_rule.md,团队可在此基础上按自身情况裁剪:
规则的三层作用范围:
层级
作用范围
配置方
workspace_rule.md
整个工作空间所有成员、所有会话
空间管理员
会话级上下文
当前会话
任意用户
单条 Prompt 内的临时要求
单次请求
任意用户
workspace_rule.md 可持续演进:使用过程中新发现的约定、踩坑经验,工作空间管理员可随时让 Agent 追加,立即生效。

三、推荐工作流程

以下流程适用于从 0 到 1 建设数仓或开展数据工程项目,可按需裁剪。

Step 1 · 摸底数据源与核心业务表

让 Agent 列出当前工作空间已连接的数据源,并指定业务主题关键词(如“订单相关表、组织架构表”)过滤重点表。
说明:
示例 Prompt:查看该数据源下的库表,重点关注 业务主题关键词 相关的表。

Step 2 · 方案先行:由 Agent 读懂用户需求并输出方案

这一步的关键是把需求说清楚:Agent 只能基于你提供的信息做设计,信息不足时它会自行假设,方案就容易跑偏。建议一次讲明:
要什么数据:业务背景、分析或应用目标、最终要看到的结果
数据怎么处理:清洗过滤规则、去重逻辑、统计口径、异常处理方式
已有约束:可用源表、调度时间、命名与分层规范
业务口径、编码规则、指标定义等背景知识,可提前维护到知识库并在对话中引用,Agent 理解会更准确。
需求明确后,让 Agent 输出方案文档(.md,存入 Studio),人工 Review 通过再写代码、创建任务——方向错了改文档成本很低,代码写完再改则要重来。
注意:
Review 时重点核对:需求理解是否准确、口径是否一致、分层与依赖是否合理。有问题就用简短指令让 Agent 改(如“将 DWS 层的时间窗口从周改为月”),确认后再进入下一步。

Step 3 · 按方案生成实现产物

方案确认后,直接下发指令:
说明:
示例 Prompt:方案已确认,请严格按方案文档 路径 实现。
生成期间建议同步检查产出质量:对照方案核对清洗过滤、分区、命名等逻辑,发现问题用简短指令修正(如“请使用 _di 后缀,而非 _daily”)。

Step 4 · 任务调试运行与 Agent 自诊断

调试运行任务;如遇报错,可将以下信息一并提交给 Agent,由其查询日志、定位问题并修复:
任务名称
ExecutionId

Step 5 · 数据出湖(可选)

若存在下游 BI、高性能查询或业务库消费诉求,可将 ADS 层数据分发至外部系统。建议在验证数据准确性之后再执行,避免将存疑数据推送至下游:
说明:
示例 Prompt:检查工作流 <名称>,将其中产出的 ADS 层数据出湖至 <目标系统>,创建对应的出湖任务并加入工作流,按日调度。

Step 6 · 拓展至数据科学场景(可选)

基于已落地的 DWD/DWS 层,可让 Agent 为算法场景设计数仓侧资产(样本表、特征加工、打分表、监控表及调度串联)。模型训练、调参、评估与部署可在 Notebook 中由 Agent 辅助生成 Python 代码完成。

Step 7 · 配置定时任务,让 Agent 自动巡检与汇报(推荐)

数仓上线后,日常的运行巡检、异常发现与汇报可以交给定时任务:Buddy 会在预设时间自动触发一次 AI 会话,按配置好的 Prompt 与 Skills 执行,并产出报告。其本质是“定时触发的 AI 对话执行机制”。
创建方式:在 Buddy 左侧导航栏进入“定时任务”,点击 + 新建 手动配置,或 从模板添加 挑选场景模板。

四、代码生成相关设置

Agent 生成代码后可以自动完成“校验、运行、修复”的闭环。以下两个开关均在 工作空间设置 > 个人 > 偏好 中配置。

1. SQL Explain 语法校验

Agent 在生成 SQL 后,自动拼接 EXPLAIN 提交引擎做语法校验,校验失败时自动诊断并修复。
好处:SQL 交付前即暴露语法、语义错误,减少任务运行阶段失败与人工排查成本,提升产出可用率。
代价:每次生成多一道校验环节,产出 SQL 的耗时会变长,并占用少量引擎资源;且 EXPLAIN 只能校验语法与执行计划,无法保证业务逻辑正确。

2. 代码自动运行与修复

适用场景:在 Studio 模块的编辑页面中打开某一个代码文件(如 Notebook、SQL 文件)时,Buddy 对该文件内生成的代码自动触发运行,报错后自动诊断与修复。需注意一次仅作用于当前编辑器打开的那 1 个文件。
好处:
省去“生成、手动运行、复制报错、手动修复”的循环,实现无人值守的闭环调试。
运行过程与进度可在页面上实时看到,无需切换到运维模块查看执行状态。
代价:生成的代码会被自动执行,建议仅在开发、测试环境开启;多轮自动修复会增加耗时与 Token 消耗。
说明:
建议组合:开发阶段两个开关均开启,让 Agent 自证代码可运行;面向生产环境时保留 SQL Explain 校验、按需关闭自动运行。

五、提升产出质量的关键实践

1. 控制会话轮次,避免上下文膨胀

同一会话内 Agent 会保留上下文,前置分析过的表结构、生成的 DDL 在后续追问中无需重复说明。但轮次过多会导致上下文膨胀,进而增加幻觉风险。
建议:单个会话的对话轮次控制在 30 轮以内;超过后新建会话继续,并通过以下方式把关键上下文外置,避免重新铺垫:
将已确认的方案、口径与结论沉淀为 Studio 中的方案文档,新会话中直接引用文档路径。
将长期复用的业务知识与规范写入知识库和 workspace_rule.md,由 Agent 自动加载。

2. 用知识库沉淀业务知识

行业黑话、业务编码规则(如“v18 代表某车型”)等业务知识,建议维护到知识库中,使用时(如代码生成)引用该知识库,可显著提升产出准确性。

3. 发现偏离时用简短指令拨正

发现 Agent 产出偏离方向时,通过简短明确的指令拨正(如“请使用 _di 后缀”“DWS 层时间窗口从周改为月”),不建议人工接手重写——这正是上述原则的体现。

六、常见问题与避坑清单

1. 任务需完成“保存、发布”两步:仅保存的任务在工作流中无法被选中,这是常见遗漏。
2. Agent 生成的 SQL 先在开发环境验证,不建议直接投放生产。

七、Prompt 模板速查表

以下模板可直接复制使用,尖括号 <> 部分替换为实际值即可。

1. 探查数据源

查看该数据源下的库表:<数据源名>
重点关注:<业务主题关键词>

2. 分析表结构与业务含义

帮我分析以下几张表的关系与业务含义:
- <全限定表名 1>
- <全限定表名 2>
- <全限定表名 3>

请输出:
1. 每张表的业务含义与数据粒度
2. 主键、时间字段与增量更新字段
3. 表之间的关联键与数据链路
4. 常见联合分析场景
5. 如信息不足无法判断,请标注判断的置信度
说明:
该分析也可与下方模板 3 合并,让 Agent 在方案文档中一并输出对原始表的解读,减少一轮对话。

3. 输出设计方案文档

针对以下需求,先不要写 SQL、不要建任何任务,请在 Studio 里新建方案文档:
/Workspace/Users/<账号>/plans/<方案名>_设计方案.md

方案需包含:
1. 需求理解
2. 核心原始表的解读(业务含义、粒度、主键与增量字段、表间关联键)
3. 输入表、输出表清单(分层、命名、粒度、字段要点)
4. 上下游依赖与调度时间
5. 关键口径与业务规则
6. 数据风险与回滚策略
7. 分阶段实现计划

需求:<业务需求>

方案完成后暂停,等待人工 Review,不要开始实现。

4. 报错诊断

该 <SQL / Notebook / 工作流任务> 运行报错,请协助诊断并修复:
JobId:<jobId>

5. 数据出湖

检查工作流 <工作流名称>,将其中产出的 ADS 层数据出湖至 <COS / ClickHouse / MySQL>,
创建对应的出湖任务,并将出湖任务节点加入该工作流,按日调度。

6. 数据科学场景的数仓建模

基于 <DWD/DWS 层的表>,搭建「<预测场景>」的数仓侧 ML 数据资产:
1. 样本表:以 <时间窗口> 为窗口标注标签(含标签口径)
2. 特征加工:<特征主题清单>
3. 打分表:模型输出结果落表(供 Notebook 训练结果回写)
4. 监控表:<监控指标> 趋势监控

命名遵循 ads_ml_ 前缀,分区字段 dt,业务日期使用 $(yyyy-MM-dd-1d)。
请输出:DDL + 加工 SQL + Workflow 调度建议。
说明:
该模板用于生成机器学习场景的数仓侧资产(样本表、特征加工、打分表、监控表),不包含模型训练本身。模型训练、调参、评估与部署可在 Notebook 中由 Agent 辅助生成 Python 代码完成。

7. 基于团队既有规范生成 workspace_rule.md

已上传团队现有的数据规范文档:
- <数据仓库分层与建模规范>
- <指标定义与口径手册>
- <SQL 编码与调度规范>
- <数据治理与安全规范>

请阅读上述文档,提炼其中可作为 Agent 行为约束的条目,
生成符合 DataBuddy workspace_rule.md 格式的规则文件。

要求:
1. 按主题分节:数仓分层、命名规范、时间参数、环境隔离、加工约束、
数据接入、指标口径、敏感字段与脱敏、高危操作
2. 每条规则须可执行、可校验,避免笼统表述
3. 若规范中缺失关键项(如时间参数、幂等性、分区约定),
标记为「建议补充」并给出推荐做法
4. 输出结果直接可写入 workspace_rule.md

8. 定时巡检与运行日报

每天早上 08:00,汇总昨天数仓运行情况,输出一份运行日报:
1)成功、失败的任务数,并列出失败任务清单(任务名、JobId、ExecutionId、
错误摘要与初步归因);
2)运行时长 Top 5 的任务及环比变化;
3)各层产出表的分区写入量与空分区检查;
4)开头给出一句话结论与风险等级(高、中、低),
结尾给出待处理事项及建议动作;
5)以 Markdown 保存到 Studio 的 /reports/daily/ 目录,
命名为 daily_report_$(yyyy-MM-dd-1d).md。
说明:
该模板用于配置定时任务,详情请参见 Step 7 · 配置定时任务,让 Agent 自动巡检与汇报。