数据开发 Agent

更新时间:
复制 MD 格式

数据开发 Agent(Data Coder Agent)是 DataWorks Data Agent 面向数据开发场景提供的资深数据专家智能体。它能够理解用户提出的开发任务,主动调用企业专属知识库,开展需求分析与数据探查,编写需求文档与技术设计文档,并完成多引擎代码编写、节点与工作流创建、运行与调度配置。通过自动调试与纠错,持续推进开发任务直至产出符合预期的数据,并按用户指示决定是否发布,实现从需求理解到数据交付的全流程自主闭环。

功能概述

数据开发 Agent(Data Coder Agent)是 DataWorks Data Agent 面向数据开发场景提供的资深数据专家智能体,由以下两个官方专家套件协同提供能力,将平台操作与引擎级代码开发整合到统一的开发流程中。

  • DataWorks 数据开发套件:提供数据开发流程编排与平台操作能力,涵盖需求分析、数据探查、需求文档与技术设计文档编写、数据上传、节点与工作流创建、运行与调度配置、执行排障及发布前检查与发布。

  • Data Coder Agent SQL 代码规范套件:提供各计算引擎的 SQL 语法规范、最佳实践及引擎 Coder 子智能体(Subagent),覆盖 MaxCompute、Flink、Hologres、EMR StarRocks、EMR Spark 和 EMR Hive。根据任务涉及的目标引擎,自动调用对应的子智能体与规范,完成代码编写与纠错,减少函数不兼容、分区误用、数据类型差异等问题。

您只需使用自然语言描述业务背景与开发诉求,Data Agent 即可结合企业专属知识库和实际数据环境,按需协调两个套件,推进以下流程:

需求理解 → 数据探查 → 需求与技术设计文档编写 → 节点与工作流创建 → 代码编写与运行配置 → 自动调试并纠错 → 数据产出 → 按用户指示发布

在开发过程中,Data Agent 自动衔接各阶段任务,传递上下文与中间结果,并根据执行反馈持续调试与纠错,实现从需求理解到数据交付的全流程自主闭环,无需您在不同 Agent 之间手动切换或传递中间结果。

核心能力

Data Coder Agent 结合 DataWorks 数据开发套件的平台操作能力与 Data Coder Agent SQL 代码规范套件的引擎级代码开发能力,统一协调需求分析、数据探查、方案设计、开发调试与发布交付。您可通过自然语言发起开发任务,无需在不同 Agent 之间手动切换或传递中间结果。

核心能力

说明

需求理解与分析

理解用户提出的业务背景与开发目标,结合企业专属知识库,梳理业务口径、预期产出与验收要求,澄清需求中的缺失和歧义,明确需要进一步探查的数据范围与开发对象。

数据探查与可行性分析

围绕开发需求,调用探查子智能体,确认数据源、目标表、字段、分区及相关开发对象,了解任务依赖、计算资源与调度配置。通过实际数据与元数据核实需求所依赖的数据条件,识别信息缺口和实现约束,为方案设计提供依据;必要时进一步澄清或调整需求。

需求文档与技术方案编写

基于需求分析与数据探查结果,编写需求文档与技术设计文档,明确业务口径、数据来源、加工逻辑、节点与工作流设计、运行与调度配置及验收标准,使文档与实际数据环境保持一致,为后续开发和验证提供依据。

多引擎代码开发

根据任务的目标计算引擎,按需调用对应的 Coder 子智能体与 SQL 规范技能,完成代码编写与修正。覆盖 MaxCompute、Flink、Hologres、EMR StarRocks、EMR Spark 和 EMR Hive,依据各引擎的语法规范与最佳实践处理函数、分区和类型系统差异,减少跨引擎方言错配。

节点与工作流开发

调用 DataWorks 平台能力,将开发方案落实为可执行的节点与工作流,完成任务依赖编排、运行参数及调度配置,并按需进行数据上传和资源、函数、组件管理,衔接代码开发与平台执行。

运行诊断与自动纠错

执行开发任务,根据运行日志、代码、元数据及依赖关系定位问题,协同平台排障能力与引擎 Coder 子智能体实施修复。通过“运行—诊断—修复—验证”的迭代过程,持续推进任务直至产出符合预期的数据。

