DataWorks智能体Agent:用自然语言重构数据开发工作流

DataWorks智能体Agent基于MCP协议,通过自然语言驱动数据开发。告别繁琐配置,Data Studio进入“语义理解”时代!

原文标题:智能体Agent:怎样用自然语言重构数据开发?

原文作者:阿里云开发者

冷月清谈:

本文介绍了如何利用阿里云DataWorks的智能体Agent,通过MCP协议和自然语言交互,实现数据集成和数据开发的自动化。传统数据开发繁琐低效,DataWorks Agent通过MCP协议,将DataWorks OpenAPI封装成易于调用的工具(Tools),用户可以通过自然语言指令完成数据同步、节点创建和任务运维等复杂操作,无需在平台UI中反复查找功能。文章还详细介绍了MCP协议的核心概念和DataWorks MCP Server的配置方法,并以Hologres MCP Server为例,演示了如何通过自然语言指令实现数据源设置和数据同步任务。

怜星夜思:

1、DataWorks Agent中提到的MCP协议,相较于传统的API调用方式,它到底优势在哪?为什么说它能降低AI应用开发门槛?
2、DataWorks Agent目前主要集中在数据集成和数据开发,未来它在数据治理和任务运维方面还有哪些想象空间?
3、文章提到DataWorks Agent支持配置不同的LLM模型,那么不同的LLM模型对Agent的性能和效果会有什么影响?在实际应用中,应该如何选择合适的LLM模型?

原文内容

阿里妹导读


本文分享如何基于利用MCP协议,配置MCP Server,以调用大数据开发与治理平台DataWorks Open API搭建智能体Agent,实现通过自然语言完成数据集成与数据开发等任务。文章还介绍了MCP协议的基本知识,帮助大家了解背后实现原理。大家可以通过自行配置体验数据工作流智能自动化运行。


一、前言

您是否常常为数据集成的繁琐配置而烦恼?是否因为数据开发的手撕SQL语句而头疼呢?传统的数据开发工作就像在迷宫中穿行,据统计,开发者平均每天执行137次点击操作,60%时间消耗在功能检索而非核心逻辑,效率十分低下。试想:如果能够有一个平台,通过自然语言输入就能智能化自动创建和运行数据集成和数据开发任务就好了。现在,阿里云大数据开发治理平台DataWorks的智能体Agent(基于MCP协议)即可实现这个想法,下面让我们来了解下具体实现方式吧!

二、什么是MCP?

Model Context Protocol(MCP)是人工智能领域提出的一种标准化协议框架,其全称“Model Context Protocol”直译为“模型上下文协议”。该协议的核心目标是为大模型(如超大规模语言模型、多模态模型等)提供统一的上下文接口标准,使其能够无缝连接外部数据源、工具和服务。通过标准化的数据交互规范和功能调用机制,MCP打破了传统AI系统中模型与外部资源之间的“孤岛效应”,使模型能够像调用自身内置功能一样灵活地利用外部资源。

该协议通过定义四⼤核⼼原语实现交互标准化:

1. 资源(Resources):结构化数据⽚段,如实时⾏情数据、历史报表等,为大模型提供决策依据;

2. ⼯具(Tools):封装的可执⾏函数,⽀持 SQL 查询、可视化渲染等专业操作;

3. 提示(Prompts):预定义的任务指令模板,引导 LLM ⽣成符合业务规范的输出;

4. 采样(Sampling):异步调⽤机制,允许服务器向 LLM 请求多轮推理结果。

其设计理念可类比软件开发从汇编语言到高级语言的演进,通过协议抽象降低AI应用开发门槛。

DataWorks MCP Server基本介绍

基本架构

DataWorks新版数据开发DataStudio的个人开发环境,在阿里云原生的能力上搭建了用户专属的开发环境,环境中内置了VSCode客户端,登录DataWorks后可通过浏览器访问,您可以选择安装MCP Client插件(如Cline),通过配置DataWorks开源的MCP Server,输入指令即可完成DataWorks的数据开发运维等动作。

基本概念

  • DataWorks个人开发环境:DataWorks提供的云原生开发环境,一个用户专属可控的安全的操作系统。

  • alibabacloud-dataworks-mcp-server:DataWorks开源的MCP Server,实现了DataWorks OpenAPI的封装。

  • DataWorks OpenAPI:DataWorks各模块提供的开放API,支持用户完成对DataWorks上资源的管理。

如上图所示,个人开发环境本质上是用户在DataWorks上创建出来的一台服务器,除了DataWorks的开发运维,还能安装开源生态的各种插件,比如:

  • 通过filesystem实现对文件的读写操作。

  • 通过git实现对Git工作空间的git操作。

不局限于此,还可以添加各种开源的mcp servers到个人开发环境。

DataWorks智能体Agent是什么?

阿里云大数据开发治理平台DataWorks基于MCP协议搭建的DataWorks 智能体Agent,内置 DataWorks MCP Server V1.0,支持在DataWorks Data Studio中通过自然语言交互来自动化操作DataWorks上的产品功能,完成数据集成、数据开发等一些复杂的操作,使得Data Studio平台实现了从"工具操作"向"语义理解"的演进。

DataWorks Agent ,现已支持将 DataWorks 数据集成、数据开发、任务运维相关的OpenAPI作为Tools的DataWorks MCP Server,可为开发者提供智能Agent服务,开发者无需再到平台UI中到处查找功能界面,给出自然语言指令即完成相关工作,“所言即所得”,大大提升了工作效率和体验。

DataWorks Agent 核心功能

DataWorks Agent当前支持通过自然语言指令自动化创建和启动实时/离线数据同步任务,一键查看同步任务配置信息和执行概况;支持快速批量创建和修改数据开发节点,避免了用户繁琐重复的机械性操作;支持运行任务的智能分析,针对需要重跑的任务自动化执行重跑操作,有效提升任务运维的效率。

现在,DataWorks Agent正全面推进面向数据开发、数据治理、任务运维等场景应用能力的上线,未来,DataWorks将具备开发者通过使用自然语言即可完成数据开发与治理全链路的能力,真正进入数据开发与治理的新纪元。

如何配置DataWorks MCP Server

1、没有个人开发环境
  • 安装并启动个人开发环境实例,镜像选择dataworks-mcp:py3.11-ubuntu22.04

参考地址:https://help.aliyun.com/zh/dataworks/user-guide/serveride/#a47aea58f20q0?utm_content=g_1000403230


安装并启动个人开发环境实例

2、已有个人开发环境升级
  • 打开terminal,执行以下脚本:

wget https://nodejs.org/dist/v20.19.0/node-v20.19.0-linux-x64.tar.xz
tar xf node-v20.19.0-linux-x64.tar.xz
mv /etc/dsw/node /etc/dsw/node14
mv node-v20.19.0-linux-x64 /etc/dsw/node

