
我很高兴发布这份 AI 工程技能地图。和 2022 年相比,今天 AI 让我们可以用非常不同的方式构建软件。任何掌握这些技能、能利用这次变化的人,都会拥有许多令人兴奋的项目和工作机会。但在 AI 周围这个嘈杂、充满炒作的信息环境里,对你来说,最值得学习的技能是什么?我一直在和团队一起梳理一张 AI 工程技能地图,希望帮助:(i)开发者决定优先学习什么;(ii)雇主招聘具备相应技能的开发者。
基于对 10,000 多条招聘信息的分析、与 AI 专家、招聘经理和招聘人员进行的数十次结构化访谈、通过调研收集的数据,以及对其他线上数据的综合整理,我们认为最重要的四项 AI 工程技能是:
- 构建和部署 AI 应用
- 软件工程基础
- 使用 coding agent
- 定义要构建什么
你可以非正式地把我们的过程理解为:在一个由岗位和专家访谈构成的巨大数据集上做聚类,从中识别出最重要的技能,不只是今天重要,也会在不远的将来重要。
先说明一下术语:我说的是 AI 工程技能,而不是“AI 工程师”这个角色(也就是以构建 AI 系统为工作的人),因为前者的范围要宽得多。今天所有开发者都应该知道如何使用云,但只有一小部分人拥有“云工程师”这个头衔。类似地,所有开发者——全栈工程师、数据工程师、DevOps 工程师、机器学习工程师,当然也包括 AI 工程师——都将需要 AI 工程技能。
构建和部署 AI 应用。 AI 应用和非 AI 应用的关键区别在于,前者的输出不可预测。当你给 LLM 写 prompt 时,你不知道会得到什么回答。当你训练一个深度学习算法时,你不知道它会对新的样本做出什么预测。相比之下,传统软件的行为更可预测。
擅长构建和部署 AI 应用的人,会理解 AI 的构建模块,比如 LLM、context engineering(上下文工程)、RAG、agentic workflow(agent 式工作流)、机器学习和深度学习;更重要的是,他们知道如何使用统计技术来衡量、引导和治理 AI 系统,让它们的行为更可预测。做到这一点的一项核心技能,是知道如何推动严谨的 eval 和错误分析循环。
软件工程基础。 当你深入理解软件如何工作,就能更有效地构建软件。工程化软件需要在成本、可扩展性、可靠性、速度等因素之间做取舍。安全和隐私还会带来更多复杂性。
理解软件基础,能让你看清到底有哪些取舍存在。这会带来更好的决策,比如选择软件栈、设计系统架构、设计数据存储、测试,等等。它也会带来比缺乏经验的开发者好得多的结果。后者可能会用 vibe coding 让 coding agent 写出一个方案,却不知道自己的 coding agent 正在做哪些取舍——而这些取舍往往很差,因为他们不知道应该给 coding agent 什么上下文。理解软件工程基础,可以让你用软件工程的精确语言来引导 coding agent,从而做出好的取舍。
使用 coding agent。 有效使用 agentic coding,现在已经是每个开发者的一项关键技能。具备这项技能时,你会对 agent 如何工作有一个好的心智模型。你理解它们的局限,知道如何绕开这些局限,也能快速引导它们——知道什么时候该介入、什么时候该放手——在不过度浪费时间或 token 的情况下构建健壮的软件。
这要求你知道如何管理 coding agent 的上下文,如何在规划和执行之间做取舍,以及如何通过提供验证器或 eval,帮助 agent 自主闭环。你还需要知道如何配合一份清晰的规格说明(spec)工作(以及什么时候没必要这么做)、如何编排多个协同工作的 agent,以及如何避开一些坑,比如让 agent 把你的生产数据库搞坏。因为 agentic coding 正在快速演进,熟练使用 coding agent 不仅意味着了解最前沿的实践,也意味着有一套固定习惯,能持续尝试新工具,并随着最佳实践变化而演进自己的工作流。
定义要构建什么。 给定一份清晰的规格说明,coding agent 正在快速提升交付能力。因此,工程师的工作正在转向决定规格说明里应该包含什么。工程师不应该再期待别人给出一份像素级精确的设计,然后只要求自己实现它。相反,有效的 AI 工程要求你具备产品感,理解业务背景和客户目标,这样你才能参与定义并推动构建工作。
AI 也给了你比过去更大的主人翁意识和 agency(能动性)。你可以识别有意思的问题和机会,并以负责任的方式执行,抓住这些机会。利用好这个机会,需要知道如何推动项目向前走。比如,知道什么时候应该快速构建一个 MVP,拿给用户测试;什么时候应该慢下来,花更长时间,更仔细地构建。
所有这些技能的底层,都是持续学习的心态。AI 还在快速变化,所以我们都必须不断学习、不断演进自己的技能,采用正在出现的最佳实践。
DeepLearning.AI 的主要关注点,是帮助开发者获得这些 AI 工程技能。关于这四项技能,我还有更多想说的内容,也会在接下来的帖子里逐一展开,并分享更详细的 AI 工程技能地图。当我观察 AI 工程正在走向哪里时,我对我们所有人将能构建出的东西感到非常兴奋。希望你也能在这个未来中扮演一个重要而令人兴奋的角色。