产出验证与发布交付

检查任务执行结果与数据产出,结合需求和验收标准开展验证,并基于开发内容及运行结果进行发布前检查。按用户指示完成发布,衔接开发、验证与交付,形成从需求到数据产出的全流程闭环。

支持的计算引擎与 SQL 开发增强

数据开发支持范围

Data Coder Agent 基于 DataWorks 数据开发(Data Studio)开展开发任务。Data Studio 提供多种计算引擎节点,以及 Shell、Python 等通用节点,具体节点类型与适用范围请参见《节点开发概述》。不同版本、地域及任务形态下的节点支持情况可能存在差异,请以实际界面为准。

SQL 代码开发专项增强

在上述平台能力基础上,Data Coder Agent SQL 代码规范专家套件针对以下计算引擎新增 SQL 规范技能与 Coder 子智能体,增强代码编写与自动纠错能力:

  • MaxCompute(ODPS)

  • Flink

  • Hologres

  • EMR StarRocks

  • EMR Spark

  • EMR Hive

执行相关引擎的 SQL 开发任务时,Data Agent 按需调用对应的规范技能与 Coder 子智能体,结合已有规范资料处理引擎语法、函数、数据类型及分区等差异,减少方言错配,提升代码生成与修复的准确性和稳定性。

说明
上述列表表示 SQL 规范套件的专项增强范围,并非数据开发 Agent 的完整引擎支持列表,也不表示未列出的引擎不支持开发。各引擎的规范覆盖程度存在差异,生成的代码仍需结合实际环境运行验证。

前提条件

  • 产品开通:已开通 DataWorks,支持所有版本,无需升级至特定版本。

  • 实例状态:已创建并启动新版 Data Agent 实例,且实例状态为“运行中”。

  • 套件依赖:已开启 DataWorks 数据开发与 Data Coder Agent SQL 代码规范两个官方专家套件,且任务所需的技能处于开启状态。

  • 配置生效范围:开启或关闭专家套件及套件内技能后,变更仅对新建任务生效,不影响进行中的任务。如需应用变更后的配置,请新建任务。

计费说明

数据开发 Agent(Data Coder Agent)适用于 DataWorks 所有版本,使用费用按 Data Agent 的计费规则收取:

  • 已开通 Credit Plan 订阅且账号已绑定席位:优先抵扣该席位赠送的 Credits,额度用尽后,按实际使用量计费。

  • 已开通 Credit Plan 订阅但账号未绑定席位,或未开通订阅:直接按实际使用量计费。

详细信息,请参见《Data Agent 费用》。

开始使用

1. 进入 Data Agent

登录DataWorks 控制台,在左侧导航栏单击 Data Agent,进入 Data Agent。

2. 确认专家套件已开启

在左侧导航栏选择 扩展 > 专家套件,切换至 DataWorks 页签,确认以下两个官方专家套件及任务所需技能处于开启状态:

  • DataWorks 数据开发

  • Data Coder Agent SQL 代码规范

两个套件默认开启。如调整了套件或技能的开启状态,请新建任务,使配置生效。

3. 描述开发需求

单击 新建任务,使用自然语言描述业务背景、已有元数据、开发目标和预期产出。示例:

使用 MaxCompute,基于 ctlive_ods.ods_ctlive_trd_order_pay 表 在 my_project 项目下开发直播间商品成交数据的 DWS 汇总表,并组织为一个每日调度的工作流。请先梳理需求、探查可用数据,明确统计口径与加工方案,再开展开发。完成后验证数据产出,暂不发布。

您也可以在输入框中输入 @,引用专家套件、表、节点或代码文件等上下文;或输入 /,显式调用某个技能。详细信息,请参见扩展。

4. 澄清需求并确认方案

Data Agent 根据您的描述分析需求,探查相关数据与资源,再基于探查结果编写需求文档与技术设计文档。对于业务口径、数据来源或实现条件中的缺失与歧义,请根据提示补充信息,并确认需求与方案。

5. 执行开发与调试

方案确认后,Data Agent 协调完成代码编写、节点与工作流创建、运行与调度配置,并通过运行、诊断和修复持续推进任务。执行过程中,请按当前审批模式及页面提示确认相关操作;涉及破坏性操作等关键环节时,请核实操作范围与影响后再确认。

6. 验证产出并按需发布

查看任务执行结果与产出数据,确认是否符合业务需求和验收标准。如需发布,可继续向 Data Agent 下达发布指令,由其开展发布前检查,并在您确认后执行发布。

工作原理

数据开发 Agent 通过 Data Agent 主智能体、探查子智能体与引擎 Coder 子智能体协同完成开发任务。主智能体负责组织开发流程、传递上下文和执行平台操作;各专业子智能体负责数据探查、代码编写与修复等专项任务,共同衔接从需求理解到数据交付的完整流程。

专家套件协同

数据开发 Agent 的能力由以下两个官方专家套件协同提供。

专家套件

主要职责

DataWorks 数据开发

提供节点与工作流开发、任务执行、排障、数据上传及发布等平台能力。

Data Coder Agent SQL 代码规范

提供 SQL 语法规范、最佳实践及引擎 Coder 子智能体,针对 MaxCompute、Flink、Hologres、EMR StarRocks、EMR Spark 和 EMR Hive 增强代码编写与修复能力。

主智能体根据开发任务的需要调用相应能力,统一衔接各环节的输入与输出,无需用户在不同 Agent 之间手动传递中间结果。SQL 规范套件的专项增强范围不等同于数据开发平台的完整引擎支持范围。

数据探查与方案设计

在理解业务需求后,主智能体调用探查子智能体,核实开发所依赖的数据、开发对象和资源条件。

探查方向

主要内容

表与数据

识别目标表,确认字段、分区及数据源,澄清同名表等歧义。

开发对象与依赖

查找相关节点与工作流,了解任务依赖、上下游关系及调度配置。

计算与调度资源

了解项目数据源、计算资源、资源组及相关运行条件。

探查以只读方式进行,结果以结构化信息返回主智能体。主智能体基于需求分析与实际探查结果,进一步澄清信息缺口,再编写需求文档与技术设计文档,使开发方案建立在已核实的数据环境之上。

分层 SQL 规范

SQL 代码规范套件按“通用规范—语法分类—引擎特性”三个层次组织,为代码编写与修复提供依据。

  • 通用规范层:定义跨引擎通用的 SQL 编写规范与代码质量要求。

  • 语法分类层:按查询(DQL)、数据定义(DDL)、数据操作(DML)及 Script 模式等类别提供编写指引。

  • 引擎特性层:补充各引擎的原生语法、内置函数、类型系统、分区与索引等专属规则。

通过分层规范,兼顾通用开发要求与目标引擎差异,减少函数不兼容、类型使用不当和分区误用等问题。具体规范覆盖程度因引擎而异。

引擎识别与代码任务分派

执行 SQL 编写、建表、查询开发或代码修复任务时,主智能体先识别目标计算引擎,再加载对应的规范技能,并优先将代码任务分派给该引擎的 Coder 子智能体。

Coder 子智能体在独立上下文中,基于已确认的需求、表结构及相关规范完成代码编写或修复,并向主智能体返回结构化结果。目标引擎或必要的数据结构信息不明确时,先进行探查或向用户澄清,避免以其他引擎的语法和行为代替目标引擎规则。

**Coder 子智能体负责代码,不直接执行平台写操作。**代码保存、节点创建、试运行和发布等操作,由主智能体按照当前审批模式统一执行。

执行反馈与自动纠错

主智能体组织节点与工作流运行,并根据执行结果协调后续处理。运行出现问题时,结合日志、代码、元数据及依赖关系定位原因,再调用相应能力修复代码或调整配置,并重新运行验证。

这一过程形成 “运行—诊断—修复—再运行—产出验证” 的反馈闭环。各轮执行结果由主智能体持续衔接,为后续调试、产出验证和发布前检查提供依据。

操作确认与安全控制

数据开发 Agent 遵循新版 Data Agent 的交互式确认机制。平台操作按当前审批模式执行,规划确认、破坏性操作、发布上线及高代价操作等关键环节需根据提示由用户确认后继续。

自动化流程负责衔接任务与执行结果,不替代用户对关键操作的决策。完成开发与验证后,主智能体按用户指示开展发布前检查,并在确认后执行发布。