数据开发|浅谈ai在数据研发中的应用场景与边界
本文分两部分:前半部分梳理基础概念,后半部分分析它们在数据开发中的应用场景和边界。
第一部分:基础概念
LLM
LLM(Large Language Model)的核心机制是基于海量文本训练的 token 预测模型。给定一段上下文,模型计算下一个 token 的概率分布并从中采样生成后续文本。
基于这一机制,LLM 表现出两个基本特征:
擅长:文本生成、代码生成、翻译、摘要、问答——这些是统计语言建模的自然延伸
局限:模型内化的知识受训练数据截止时间的限制,对未知事实可能产生幻觉。推理能力因模型而异:早期版本在多步推理上表现较弱,随着思维链等技术的引入,新一代模型在数学与结构化推理上的准确率已有显著提升
RAG / Fine-tune / Pre-train
三者是递进关系,按"让 AI 获取知识的方式"从轻到重排列:
RAG(检索增强生成) — 把自己的资料喂给 AI,让它边查边答。不需训练,只需建立知识库并在提问时检索相关内容。适用于内部文档问答、数据字典查询。
Fine-tune(微调) — 用自己的数据重新训练基座模型的参数,让模型掌握新的知识或风格。需要标注数据,成本高于 RAG。适用于特定领域的术语、格式或风格(但微调不适用于注入事实性知识)。
Pre-train(预训练) — 从零开始,用海量数据训练出一个全新的模型。例如训练出 DeepSeek 系列模型。成本最高,仅模型厂商或大型研究团队适用。
对比:
RAG | Fine-tune | Pre-train | |
|---|---|---|---|
知识注入方式 | 检索外部文档 | 调整模型参数 | 从头训练 |
成本 | 低 | 中 | 极高 |
适用方 | 所有团队 | 有标注数据的团队 | 模型厂商 |
典型场景 | 内部文档问答 | 特定领域风格适配 | 训练新基座模型 |
Agent
标准 LLM 的交互模式是单轮请求-响应。Agent 在此基础上加入工具调用、任务规划、多步执行和结果验证。
流程:
用户指令 → 任务分解 → 选择工具 → 执行 → 获取结果 → 判断是否完成 ↓ 未完成 调整策略继续执行Agent 可调用的工具包括数据库连接、API 调用、文件操作、代码执行沙箱等。其能力不在于知道答案本身,而在于通过工具链逐步获取所需信息。
AI Agent 的三要素
大模型 + 私域知识/经验和方法 + 工具调用。
仅靠大模型只能完成文本生成。加上私域知识和工具调用后,Agent 才能解决实际问题。
Agent 按作业范围分级
级别 | 作业范围 | 说明 | 举例 |
|---|---|---|---|
原子能力 | 完成一次问答 | 基础 LLM 调用 | GPT-4.1、Claude 3.7、Gemini 2.5 Pro |
活动智能(Activity Agent) | 完成一个类型任务 | 封装了特定工具和规则 | 识别和抓取竞品数据、打标识别文本关键词、生成分析总结到文档 |
角色智能体(Role Agent) | 完成组合的一系列任务 | 类似 Manus 类产品 | 做一次竞品分析、做一个小游戏并发布上线 |
多智能体流程(Multi-Agent Process) | 完成多人协作的复杂任务 | 多个 Agent 分工协作 | 运营一家小游戏公司,Agent A 做广告引流,Agent B 做开发运维 |
数据开发中涉及的 Agent 主要在"活动智能"级别——完成某一类标准化任务。角色智能体和多智能体流程更适合产品、运营等跨角色复杂协作场景。
Function Call 与 MCP
让 Agent 调用外部工具,有两种方式:
Function Call — LLM 内置的能力。模型根据用户意图自行决定调用哪个函数、传什么参数。适用于简单的工具调用场景(查天气、做计算)。
MCP — 标准化协议。MCP Server 封装外部服务,MCP Client(Agent 端)通过统一协议发现和调用。优势在于每个服务只需封装一次,不同 LLM 平台共用同一套 Server。
架构:
┌──────────────────────────┐ ┌──────────────────────────┐ │ MCP Client(Agent 侧) │ ←协议→ │ MCP Server(服务端) │ │ 发现可用能力,调用工具 │ │ 暴露特定服务: │ │ │ │ SQL 执行、表结构查询、 │ │ │ │ 文件读写、消息发送等 │ └──────────────────────────┘ └──────────────────────────┘
Skill
Agent 发现工具有哪些之后,还需要知道——接到某一类任务时,按什么步骤、用什么工具、遵循什么规则来完成。Skill 就是这份结构化的行为指令文档。
目录结构
skill/ ├── .meta.json ← 注册信息 ├── skill.md ← 主文档:指令文档 ├── references/ ← 参考文档 ├── scripts/ ← 可执行脚本 └── examples/各文件职责:
.meta.json — 注册信息。name 表示 Skill 名称,description 定义触发时机
skill.md — 指令文档。包含参数表、执行步骤、SQL 模板、禁止规则、错误处理
references/ — 详细参考文档,如代码生成逻辑、字段定义 schema、示例
scripts/ — 可执行脚本。复杂逻辑拆出来,让 AI 按需读取
Skill 和 LLM、Agent、MCP 的分工:
概念 | 定位 |
|---|---|
LLM | 推理引擎 |
Agent | 任务执行者 |
MCP | 对接外部服务的协议 |
Skill | 任务执行规范 |
Skill 不等于 AI
Skill 是一份结构化指令文档——即使没有 AI 参与,一个新人按照 skill.md 的步骤也能完成任务。AI 的价值在于加速执行,而非替代规范本身。
封装标准
同一类任务反复出现,步骤基本相同
执行流程能写成明确的步骤规则,不依赖个人判断
出错的代价可控,结果能被人工快速验证
如果执行路径取决于人的判断(如"数据异常是否阻断下游"),或输入本身就存在歧义且依赖上下文才能消除——这类场景不应封装为 Skill。
第二部分:AI 在数据研发中的应用
第二部分:AI 在数据研发中的应用
数据研发的完整链路可以拆为:数据集成 → 数据开发 → 数据质量 → 调度运维 → 数据消费。AI 在每个环节的参与方式不同。
数据集成
数据探查与元信息整理:接入新数据源时,AI 辅助分析源表字段结构、数据分布、枚举值范围,自动生成字段说明和建表语句。手工翻文档逐一核对字段定义耗时且容易遗漏。
非结构化数据入湖:日志文件、客服记录等非结构化文本,传统入湖方式只做格式转换。加入 LLM 打标后,可以在入湖阶段完成情感分类、问题归类、关键字段提取。
数据开发
SQL 与 ETL 代码生成:根据字段映射表(源字段→目标字段,含类型和转换规则)以及命名规范和转换逻辑,生成 ODS→DWD→DWS 各层的任务代码。人工只需复核逻辑完整性,手写量大幅减少。
文档自动生成:表 DDL 变更后自动生成数据字典和字段中文说明。表数量越大,效率优势越明显。
代码规范校验:按照 SQL-First 原则、分区过滤、JOIN 完整性等规则全量扫描代码。漏分区字段、枚举值未覆盖、循环依赖等问题在 CI 阶段即可拦截。
数据质量
质量规则自动配置:根据历史数据分布自动建议质量阈值(如行数波动上限、非空率底线),人工确认后生效。规则在平台配置后按调度自动执行。
LLM 打标与回写:对非结构化数据(用户反馈、客服记录)进行自动打标和情感分类。打标结果经抽样校验达标后回写数仓,纳入统一资产管理。
异常归因辅助:数据质量告警触发后,AI 扫描相关任务日志和上游依赖,标记可能的原因。最终根因确认仍由人完成。
调度运维
任务部署自动化:代码审查通过后,Agent 自动识别当前环境,将任务注册到调度平台,配置依赖关系、调度时间和告警通知。
监控与告警优化:AI 分析历史运行数据,识别频繁误报的告警规则,建议调整阈值。减少"告警疲劳"导致的真实故障被忽略。
数据消费
内部知识库问答:将数据字典、ETL 规范、字段口径文档接入 RAG 知识库。用自然语言查询"某字段在哪张表、口径是什么",系统检索文档后生成回答。
分析报告辅助生成:AI 根据分析框架自动生成初版分析报告(数据汇总、趋势图表、异常标记),分析人员在此基础上补充洞察和结论。
人机协同的边界
| 环节 | AI 角色 | 工程师角色 |
|---|---|---|
| 数据探查 | 自动生成字段说明和分布报告 | 确认探查结论,处理异常情况 |
| 代码生成 | 根据蓝图生成 SQL 和任务配置 | 复核逻辑,确认口径和转换规则 |
| 规范校验 | 全量扫描,标记不符合规范的代码 | 确认并推动修复 |
| 质量监控 | 自动执行规则 + 异常归因建议 | 确认告警有效性,做根因决策 |
| 任务部署 | 自动注册和配置 | 确认部署范围和回滚预案 |
| 口径管理 | 扫描全量 SQL 标记不一致写法,给出收敛建议 | 基于业务语义确认最终口径 |
| 异常处置 | 比对历史基线,标记波动 | 结合业务上下文判断是正常波动还是故障 |
| 报告生成 | 生成初版报告(数据汇总、图表) | 补充洞察和业务判断 |
核心原则:AI 承担执行层工作(规则明确、重复性高、可自动验证),工程师保留决策层判断(口径确认、异常处置、架构选型、上下游语义理解)。