bash <(curl -s https://dataworks-notebook-${REGION}.oss-${REGION}.aliyuncs.com/public-datasets/aone-release/dwcode-server/scripts/update.sh)  0.2.169

  • 刷新页面后,从VSCode的应用市场搜索Cline进行安装


3、配置LLM APIKey,支持您配置使用不同的LLM模型(此处以阿里云百炼的API为例)

完成模型配置。

4、安装MCP Servers
通过界面打开DataWorks MCP Server的配置界面-Configure MCP Servers。

在配置界面填入如下配置,注意修改其中的REGION信息:

{
  "mcpServers": {
    "alibabacloud-dataworks-mcp-server": {
      "command": "npx",
      "args": [
        "alibabacloud-dataworks-mcp-server"
      ],
      "env": {
        "REGION": "cn-beijing",
        "ALIBABA_CLOUD_CREDENTIALS_URI": "http://localhost:7002/api/v1/credentials/0",
        "TOOL_CATEGORIES": "SERVER_IDE_DEFAULT"
      },
      "disabled": false,
      "autoApprove": [],
      "timeout": 60
    }
  }
}

看到如下加载成功的Tools可确认alibabacloud-dataworks-mcp-server已安装成功:

在任务界面,您可以输入“我有哪些工作空间?”开始测试

图片

进阶玩法:安装其他MCP Servers进行探索

您可以参考mcp-servers安装其他的MCP Servers到个人开发环境。参考地址:https://github.com/modelcontextprotocol/servers/

实操演示

目前,DataWorks Agent支持安装并启用应用市场的多种MCP Server,接下来我们以Hologres MCP Server为例,演示如何使用DataWorks Agent实现为Hologres数据源设置实时数据同步任务,并在完成数据同步的基础上对Hologres的数据进行查询和分析。

目前,参与DataWorks Data Studio新版公测即可使用DataWorks Agent,欢迎使用DataWorks产品进行体验!

点击阅读原文开始体验吧~

我觉得数据治理方面,Agent可以根据数据质量规则,自动识别并修复不规范的数据,比如自动清洗空值、格式化日期、校验字段类型等。还可以自动生成数据血缘关系,帮助我们理解数据的来源和流向,更好地进行数据管理。这绝对能大幅提升数据治理效率!

任务运维方面,我更期待Agent能够实现智能监控和预警。比如,当任务运行时间超过预期时,Agent可以自动发出告警,并尝试自动诊断问题原因。甚至可以根据历史数据,预测任务失败的概率,提前进行干预,防患于未然。如果真能做到这些,运维同学就可以告别996了!

选择LLM模型还需要考虑成本因素。一些强大的模型可能需要更高的计算资源和API调用费用。因此,需要在性能、效果和成本之间进行权衡,选择一个性价比最高的模型。初期可以先尝试一些开源模型,后期再根据实际需求选择更高级的商业模型。

楼上说的有道理!补充一点,MCP协议的标准化也意味着更好的可扩展性和互操作性。不同的模型、数据源和服务都可以通过MCP协议进行无缝连接,形成一个统一的生态系统。这对于构建复杂的AI应用来说非常重要,因为开发者可以更加灵活地选择和组合各种资源,而无需担心兼容性问题。想象一下,以后开发AI应用就像搭积木一样简单,岂不美哉!

MCP协议的优势不仅仅是降低开发门槛。更重要的是,它将“人”从繁琐的底层操作中解放出来, 让人可以专注于更重要的创造性工作!你想啊,以前为了跑一个数据同步,头都要秃了,现在只要说一句“把A表同步到B表”,剩下的交给Agent就行了。这种效率的提升是巨大的,让我们有更多的时间去思考数据背后的业务价值。

感觉MCP协议的核心优势在于其“模型上下文”的设计理念。传统的API调用通常需要开发者了解底层的接口细节,并编写大量的代码进行数据格式转换和功能组装。而MCP协议通过对资源、工具、提示和采样等关键概念的标准化,将这些复杂性抽象出来,开发者只需要关注业务逻辑,用自然语言进行交互,Agent就能理解并执行。这就像从汇编语言到高级语言的飞跃,极大地降低了开发门槛。

这个问题很关键!不同的LLM模型在理解能力、推理能力和生成能力上都存在差异,这直接影响到Agent的性能和效果。例如,如果Agent需要处理复杂的自然语言指令,那么就需要选择一个理解能力更强的模型。如果Agent需要生成高质量的报告,那么就需要选择一个生成能力更强的模型。

除了模型本身的能力,模型的训练数据也很重要。如果模型在数据集成和数据开发领域的数据上训练得更多,那么它在处理相关任务时就会更加得心应手。因此,在选择LLM模型时,需要考虑其训练数据的覆盖范围和质量。

不如脑洞再大一点!Agent能不能结合业务知识,进行智能化的数据分析?例如,自动识别关键业务指标,并根据指标的变化趋势,生成分析报告。甚至可以根据报告结果,自动提出改进建议,帮助业务部门更好地进行决策。如果Agent能进化成一个“数据分析师”,那价值就太大了!