Data Engineering Agent 安全操作指南
Data Engineering Agent 可以帮助用户探查数据、生成任务、配置调度、发布作业和诊断失败。不同操作对环境的影响不同,使用前应先区分操作类型,并在高影响操作前确认对象、范围和后果。
安全使用的核心原则是:先探查,再生成方案;先创建草稿,再确认运行;先检查影响,再发布或重跑。
操作风险分级
| 级别 | 操作类型 | 是否改变环境 | 使用建议 |
|---|---|---|---|
| 低风险 | 查看表结构、样例数据、任务配置、运行历史 | 否 | 可作为 Agent 理解上下文的第一步 |
| 中风险 | 创建 Studio 草稿任务、修改任务内容、保存调度配置 | 是 | 需要确认任务名、目录、SQL 类型和配置内容 |
| 高风险 | 运行写入 SQL、发布调度、重跑、补数、下线、删除 | 是 | 必须先检查影响范围并请求确认 |
只读 SQL 本身不会写入数据,但创建 Studio 草稿任务会修改任务树;保存调度配置不会进入调度系统,但发布任务会让任务按计划触发。用户应分别确认这些动作。
即使是不写 Lakehouse 数据的元数据变更,也不应只看“创建成功”提示。创建任务、创建组合任务、创建 DQC 规则、保存调度配置后,都应继续复核对象是否真的落在正确位置、正确目录和正确配置中。
只读探查
只读探查用于让 Agent 理解上下文,包括:
- 查看表结构和字段类型
- 查看少量样例数据
- 查看任务目录和任务配置
- 查看运行历史和错误摘要
- 查看可用的 catalog、schema、VCluster
推荐提问:
只读探查适合放在所有复杂操作之前。不要在不了解表结构、字段含义和任务目录的情况下直接创建生产任务。
创建草稿任务
创建草稿任务会在 Studio 任务树中新增任务,因此属于环境变更,但它不会自动执行 SQL,也不会自动进入调度系统。
创建前应确认:
- 任务名称
- 任务目录
- 任务类型
- SQL 是只读、建表、插入还是覆盖写入
- 是否创建目标表
- 是否配置调度
- 是否发布
推荐提问:
如果目标目录尚未创建,建议先在 Studio 中创建目录,再让 Agent 创建任务草稿,不要让任务落到默认目录。
如果创建的是组合任务或多节点任务,还应在创建后复核:
- DAG 中是否真的存在节点
- 依赖边是否已经建立
- 节点内容是否已经写入组合任务内部
不要把“对象创建成功”和“节点依赖配置完成”视为同一件事。
运行任务
运行任务前,应先判断任务代码是否会改变数据。
| SQL 类型 | 影响 |
|---|---|
| 通常只读取数据 |
| 会创建目标表 |
| 会追加写入目标表 |
| 可能覆盖目标表或分区 |
/ | 会修改已有数据 |
推荐提问:
只有确认影响范围后,再要求 Agent 运行任务。
保存调度与发布任务
保存调度配置和发布任务是两个不同动作。
| 动作 | 含义 | 是否进入调度系统 | 是否会按计划运行 |
|---|---|---|---|
| 保存调度配置 | 保存 Cron、重试、超时、依赖等参数 | 否 | 否 |
| 发布任务 | 将任务发布到调度系统 | 是 | 是 |
| 取消发布 | 从调度系统移除任务 | 否 | 否 |
发布前应确认:
- Cron 表达式
- VCluster
- 重试次数和间隔
- 超时时间
- 上下游依赖
- 是否会立即运行
- 下一次计划运行时间
- 如何暂停或取消发布
推荐提问:
创建 DQC 规则也要复核
创建 DQC 规则通常不会写业务数据,但会修改治理元数据,因此仍属于环境变更。
创建后建议复核:
- 规则类型,例如
、空值、去重、自定义 SQLtable_count - 检查对象是否正确
- 阈值是否正确
- 强弱/阻塞级别是否符合预期
- 触发方式是否正确,例如手动 REST 触发还是调度联动
如果只是做测试规则,建议使用明显的测试名称,并在验证后删除。
重跑、补数和删除
重跑、补数和删除都可能影响业务数据或下游任务,不能直接执行。
执行前应检查:
- 根因是否已经修复
- 是否存在部分写入
- 是否会造成重复数据
- 是否有下游任务依赖
- 是否需要先取消发布
- 是否需要保留运行记录或审计证据
推荐提问:
