数据分析师转型 AI 数据工程:从跑 SQL 到喂模型

📅 2026/7/9 3:49:19 👁️ 阅读次数 📝 编程学习
数据分析师转型 AI 数据工程:从跑 SQL 到喂模型

“小薇,这个月销售分析报告怎么还没出来?”

我抬头一看,业务部门的张总正站在我工位旁边。我正准备解释——数据量太大、关联逻辑复杂、至少还得半天——他摆摆手:“算了,我问了 ChatGPT,它 30 秒就给我分析完了。”

我盯着屏幕上写了 200 多行的 SQL,陷入沉默。📊

这已经不是第一次了。从去年开始,业务部门找我的次数越来越少。以前每天 5 个数据需求,现在 1 个。剩下的 4 个,他们直接问 AI。

更让我焦虑的是,公司新招了一个"AI 数据工程师",月薪比我高 50%,工作内容是"给大模型准备训练数据"。我盯着那个 JD 看了半天——这不就是数据处理的活儿吗?凭什么比我贵那么多?😤

觉醒:数据分析不是被淘汰,而是升级了

后来我跟那个新同事聊了聊,才发现自己格局小了。

传统数据分析的核心是从数据中提取洞察,AI 数据工程的核心是让数据能被 AI 理解和学习。这不是同一个维度的事情:

  • 数据清洗→ 从"去掉异常值"升级到"构造高质量指令微调数据集"
  • 特征工程→ 从"为机器学习选特征"升级到"设计 Embedding 和向量检索策略"
  • 数据可视化→ 从"给人看报表"升级到"给模型当上下文"

数据能力在 AI 时代反而更值钱了,只是价值体现的方式变了。

实战:构建一个高质量的 RAG 数据集

我接手的第一个 AI 项目:给公司的智能客服系统准备训练数据。

不是说要去训练大模型(那成本太高),而是要构建一套高质量的文档语料库问答对,用于 RAG 检索和 Few-shot Prompting。

下面是我用 Python 实现的一个数据工程 Pipeline:

importpandasaspdimportrefromtypingimportList,Dict,Tuplefromlangchain.text_splitterimportRecursiveCharacterTextSplitterimportjsonclassRAGDataEngineer:""" RAG 数据工程师 负责:从原始文档中提取、清洗、切分、构造高质量的向量检索语料 """def__init__(self,chunk_size:int=1000,chunk_overlap:int=200):self.text_splitter=RecursiveCharacterTextSplitter(chunk_size=chunk_size,chunk_overlap=chunk_overlap,separators=["\n\n","\n","。",";"," "])defclean_document(self,raw_text:str)->str:""" 文档清洗:去除噪音,保留有效信息 Args: raw_text: 原始文档内容(可能包含 HTML、特殊字符、页眉页脚等) Returns: 清洗后的文本 """# 1. 去除 HTML 标签text=re.sub(r'<[^>]+>','',raw_text)# 2. 去除多余的空白字符(连续换行、空格)text=re.sub(r'\n\s*\n','\n',text)text=re.sub(r' +',' ',text)# 3. 去除特殊字符和乱码(保留中文、英文、数字、常用标点)text=re.sub(r'[^\u4e00-\u9fff\w\s.。,,;;::!?!?()()""''\-\n]','',text)# 4. 去除页眉页脚(常见模式:"第 X 页"、"版权所有"等)text=re.sub(r'第\s*\d+\s*页[/\s]?共\s*\d+\s*页','',text)text=re.sub(r'版权所有.*','',text)# 5. 去除文档编号(如 "Doc-2024-001")text=re.sub(r'[Dd]oc-?\d{4}-?\d{3}','',text)returntext.strip()defsplit_into_chunks(self,cleaned_text:str)->List[Dict]:""" 把清洗后的文档切分成语义完整的块 Returns: 文本块列表,每个块包含内容和元数据 """# 先用段落分割,再用 RecursiveCharacterTextSplitter 精细切分paragraphs=[p.strip()forpincleaned_text.split('\n\n')ifp.strip()]chunks=[]forparainparagraphs:# 如果段落本身就很长,进一步切分iflen(para)>self.text_splitter.chunk_size:sub_chunks=self.text_splitter.split_text(para)forscinsub_chunks:chunks.append({"content":sc,"metadata":{"type":"chunk","length":len(sc),"source":"paragraph_split"}})else:chunks.append({"content":para,"metadata":{"type":"paragraph","length":len(para),"source":"original"}})returnchunksdefgenerate_qa_pairs(self,chunks:List[Dict])->List[Dict]:""" 从文本块中生成问答对(用于 Few-shot Prompting 和测试集) 这里用规则方法简化,实际可用大模型生成更复杂的 QA """qa_pairs=[]forchunkinchunks:content=chunk["content"]# 规则 1:如果内容包含"如何"、"怎么"、"步骤",构造操作类问题ifany(kwincontentforkwin["如何","怎么","步骤","流程"]):# 提取前 20 字作为问题线索hint=content[:20].replace("如何","").replace("怎么","").strip()question=f"如何{hint}?"qa_pairs.append({"question":question,"answer":content,"type":"how_to","source_chunk":chunk["metadata"]})# 规则 2:如果内容包含定义性描述,构造概念类问题elif"是"incontent[:50]and","incontent[:50]:# 提取定义的主体(如 "XX 是一种...")match=re.match(r'([^,。]+)[是|指]',content)ifmatch:concept=match.group(1).strip()question=f"什么是{concept}?"qa_pairs.append({"question":question,"answer":content,"type":"concept","source_chunk":chunk["metadata"]})returnqa_pairsdefquality_check(self,qa_pairs:List[Dict])->Tuple[List[Dict],List[Dict]]:""" 质量检查:过滤低质量问答对 Returns: (高质量问答对, 低质量问答对) """good=[]bad=[]forqainqa_pairs:# 检查 1:问题不能太短(至少 5 个字)iflen(qa["question"])<5:bad.append({**qa,"reason":"问题太短"})continue# 检查 2:答案不能太短(至少 20 字)iflen(qa["answer"])<20:bad.append({**qa,"reason":"答案太短"})continue# 检查 3:答案中应该包含问题的关键词(相关性检查)question_keywords=set(qa["question"].replace("什么","").replace("如何","").replace("怎么","").split())ifnotany(kwinqa["answer"]forkwinquestion_keywordsiflen(kw)>1):bad.append({**qa,"reason":"答案与问题不相关"})continuegood.append(qa)returngood,bad# 使用示例if__name__=="__main__":engineer=RAGDataEngineer()# 模拟一篇原始文档raw_doc=""" <html><body> <p>第 1 页 共 5 页</p> <h1>退款流程说明</h1> <p>如何申请退款?</p> <p>用户如需申请退款,请按照以下步骤操作:</p> <p>1. 登录账户,进入"我的订单"页面;</p> <p>2. 找到需要退款的订单,点击"申请退款"按钮;</p> <p>3. 填写退款原因,提交申请;</p> <p>4. 客服将在 3 个工作日内审核。</p> <p>版权所有 © 2024</p> </body></html> """# 第一步:清洗文档cleaned=engineer.clean_document(raw_doc)print("🧹 清洗后文档:")print(cleaned[:200]+"...\n")# 第二步:切分文本块chunks=engineer.split_into_chunks(cleaned)print(f"✂️ 切分为{len(chunks)}个文本块\n")# 第三步:生成问答对qa_pairs=engineer.generate_qa_pairs(chunks)print(f"📝 生成{len(qa_pairs)}个问答对\n")# 第四步:质量检查good_qa,bad_qa=engineer.quality_check(qa_pairs)print(f"✅ 高质量问答对:{len(good_qa)}个")print(f"❌ 低质量问答对:{len(bad_qa)}个")ifgood_qa:print(f"\n示例问答对:")print(f"Q:{good_qa[0]['question']}")print(f"A:{good_qa[0]['answer'][:100]}...")

