“如今,AI 让我们构建软件的方式与 2022 年相比已经发生了巨大变化。”
刚刚,前斯坦福大学人工智能实验室主任吴恩达发布了一份《AI 工程技能地图》,试图回答一个越来越现实的问题:当 AI 已经开始替代大量编码工作,开发者接下来到底应该学什么?
这份地图并不是简单罗列热门 AI 技术。吴恩达和团队分析了超过 1 万条招聘信息,并访谈 AI 专家、招聘经理和招聘人员,最终提炼出四项最重要的 AI 工程技能:构建和部署 AI 应用、软件工程基础、使用编程智能体,以及“塑造产品构建方向”。
其中一个明显的变化是,工程师的价值正在从“把设计实现出来”,逐渐转向“决定应该构建什么”。
而在 AI 编程越来越强的情况下,真正重要的也不只是会不会写代码,而是能否理解软件工程、驾驭 Coding Agent,并做出正确的产品和工程判断。
以下为全文——
我很高兴向大家介绍 《AI 工程技能地图》(The AI Engineering Skills Map)。
如今,AI 让我们构建软件的方式与 2022 年相比已经发生了巨大变化,而所有具备利用这一变化能力的人,都将拥有大量令人兴奋的项目和工作机会。
但在 AI 充满噪音和炒作的信息环境中,究竟哪些技能最值得你学习?
我和我的团队一直在努力梳理一套 AI 工程技能地图,希望帮助:开发者确定学习优先级;雇主招聘真正具备相关技能的开发者。
我们分析了超过 1万条招聘信息,对 AI 专家、招聘经理和招聘人员进行了数十次结构化访谈,通过调查收集数据,并综合分析了其他在线数据。基于这些工作,我们认为,目前最重要的 AI 工程技能有四项:
构建和部署 AI 应用
软件工程基础
使用编程智能体
塑造产品构建方向
你可以把我们的整个过程简单理解为:在海量招聘信息和专家访谈数据上进行类似“聚类”的分析,从而识别出最重要的技能——不仅是今天最重要的技能,也包括未来一段时间内最重要的技能。
这里需要说明一下术语:我谈的是 AI 工程技能(AI Engineering skills),而不是“AI 工程师(AI Engineer)”这一岗位,也就是专门负责构建 AI 系统的人,因为前者的范围要广得多。
如今,所有开发者都应该知道如何使用云计算,但只有少数人的职位名称会是“云工程师”。
同样,所有开发者——全栈工程师、数据工程师、DevOps 工程师、机器学习工程师,以及 AI 工程师——都需要掌握 AI 工程技能。
构建和部署 AI 应用。
AI 应用与非 AI 应用之间的关键区别,在于前者的输出具有不可预测性。
当你向一个大语言模型输入提示词时,你不知道它会返回什么。当你训练一个深度学习算法时,你也不知道它面对新的样本时会做出什么预测。
相比之下,传统软件的行为通常更加可预测。
擅长构建和部署 AI 应用的人,需要理解 AI 的基本构件,例如 LLM、上下文工程、RAG、智能体工作流、机器学习和深度学习。
更重要的是,他们还需要知道如何利用统计技术去衡量、引导和治理 AI 系统,让它们的行为变得更加可预测。
其中一项核心技能,就是知道如何建立严谨的 评测(evals)和错误分析闭环。
软件工程基础。
当你真正深入理解软件是如何工作的,就能更加高效地构建软件。
软件工程意味着要在成本、可扩展性、可靠性、速度等因素之间做出权衡,而安全和隐私又会进一步增加复杂性。
理解软件工程基础,可以让你意识到究竟存在哪些需要权衡的问题。
这会帮助你在选择技术栈、设计系统架构、设计数据存储、测试等方面做出更好的决策。
相比之下,一个缺乏经验的开发者如果只是“凭感觉写代码(vibe coding)”,却不了解编程智能体正在替自己做出哪些权衡,最终往往会得到糟糕得多的结果。
原因之一是,他们不知道应该向编程智能体提供什么样的上下文。
理解软件工程基础,可以让你使用精确的软件工程语言来引导编程智能体,从而做出更好的权衡。
使用编程智能体。
如今,有效使用智能体编程已经成为每一位开发者都需要掌握的核心技能。
掌握这项技能,意味着你需要建立起对智能体工作方式的良好心智模型。你需要理解它们的局限性,以及如何绕开这些局限;同时还要能够快速引导智能体,知道什么时候应该介入、什么时候应该放手,让它们构建出可靠的软件,而不是浪费过多时间和 Token。
这要求你知道如何管理编程智能体的上下文,如何在规划和执行之间进行权衡,以及如何通过提供验证器或评测机制,帮助智能体自主完成闭环。
你还需要知道如何使用清晰的规格说明(spec),以及什么时候其实没必要花时间写 spec;如何协调多个协同工作的智能体;以及如何避免诸如“智能体把你的生产数据库搞坏了”之类的风险。
由于智能体编程正在快速发展,熟练使用编程智能体不仅意味着掌握最前沿的实践,还意味着建立持续尝试新工具、不断调整工作流的习惯,以便随着最佳实践的变化持续进化。
塑造产品构建方向。
当有了清晰的规格说明后,编程智能体正在迅速变得越来越擅长按照要求交付。
因此,我们工程师的工作正在转向另一个方向:决定规格说明里应该有什么。
工程师不应该再期待有人交给自己一个像素级完美的设计,然后只要求自己把它实现出来。
相反,有效的 AI 工程要求工程师具备产品判断力,理解业务背景和客户目标,从而能够参与塑造产品,并推动产品的构建过程。
AI 也让你有机会比过去承担更大的责任和主动权。
你可以主动发现有趣的问题和机会,并以负责任的方式执行,从而抓住这些机会。
要利用好这种机会,你需要知道如何推动项目向前发展。
例如,你需要知道什么时候应该快速构建一个 MVP,拿给用户测试;什么时候则应该放慢速度,投入更多时间,把产品更加仔细地构建出来。
所有这些技能背后,都有一种共同的心态:持续学习。
AI 仍在快速变化,因此我们所有人都必须持续学习和进化自己的技能,以便采用不断出现的最佳实践。
DeepLearning.AI 的核心目标,就是帮助开发者获得这些 AI 工程技能。
关于这四项技能,我还有更多内容要分享。我将在接下来的文章中逐一展开,并进一步完善一份更加详细的 AI 工程技能地图。
当我思考 AI 工程未来的发展方向时,我对我们所有人未来能够构建的东西感到无比兴奋。
希望你也能在这个未来中扮演一个令人兴奋的角色。
热门跟贴