AI摘要
亲爱的朋友们:
随着生成式AI的发展,一类新的生成式AI应用工程师(GenAI Application Engineers)正在以前所未有的效率构建更强大的应用。能够胜任这一角色的人才在市场上供不应求,而对这一职位的定义还在逐渐明确中。让我来介绍一下他们的核心技能,以及我用于识别这类人才的面试问题。
优秀的生成式AI应用工程师通常具备两个主要条件:(i) 能够利用新的AI构建模块快速开发强大的应用;(ii) 能够借助AI辅助快速完成工程开发,用远少于以往的时间搭建软件系统。此外,良好的产品直觉或设计能力是额外加分项。
AI构建模块(AI building blocks)
如果你只有一种乐高积木,尽管有很多块可能也只能搭建点基础结构;但如果你拥有多种类型的积木,就可以快速组合成复杂而实用的结构。软件框架、SDK以及类似的工具也具有这样的特性。如果你只知道如何调用大型语言模型(LLM)的API,那当然是个不错的起点。但如果你掌握了丰富的构建模块类型,比如提示工程技巧、Agent框架、评估(evals)、安全护栏(guardrails)、RAG、语音技术栈、异步编程、数据抽取、嵌入向量和向量数据库、模型微调、图数据库与LLM的结合使用、Agent浏览器/计算机交互、MCP、推理模型等等,那你就能够构建出更加丰富多样、强大的系统组合。
强大的AI构建模块正在迅速增长。随着开源贡献者和企业不断推出新的模块,紧跟这些变化有助于不断扩展你的构建能力。尽管有新模块不断问世,但一两年前的一些构建模块(如评估技术或使用向量数据库的框架)至今依然非常实用。
AI辅助编程(AI-assisted coding)
AI辅助编程工具正在极大提升开发人员的生产力,且这些工具正以惊人的速度进步。GitHub Copilot 是最早的现代代码自动补全工具,于2021年首次发布(2022年广泛推出)。但不久之后,Cursor 和 Windsurf 等新一代AI驱动的IDE出现,提供了更强大的代码质量检查和生成能力。随着大型语言模型的进步,这些建立在其上的AI辅助工具也得到了提升。
现在,我们拥有了高度智能的编程助手,例如OpenAI的Codex和Anthropic的Claude Code(我个人非常喜欢使用Claude Code,它在多轮自动编写、测试和调试代码方面表现令人印象深刻)。在技术娴熟的工程师手中——他们不只是靠“感觉写代码”,而是深刻理解AI和软件架构的基本原理,并能围绕明确的产品目标进行系统性推进——这些工具能够以无与伦比的速度与效率构建软件。
我发现,相较于AI构建模块,AI辅助编程的技术更新速度更快,一两年前的方法往往已经不再是最佳实践。这可能是因为:虽然AI构建者可能会使用几十种甚至上百种模块,但很少会同时使用几十种代码辅助工具,因此在这些工具之间存在更强的“达尔文式竞争”。考虑到Anthropic、Google、OpenAI等公司在该领域的巨大投入,我预计这种快速发展还将持续。而持续紧跟AI辅助编程工具的最新进展将非常值得,因为每一代产品的进步都非常显著。
加分项:产品能力
在一些公司里,工程师只是根据产品经理提供的高度精确的像素级设计图进行编码实现。但如果产品经理必须事无巨细地进行说明,那会严重拖慢团队进度。当前AI产品经理的紧缺进一步加剧了这个问题。我发现,如果生成式AI工程师具备一定的用户同理心和基础的产品设计能力,团队的效率会更高。例如,当产品经理只给出一个大致方向(比如“一个让用户查看并修改个人信息的界面”),工程师能自主做出诸多决策,快速构建原型并开始迭代。
在面试生成式AI应用工程师时,我通常会考察他们对AI构建模块的掌握程度、是否能熟练使用AI辅助编程工具,有时也会了解他们的产品/设计直觉。其中一个我认为非常具有预测性的面试问题是:“你通常如何跟进AI领域的最新进展?”由于AI发展极快,有效的跟进策略(例如阅读The Batch、参加我们的短期课程 😃、经常动手实操项目、参与技术社群)能够让他们远远领先于那些仅依赖社交媒体获取AI信息的人——因为社交媒体往往难以提供足够的深度和系统性。
请不断构建!
吴恩达