我很高兴向大家介绍 AI 工程技能图谱。与 2022 年相比,AI 让我们今天能够以截然不同的方式构建软件,凡是具备技能、能够抓住这一变革机遇的人,都会拥有大量令人兴奋的项目和就业机会。然而,在喧嚣且充满炒作的 AI 信息环境中,哪些技能最值得你去学习?我和团队一直在梳理一份 AI 工程技能图谱,目的是帮助(i)开发者确定学习优先级,(ii)雇主招聘到技能娴熟的开发者。
基于对超过 10,000 条招聘信息的分析、与 AI 专家、招聘经理和招聘人员的数十次结构化访谈、问卷调查收集的数据,以及其他线上数据的综合梳理,我们得出以下四项最重要的 AI 工程技能:
- 构建和部署 AI 应用
- 软件工程基础
- 使用编码 Agent
- 主导构建方向
你可以把这个过程通俗地理解为:对海量职位与专家访谈数据集运行聚类分析,从而识别出最重要的技能——不仅适用于当下,也适用于不远的未来。
关于术语的说明:我谈论的是 AI 工程技能,而不是“AI 工程师”这一职位(指以构建 AI 系统为工作的人),因为前者的范围要广得多。如今,所有开发者都应该懂得如何使用云,但只有少数人拥有“云工程师”的头衔。同样,所有开发者——全栈工程师、数据工程师、DevOps 工程师、机器学习工程师,以及,没错,AI 工程师——都将需要 AI 工程技能。
构建和部署 AI 应用。AI 应用与非 AI 应用的关键区别在于,前者的输出不可预测。当你向 LLM 发出提示时,你不知道会得到什么回复。当你训练深度学习算法时,你不知道它对新的样本会做出什么预测。相比之下,传统软件的行为更具可预测性。
擅长构建和部署 AI 应用的人,不仅了解 AI 的基础组件(如 LLM、上下文工程、RAG、Agent 工作流、机器学习和深度学习),更重要的是,懂得如何运用统计技术来衡量、引导和治理 AI 系统,使其行为更具可预测性。其中一项核心技能是知道如何推进严谨的评估(evals)和错误分析循环。
软件工程基础。当你深入理解软件的工作原理时,你就能更高效地进行构建。软件工程需要在成本、可扩展性、可靠性、速度等方面进行权衡取舍。安全性和隐私性则进一步增加了复杂性。
理解软件基础能让你认识到存在哪些权衡取舍。这有助于你在选择技术栈、设计系统架构、设计数据存储、测试等方面做出更好的决策。这也会带来比那些新手开发者好得多的结果——新手开发者凭感觉敲代码,并不了解其编码 Agent 正在做哪些取舍,而这些取舍往往很糟糕,因为他们不知道该给编码 Agent 提供什么上下文。理解软件工程基础,让你能够用精确的软件工程语言来引导编码 Agent,从而做出良好的权衡取舍。
使用编码 Agent。如今,高效地使用 Agent 进行编码已成为每位开发者的关键技能。掌握这项技能后,你会对 Agent 的工作方式形成良好的心智模型。你了解它们的局限性以及如何绕开这些局限,并能快速引导它们——知道该干预多少、该放手多少——从而构建出健壮的软件,同时不浪费过多时间或 token。
这要求你知道如何管理编码 Agent 的上下文,在规划与执行之间做出权衡,并通过提供验证器或评估来帮助 Agent 自主闭环。你还需要知道如何依据清晰的规格说明来工作(以及何时不必费心这样做)、如何编排多个协同工作的 Agent,以及如何避免诸如 Agent 弄乱生产数据库之类的风险。由于 Agent 编码发展迅速,熟练使用编码 Agent 不仅意味着掌握前沿实践,还意味着要有持续尝试新工具的习惯,并随着最佳实践的变化不断演进你的工作流。
主导构建方向。在给定清晰规格说明的情况下,编码 Agent 按规格交付的能力正在迅速提升。因此,我们作为工程师的工作正转向决定规格中应该包含什么。工程师不应再指望拿到一张像素级完美的设计稿,然后只需照单实现。相反,高效的 AI 工程需要你具备产品 sense,理解业务背景和客户目标,从而能够参与塑造和推动构建。
AI 还让你有机会承担比以往更大的主人翁意识和自主权。你可以发现有趣的问题和机会,并以负责任的方式采取行动、善加利用。抓住这一机会,需要你懂得如何推动项目前进。例如,知道何时快速构建一个 MVP 交给用户测试,何时放慢节奏、花更多时间更审慎地构建。
所有这些技能的底层,是一种持续学习的心态。AI 仍在快速变化,因此我们都必须不断学习,持续提升自身技能,以拥抱新兴的最佳实践。
DeepLearning.AI 的核心使命是帮助开发者掌握这些 AI 工程技能。关于这四项技能,我还有更多内容想要分享,将在接下来的文章中逐一展开详述,并分享一份更详细的 AI 工程技能图谱。展望 AI 工程的未来,我对我们所有人能够构建出的东西感到无比兴奋。希望你能在这个未来中大展身手。





