5步从数据工程师转型AI工程师

5步从数据工程师转型AI工程师 听着你不是非转不可但如果你想转那就来看看吧。另外你可能应该去找找那些现在 LinkedIn 上突然冒出来的、满嘴智慧和远见的 AI 工程师。也许他们知道到底在发生什么。不管怎样我已经构建了几个多 Agent 的 POC有些在 Databricks 平台上有些是更定制化的。我已经对各种AI 的玩意儿捣鼓够了至少能让自己变得有点危险了。让我上吧教练。我只是互联网上一个注意到涉及AI或Gen AI文艺青年这么叫的的工作岗位在激增的人。而且嘿为什么不试试呢大家已经在为被 AI 抢走工作而恐慌了。1、AI 热潮连那些银行家们也在趁 AI 的热潮捞一笔把成千上万个岗位放在 AI 的砧板上。嘿甚至连我们的老朋友扎克伯格似乎也被卷入了这股疯狂就像旅鼠一样他们都要从同一个悬崖跳下去。一个跳了你就知道其他的一定会紧跟其后。Meta 报告了创纪录的利润但这并没有阻止他们。一旦老堤坝上戳了个洞水就会迅速涌来。那我们这些小虾米怎么办呢最可能在末世后的未来中为了残羹剩饭而争斗。不管怎样如果能找到一线希望我宁愿保持乐观。如果你知道去哪里找希望是存在的。务实的态度、半杯满的心态在克服各种障碍时大有帮助。我猜如果我们打不过他们就必须加入他们。我说的不是简单地在软件开发工作流中使用 AI我说的是构建 AI 和 Agent 系统。拉开帷幕看看 Oz 在搞什么。我当然有自己关于数据工程师必须学习什么才能成为 AI 工程师的想法但与其猜测不如去 LinkedIn 上做个非正式搜索看看公司在AI 工程师职位描述中要求什么技能和技术。归根结底如果你想成为 Gen AI 工程师就必须拥有和学习市场需要你具备的技能。让我们像正经工程师一样来做这件事。老派的。说不定我们甚至会自己写代码*倒吸一口气。我把 LinkedIn 上 30 个 AI 工程师职位描述爬取到了文本文件中。我们可以做一个简单的词频统计也许再加个词云看看这个岗位到底需要什么技能。2、代码这是其中一个文本文件的示例。现在让我们写一些 Rust 代码来完成这些脏活看看这些 AI 工程师岗位到底在说什么。结果让我非常惊讶也很有趣和我的预期完全不同。我的意思是确实有 RAG 和 Agents 之类的东西但我以为会看到像……推理、langchain、langgraph、api、前端等等之类的词。确实恰恰相反。往好的方面看我亲眼所见构建 AI 系统更多是关于系统设计和架构再加上一些特定工具。cargo run -- word-count然后是词云……cargo run -- word-cloud我不确定这更能说明什么是 AI 领域的整体状况还是公司对什么造就了优秀 AI 工程师的看法。再说一次作为一个在 Databricks 和其他地方构建过不少 Agent 系统的人我基本同意这些被要求的技能列表。学一个框架比如 LangChain 很容易但如果没有经验要拥有能帮助构建多 Agent 工作流的系统设计经验就没那么容易了……因为你处理的就是……多个系统连接在一起的东西。让我们深入分析我们的发现总结转型为 AI 工程师需要什么。3、AI 工程师的前 5 项技能我想让这些建议从我过去几年构建 AI 系统的实际经验出发同时结合实际数据说了什么双关语不是故意的。好的意愿终究只是意愿但看到这个对 30 个 AI 工程师职位描述的词频分析有助于确认我们走在正确的道路上。说实话这听起来就像是一个优秀的数据工程师需要的技能从我个人的经验来看确实如此只是多加了一些稀奇古怪的工具集。3.1 理解系统设计架构当我刚开始玩弄 Agent 和 AI 系统——也就是说构建它们——的时候我注意到了一些意想不到的事情。基本上我在构建一堆需要相互通信和协作的独立系统。这是一个经典的系统设计问题。我们看到这一点在 AI 工程师职位描述中最常见的词就是系统这个事实中得到了印证。为什么因为 LLM 和 Agent 在实际业务中的用例通常需要跨一系列云资源、端点和工具的数据和集成。[ 用户 / 应用 ] | v ---------------- | AI Agent | | (推理) | ---------------- / | \ / | \ v v v [向量数据库] [API 调用] [数据湖] (记忆) (行动) (原始数据) \ | / \ | / v v v ---------------- | 编排层 | | (胶水逻辑) | ---------------- | v [ 云服务 ] (计算、认证、存储)每一个都是一个独立的系统必须协同工作才能完成任务。如果你好奇这可能是什么样子可以读读我的文章《傻瓜式 Agent AI》或者也许我的另一篇文章《构建高级 Agent AI》。显然要转型为 AI 或 Gen AI 工程师你必须精通系统设计这是一个已经存在了很长时间的东西。如果你想了解更多可以看看 John Crickett 在 GitHub 上关于系统设计的资源。与数据库、API、端点、工具、MCP 服务器、向量、其他 Agent 通信……清单列不完。再加上日志、可追溯性、监控、性能的复杂性……跨这些完成上述所有操作的复杂工作流和应用……这些都是经典的系统设计问题。3.2 理解多模态数据以及一般意义上的数据看到这个词的时候我忍不住笑了但这也是我多次评论过的东西。构建 LLM 和 AI 系统 90% 是数据管道加上一点编排。数据是第二常见的词。大多数我接触过的 AI 和 Agent 系统都严重依赖数据。可能是 Delta Lake 或 Iceberg 中的湖屋数据Postgres 表RAG 支撑的非表格数据如 PDF 等。不管怎样这些 AI Agent 通常需要大量的上下文和与数据的交互——无论是向量数据还是其他类型——才能被认为是有价值的。来源 - R. Tyler Croy我们生活在一个数据驱动的世界这已经持续了很长时间AI 热潮更是加剧了这一点。构建 AI 系统需要专家级别的数据理解力这毫不令人意外。这就是经典数据工程与 AI 系统所需技能分道扬镳的地方。是的我们可以通过各种连接器把 Postgres 中的表格数据接入湖屋但集成到 LLM 系统中所需的大部分数据并不是表格形式的。RAG 和向量知识图谱例如读读下面我基于 PDF 和 Word 文档构建 Databricks 知识助手的文章。这不是普通的数据工程。我们大多数人都不习惯处理这样杂乱无章的非结构化数据。你不能把所有东西都扔进一个 S3 存储桶里——我是说也许你可以但从长期和可扩展性的角度来看这不是个好主意。随着 Agent 工作流的兴起我们不再只是处理以表格数据为主导的经典数据模型。嗯是的我们仍然在处理表格数据但我们现在也在处理音频、视频、PDF……大量我们历史上从未集成到数据平台中的数据。例如以下是 AI 工程师职位描述中的一段摘录数据工程卓越 - 在处理来自不同来源、格式冲突的数据规范化方面有丰富经验 - 对准确性有执念99% 是不够的——兼容性数据必须正确 - 有构建自动化验证和冲突解决系统的经验 - 能够对复杂的业务领域进行建模你将学习重型设备相关知识……或者另一段具有 AI 云基础设施、数据管道、编排方面的经验归根结底AI 工程师似乎是专门处理数据和数据在系统间流动的系统架构师。如果你对奇怪形状的数据、难题以及未来可能的样子感兴趣读读 Byoyant Data 的这篇文章。3.3 云为王这个有点出乎我的意料不知道为什么但说起来也合理同时也似乎是基本门槛。偶尔我会遇到一些没被 AWS 和 IAM 的岩石碾过的可怜灵魂。通常是一些企业的情况云被严加看管远离一千个百无聊赖的开发人员的窥探之手。我能感受到那位 CTO 的焦虑。说实话我不打算在这里花太多时间只是想说是的任何从事 AI 系统工作的人很可能都在一家严重依赖云基础设施进行所有运营的前瞻性公司工作。我个人的看法是在这个语境下云与以下内容有关……CI/CDIaC基础设施即代码SaaS 服务以下是 AI 工程师职位描述中的一些摘录……- 云数据库和生产部署。 - 熟悉 Docker、云AWS/GCP、快速迭代 - 云和 DevOps 经验 - AWS 等云环境他们只是在说我们早就知道的事情如果你想成为 AI 工程师你将在很多公有云AWS、GCP、Azure等中工作。同样也会使用许多 SaaS 提供的服务也许用于推理这些服务运行在别人的云上。这些是被设计和部署的 AI 系统它们必须在某处运行和部署那个地方不是某人的桌子底下而是在基于云的环境中通过 CI/CD 部署。说真的这只是一个很好的提醒如果你还没有太多使用和部署到 AWS 等主要云提供商的经验你可能应该注册一个账户开始摸索。3.4 工作流不骗你当我看到这个词出现在列表顶部时我可能发出了小小的欢呼。感觉像是得到了认可——一辈子的数据工程经验竟然真的有用。同时这也验证了我对构建 Agent 系统的看法。构建这些 AI 系统本质上就是在构建管道和工作流。例如读读这篇关于构建多 Agent 系统挑战的文章。核心来说我们在构建数据系统和 Agent 之间的工作流。Agent 在工作流中使用工具用户交互通过工作流完成使用的数据和逻辑也被包裹在工作流中。如果一个人从未构建过工作流尤其是大型数据工作流那要直接担任 AI 工程师这个职位会很困难因为这份工作很大一部分就是在构建工作流来支撑 AI 系统和 Agent。好的和差的 Agent 系统及其工作流之间的区别是很微妙的这种知识来自于经验。事实也是随着 Agent 的兴起——不仅用于代码生成还作为自主执行行动和完成工作流的实体——一个人如果要构建 Agent 和 AI 工具来完成或参与工作流就必须熟悉工作流。你如何监控、观察和衡量那些黑盒 Agent 工作流的输出或结果一个例子是下面这篇文章和用例一个真实的用例其中 AgentLLM本身就是工作流和管道。这是一个全新的前沿领域有很多探索空间所有人都在构建 Agent 并让它们去做事这通常意味着完成一组任务也叫工作流。这引发了很多有趣的问题比如如何构建确定性的 AI 系统因此我们都可以同意工作流作为 AI 工程师所需的前几项技能之一确实合理。继续前进。3.5 框架和 Python我有点作弊把最后这两项技能合成了一个因为它们基本上是一回事。Python和框架基本并列。当然所有的 Rust 爱好者会嗤之以鼻但这也没什么新鲜的。Python 在 LLM 出现之前就已经运行着机器学习世界很久了而且在可预见的未来仍将继续如此。为什么是框架和PythonAI 世界还很年轻但你已经可以看到哪些框架最常使用正在趋于固化。我确信各种框架的流行度会有起伏但如果你想成为 AI 工程师你需要熟悉人们用来构建这些 AI 系统的框架主要是 Python。以下是职位描述中的一些摘录- NLP/LLM 工具Transformers、LangChain、OpenAI APIs - 扩展和改进我们的 Agent 框架基于 pydantic-ai 构建以及支撑它的基础设施 - ML/AI 框架scikit-learn、TensorFlow、PyTorch、LangChain、OpenAI API 集成 - 熟练掌握 Python 等编程语言熟悉 AI 框架如 TensorFlow、PyTorch - 理解 Agent AI 框架和工具如 CrewAI 和 Azure AI Foundry诸如此类的还有很多。这完全不令人惊讶。如果你是前端工程师他们会问你最新的最火的 JavaScript 框架是什么或者其他什么。如果你是 Rust 工程师他们会期望你是 Cargo 的专家或者 Tokio 用于异步操作。如果你想成为 AI 工程师那你就需要使用并熟悉常用的工具和框架。我的大部分经验来自 LangChain 和 LangGraph两者我都很推荐。它们是很好的起点。4、所以你还在等什么好吧我觉得这很有趣即使你觉得不是你这个爱抱怨的小家伙。在所有的 AI 热潮 末日恐慌中很容易被卷入世界末日的列车。我能说什么我也是这个的忠实粉丝。不管怎样如果其他都行不通我猜我们都可以用转型为AI 工程师这扇逃生门。现在我们已经拉开了那个神秘职位的帷幕看到了需要什么技能似乎没那么可怕了。也许吧。我认为——可能因为我有偏见——数据工程师非常适合 AI 工程师的角色。与数据、工作流、框架、系统打交道……这是我们长期以来的生活。我不知道未来对程序员和氛围编码者意味着什么。裁员来得又猛又快。我碰巧认为这更多与降低成本和图方便有关而不是 AI。但同样真实的是软件开发已经永远改变了不管你喜不喜欢。原文链接5步从数据工程师转型AI工程师 - 汇智网