☰
取数、清洗、建表、校验,哪些数开工作已经可以交给Agent?
2026/9/26 5:01:06 网站建设 项目流程

过去做一个数据需求,通常要经历一整套流程:

理解需求 → 找表找字段 → 写SQL取数 → 清洗加工 → 建表 → 校验 → 上线。

真正耗时间的,往往不只是写SQL,而是不断确认:指标怎么算、数据从哪里来、异常怎么处理、结果为什么对不上。

Agent出现以后,这条链路正在发生变化。

过去大模型更多是“帮你写一段SQL”,现在Agent开始能够围绕一个任务连续完成理解需求、寻找数据、生成处理逻辑、调用工具、检查结果,甚至继续排查异常。

这意味着,数据开发正在进入一个新的阶段:很多过去必须人工逐步完成的工作,开始具备被Agent接手的条件。

在正式展开之前,我整理了一套《“AI+”场景落地实战白皮书》,如果正在做数据集成、数据开发,或者关注AI进入数据工作后的应用方式,可以结合文章一起参考。

需要自取:https://s.fanruan.com/hti40(复制到浏览器)

但真正值得讨论的,不是“Agent会不会做数据开发”,而是:

取数、清洗、建表、校验,到底哪些工作已经可以交出去,哪些只能半自动,哪些现阶段仍然不能放权?

判断标准其实只有四个:

任务是否确定、结果能否验证、错误影响有多大、执行权限有多高。


一、取数:Agent已经能做很多,真正难的是“允许它查到哪里”

取数可能是目前最容易Agent化的一类数开工作。

业务提出一句:

查一下华东区最近三个月销售额下降最多的20个客户。

过去数据开发要自己完成:

找订单表、找客户表、确认组织关系、判断关联字段、理解销售额口径、写SQL、执行查询。

如果Agent能够访问元数据、数据字典和查询工具,这套过程已经可以变成:

理解问题 → 搜索表和字段 → 判断关联关系 → 生成SQL → 执行 → 检查结果。

所以,像这些工作已经非常适合先交给Agent:

  • 根据业务问题寻找相关表;

  • 根据字段说明定位指标来源;

  • 自动生成SELECT、JOIN和GROUP BY;

  • 根据数据库报错修改SQL;

  • 解释复杂SQL;

  • 对明显低效的查询给出优化建议。

但企业真正应该担心的,并不是Agent“会不会写SQL”。

而是:

这条SQL到底能不能执行。

假设Agent拿着生产库高权限账号,业务人员一句“分析一下今年所有客户”,可能直接触发几十亿行扫描;一个错误的多对多JOIN,也可能让查询结果迅速膨胀。

更麻烦的是权限。

业务人员有权看华东区数据,不代表Agent就应该拥有全国数据权限。

所以企业里的Agent取数,合理链路应该是:

自然语言 → 身份与权限判断 → 已治理的数据范围 → 受控SQL → 执行 → 结果校验。

这也是为什么Agent越往企业生产环境走,越需要已有的数据集成和数仓体系。

如果ERP、CRM、MES等系统的数据已经通过FineDataLink按照固定频率同步到数仓或分析库,Agent就没必要为了回答一个临时问题,再逐个连接业务系统。

日常的数据源连接、增量同步、任务调度继续留在固定的数据开发链路中;Agent面对的是已经准备好的分析数据,负责判断这次应该查哪些表、怎样组织SQL。

这样,两类职责就能分开:

Agent解决“一次问题怎么取数”,FineDataLink解决“数据长期怎么稳定到达”。

这也是Agent真正进入企业数据环境的前提之一。


二、清洗:Agent擅长把规则写出来,但不能替企业决定什么叫“正确”

清洗同样很适合Agent参与。

一张客户表里可能同时存在:

  • “浙江”“浙江省”“ZJ”三种省份写法;

  • 日期格式不统一;

  • 手机号包含空格和特殊字符;

  • 金额字段混入字符串;

  • 同一身份证号对应多个客户ID;

  • 某个字段空值率突然从1%升到20%。

面对这类问题,Agent可以快速完成数据剖析,再生成对应的SQL或者Python逻辑。

例如:

格式标准化、类型转换、字符串处理、空值检测、基础去重、异常值识别、规则代码生成。

这类工作的共同特点是:

规则一旦明确,代码本身并不难。

真正困难的是规则从哪里来。

  • 订单金额为负,到底是错误,还是退货?、

  • 库存数量小于0,是数据质量问题,还是企业业务允许负库存?

  • 一个客户有三个手机号,到底应该保留最新的、最常用的,还是全部保留?

  • 同一统一社会信用代码对应两个客户名称,能不能直接合并?

这些问题并不存在一个“AI凭常识就能得出的正确答案”。

它们依赖的是企业自己的:

主数据规则、业务流程、历史口径和责任机制。

因此,清洗工作的Agent化应该分成两层。

第一层,由人确定:

哪些情况属于错误,哪些只是异常;出现冲突以后以谁为准。

第二层,再由Agent把这些定义转换成可执行的数据处理逻辑,并辅助检查处理结果。

所以Agent真正擅长的,并不是“把一堆脏数据自动洗干净”。

而是:

把已经明确的数据标准,快速翻译成SQL、Python或者ETL规则。

这也是为什么企业数据标准越混乱,Agent反而越难真正发挥作用。


三、建表:DDL已经不是难点,真正难的是“为什么要这样建”

如果只是告诉Agent:

建一张客户月度销售汇总表,包含月份、客户ID、收入、销量、订单数和毛利。

它生成字段名、字段类型、注释、DDL和基础加工SQL,已经没有太高门槛。

但这并不意味着“数据建模也可以全部交给Agent”。

因为真正的数据建模首先要回答:

一行数据到底代表什么?

是:

  • 客户+月份?

  • 客户+产品+月份?

  • 还是客户+区域+产品+月份?

粒度不同,后面的指标计算、数据量、查询性能和使用方式都会不同。

继续往下,还会遇到更多问题:

  • 客户从华东调到华南以后,历史订单算哪个区域?

  • 订单今天完成,明天退款,汇总表如何更新?

  • 客户属性发生变化,要不要保留历史版本?

  • 每天新增数百万订单,是全量重算还是增量更新?

  • 同一个销售额指标出现在不同主题表里,口径怎样保持一致?

所以必须区分两件事:

Agent会建表,不等于Agent会做数据建模。

现阶段更合理的做法,是让Agent读取已有模型、字段规范、数据字典和需求文档,先生成:

模型草案 → 字段设计 → DDL → 加工SQL → 测试SQL。

数据开发人员重点审核:

粒度、主键、历史策略、增量方式、模型关系和指标口径。

审核通过以后,再把确定的数据加工链路落到FineDataLink里长期运行。

这里FineDataLink承接的已经不是“一次SQL查询”,而是数据同步、转换、任务依赖、调度周期、失败重跑等生产链路。

Agent可以帮助开发人员更快生成和修改逻辑,但生产环境不能每次运行之前都让Agent重新理解一遍:

“今天这个任务应该怎么跑。”

因此:

Agent解决“这次怎么开发”,数据开发平台解决“以后每天怎么稳定执行”。

这条边界非常重要。


四、校验:可能是比自动写SQL更值得优先Agent化的工作

很多人讨论数据Agent,第一反应是:

让它自动写SQL。

但从实际的数据开发流程来看,校验反而可能是更值得优先Agent化的一类工作。

因为大量数据校验具有两个特点:

规则相对明确,而且结果容易验证。

例如一张销售汇总表上线以前,至少可以检查四个层次。

结构校验

检查:

  • 字段是否缺失;

  • 数据类型是否变化;

  • 主键是否重复;

  • 必填字段是否为空;

  • 上游字段是否发生Schema变更。

数量校验

昨天源表新增100万条,目标表为什么只有82万条?

某张表平时每天新增5000条,今天突然只有300条,问题出在哪里?

数量的异常波动,往往是数据链路出错最早出现的信号。

业务逻辑校验

例如:

  • 发货时间不能早于下单时间;

  • 折扣率应该位于合理范围;

  • 已完成订单金额原则上不能为0;

  • 订单客户ID必须能关联到客户主数据;

  • 订单状态之间必须符合业务流转顺序。

结果对账

这是很多团队最容易忽略的一层。

源系统当天销售额1.26亿元,数仓为什么只有1.21亿元?

以前遇到这种问题,开发人员往往需要自己一层层写SQL排查。

Agent则可以围绕差异继续拆:

哪个区域开始出现差异 → 哪个产品出现差异 → 哪类订单状态异常 → 哪张上游表数据量变化 → 哪个同步任务开始异常。

这样一来,校验不再只是:

“告诉你数据错了。”

而会逐渐变成:

“告诉你可能从哪里开始错。”

真正进入生产以后,可以把已经确认的质量规则放进FineDataLink的任务链路中固定执行;Agent则参与另外两件事情:

一是根据字段结构、历史分布和已有异常记录,补充新的检查建议;

二是在固定规则触发报警以后,继续读取上下游任务、SQL和运行信息,辅助定位问题原因。

这样才能形成一套更稳定的分工:

固定规则负责发现确定性问题,Agent负责处理不确定性排查。

否则每天都让Agent凭经验判断:

“今天的数据看起来有没有异常。”

这种方式很难成为真正的数据质量体系。


五、能不能交给Agent,核心不是“它会不会”,而是“做错以后怎么办”

所以判断一项数开工作能不能交给Agent,不能只看模型有多聪明。

更实用的方式,是看四件事:

结果能不能自动验证、异常能不能及时发现、执行能不能被阻断、失败能不能快速回滚。

按照这个标准,目前的数据开发工作大致可以分成三层。

第一层:已经可以大量交给Agent

包括:

找表找字段、生成查询SQL、基础格式处理、字段映射、测试SQL、DDL草稿、校验SQL、日志解释、报错分析。

它们的共同特点是:

任务相对明确、结果容易检查、失败影响有限。

这一类工作,未来很可能越来越少需要开发人员从零开始做。

第二层:Agent先做,人来审核

包括:

复杂清洗规则、指标加工逻辑、数仓模型设计、增量策略、历史数据回刷方案、复杂性能优化。

Agent完全可以给出第一版方案,甚至把大部分代码写出来。

但真正困难的是,这类问题往往不存在唯一答案。

例如一张亿级大表:

采用每日全量、按日期增量、CDC还是按业务状态回刷,都可能实现需求。

最终选择哪个方案,需要综合考虑:

数据规模、延迟要求、数据库压力、开发成本和后续维护成本。

这已经不是“会不会写代码”,而是架构取舍。

第三层:Agent只能提供建议,不应该直接放权

包括:

删除生产表、修改核心指标口径、调整数据权限、大规模历史重算、覆盖生产数据、修改核心任务依赖。

原因并不是Agent绝对做不了。

而是:

这类操作一旦错误,影响范围可能已经超过自动校验能够兜住的程度。

所以企业真正需要建设的,不是一个“什么都能做、什么权限都有”的数据Agent。

而应该是一套:

Agent负责理解和生成,规则负责约束,数据平台负责执行,权限体系负责控制,人保留高风险操作的最终决策权。


结语

Agent进入数据开发以后,真正发生变化的,并不是有没有数据开发人员。

而是:

数据开发人员每天应该把时间花在哪里。

过去大量时间消耗在:

找字段、写重复SQL、修改格式、建临时表、写校验脚本、分析报错日志。

这些重复度高、规则明确、容易验证的工作,会越来越多地交给Agent。

人的工作则会继续向上移动:

定义业务口径、制定数据标准、设计数据模型、规划数据架构、管理数据权限、控制生产风险。

所以判断一项数开工作能不能交给Agent,可以记住一个非常实用的原则:

越确定、越重复、越容易验证,越适合交给Agent;越涉及业务定义、架构取舍和高风险生产操作,越需要人保留最终控制权。

未来的数据开发,大概率不会变成:

“Agent把所有工作自己做完。”

而会形成另一种协作方式:

人定义目标和边界,Agent承担大量具体开发动作,数据平台负责稳定执行,人只在真正需要判断的地方介入。

当这套分工真正跑起来以后,Agent带来的价值就不只是“少写几行SQL”。

而是开始重新分配整个数据开发链路里,人的注意力到底应该放在哪里。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询