这段代码展示了一个数据工程师在 AI 时代的核心工作:不是简单地把数据"搬来搬去",而是把原始数据转化为"模型能理解的知识"

每个环节都有讲究:

  • 清洗要干净但不能过度,别把关键语义信息洗没了
  • 切分要保证语义完整,不能一刀切把一句话切成两半
  • QA 生成要为 Few-shot Prompting 提供高质量的示例
  • 质量检查要像审稿人一样严格,因为垃圾数据进,垃圾答案出

进阶:Fine-tuning 数据集的构造艺术

RAG 数据只是入门,真正高价值的是模型微调(Fine-tuning)数据集

微调数据集的要求比 RAG 数据高得多:

  • 格式规范:必须是指令-回答对(Instruction-Response)格式
  • 领域对齐:数据必须覆盖目标领域的所有场景和边界情况
  • 质量极高:任何一个错误样本都可能让模型"学坏"
  • 多样性足够:同一问题的不同表达方式、不同难度的变体

我总结了一套构造高质量微调数据的"三板斧":

1. 种子数据挖掘

  • 从现有业务系统(工单、FAQ、聊天记录)中提取真实问答
  • 从行业文档(技术手册、论文、规范)中提取专业知识
  • 让领域专家手写"黄金标准"答案

2. 数据增强(Data Augmentation)

  • 用同义词替换、句式改写、翻译回译等方式扩充样本
  • 用大模型生成同一问题的不同变体(但要人工审核质量)
  • 构造负样本(模型不应该回答的问题)

3. 严格的人工审核

  • 每个样本至少经过 2 个人审核
  • 建立审核标准手册(什么算对、什么算错、边界情况怎么处理)
  • 定期抽样复查已审核数据

我的新角色:AI 数据架构师

现在的我,不再只是"跑 SQL 的"了。我设计的是整个 AI 系统的数据底座:

  • 数据 Pipeline:从原始文档到向量数据库的完整 ETL 流程
  • 质量评估体系:数据准确性、完整性、多样性、时效性的量化评估
  • 数据版本管理:数据集的版本化、可追溯、可回滚
  • 领域知识图谱:把非结构化数据结构化,让模型理解实体关系

这套数据体系,直接决定了 AI 系统的上限。

给数据分析师的建议

  1. 学习向量数据库— pgvector、Milvus、Chroma,理解数据怎么被 AI “读取”
  2. 掌握 Prompt 设计— 数据增强和 QA 生成需要懂 Prompt Engineering
  3. 建立领域知识— 越懂业务,越能构造高质量的训练数据
  4. 培养质量意识— AI 数据的质量要求比 BI 报表高 10 倍,因为错误会被放大

数据分析在 AI 时代不是被替代,而是被放大了。📈

数据是 AI 的燃料,而数据工程师是炼油厂。没有高质量的燃料,再强的引擎也跑不起来。

想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享

👇👇扫码免费领取全部内容👇👇

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势

想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI

1. 100+本大模型方向电子书

2. 26 份行业研究报告:覆盖多领域实践与趋势

报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

  • 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
  • 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
  • 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
  • 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。

3. 600+套技术大会 PPT:听行业大咖讲实战

PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

  • 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
  • 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
  • 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
  • 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。

二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走

想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位

面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析

2. 102 道 AI 大模型真题:直击大模型核心考点

针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题

专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:


三、路线必明: AI 大模型学习路线图,1 张图理清核心内容

刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

L5阶段:专题集丨特训篇 【录播课】


四、资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇

2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!