GenAI应用工程师:AI时代软件开发的变革者

1

迎接GenAI应用工程师的新时代

亲爱的朋友们,

随着生成式人工智能(GenAI)的蓬勃发展,一种全新的软件工程师正在崛起——GenAI应用工程师。他们能够以前所未有的速度构建功能强大的应用程序,这在很大程度上归功于生成式AI技术的赋能。目前,各大企业对这类人才的需求日益增长,但对于这一角色的具体定义和所需技能仍在不断演变。接下来,我将详细阐述GenAI应用工程师的关键技能,并分享我在面试中常用的问题,以帮助大家更好地识别和选拔这类人才。

GenAI应用工程师的核心技能

卓越的GenAI应用工程师通常具备以下两个核心能力:

  1. 运用新型AI构建模块快速构建应用:他们能够熟练地运用各种AI工具和技术,像搭积木一样快速搭建出功能完善的应用程序。
  2. 利用AI辅助实现高效工程:他们能够借助AI的力量,大幅缩短软件系统的开发周期,以惊人的速度完成工程任务。

此外,优秀的产品和设计直觉也是一项重要的加分项。

AI快讯

AI构建模块:掌握多种“积木”

想象一下,如果你只有一种乐高积木,你可能只能搭建一些简单的结构。但如果你拥有各种各样的积木,你就可以将它们组合起来,快速构建出复杂而实用的模型。软件框架、软件开发工具包(SDK)以及其他类似工具也是如此。仅仅掌握大型语言模型(LLM)的应用程序接口(API)调用只是一个良好的开端。更重要的是,要掌握各种构建模块,例如提示工程(Prompting Techniques)、自主代理框架(Agentic Frameworks)、评估(Evals)、安全防护(Guardrails)、检索增强生成(RAG)、语音栈(Voice Stack)、异步编程(Async Programming)、数据提取、嵌入/向量数据库(Embeddings/VectorDBs)、模型微调(Model Fine Tuning)、利用LLM的图数据库(GraphDB Usage with LLMs)、自主代理浏览器/计算机使用、模型压缩(MCP)以及推理模型等。只有掌握了这些丰富的“积木”,才能构建出更加丰富多彩的应用。

AI构建模块的数量正在迅速增长。随着开源社区和企业不断推出新的构建模块,及时了解和掌握这些新工具,将有助于不断扩展你的构建能力。即使是1到2年前的构建模块,例如评估技术或向量数据库的使用框架,在今天仍然具有重要的现实意义。

AI辅助编码:提升开发效率的利器

AI辅助编码工具能够显著提高开发者的生产力,并且这些工具也在快速发展。GitHub Copilot于2021年首次发布(并在2022年得到广泛应用),开创了现代代码自动完成的先河。此后不久,诸如Cursor和Windsurf等新型AI集成开发环境(IDE)提供了更强大的代码质量保证(QA)和代码生成功能。随着LLM的不断改进,这些构建于LLM之上的AI辅助编码工具也得到了显著提升。

现在,我们拥有了高度自主的编码助手,例如OpenAI的Codex和Anthropic的Claude Code。我个人非常喜欢使用Claude Code,它在编写代码、测试和调试方面的自主能力给我留下了深刻的印象。在熟练的工程师手中——他们不仅能“随心所欲地编写代码”,还能深刻理解AI和软件架构的基础知识,并能引导系统朝着精心选择的产品目标前进——这些工具能够以无与伦比的速度和效率构建软件。

我发现,AI辅助编码技术的更新迭代速度远快于AI构建模块,1到2年前的技术已经远不能代表今天的最佳实践。部分原因可能是,AI构建者可能会使用几十个甚至数百个不同的构建模块,但他们不太可能同时使用几十个不同的编码辅助工具。因此,工具之间的“达尔文竞争”更加激烈。鉴于Anthropic、Google、OpenAI以及其他参与者在该领域的巨额投资,我预计这种快速发展势头将继续保持下去。及时掌握AI辅助编码工具的最新进展将会带来回报,因为每一代工具都比上一代工具更加出色。

额外加分项:产品技能

在一些公司,工程师只需按照产品经理提供的像素级完美的产品图纸,编写代码来实现即可。但如果产品经理需要详细地指定每一个细节,这无疑会降低团队的开发速度。人工智能产品经理的短缺加剧了这个问题。我发现,如果GenAI工程师也具备一定的用户同理心和基本的产品设计技能,团队的开发速度会更快。例如,在仅获得关于构建内容的初步指导(例如“一个允许用户查看个人资料和更改密码的用户界面”)的情况下,他们可以自己做出许多决策,并构建至少一个可供迭代的原型。

在面试GenAI应用工程师时,我通常会询问他们对AI构建模块的掌握程度、使用AI辅助编码的能力,以及他们的产品/设计直觉。我发现,还有一个问题能够很好地预测他们的技能水平,那就是“你如何了解AI领域的最新发展?”由于AI技术发展迅速,那些拥有良好学习策略的人——例如阅读The Batch、参加短期课程、定期进行实践项目以及拥有一个可以交流的社区——确实比那些学习效率较低的人更能保持领先地位。相比之下,如果社交媒体是他们获取AI信息的主要来源,这通常无法提供他们跟上时代所需的深度。

不断构建,不断进步!

Andrew

案例分析:GenAI在软件开发中的应用

为了更深入地理解GenAI应用工程师如何利用AI技术来加速软件开发,让我们来看一个具体的案例。假设一家公司需要开发一个智能客户服务聊天机器人。传统的开发方式可能需要一个团队花费数月的时间来完成,包括需求分析、模型训练、代码编写和测试等环节。然而,借助GenAI技术,这个过程可以被大大缩短。

首先,GenAI应用工程师可以利用预训练的LLM作为聊天机器人的核心引擎。这些LLM已经接受过海量数据的训练,具备了强大的自然语言理解和生成能力。工程师只需要对这些模型进行微调,使其适应特定的客户服务场景即可。这大大减少了模型训练所需的时间和资源。

其次,工程师可以利用AI辅助编码工具来加速代码编写过程。例如,他们可以使用GitHub Copilot来自动完成代码片段,或者使用Claude Code来自动生成测试用例。这些工具可以显著提高代码编写的效率和质量,减少人工错误。

此外,工程师还可以利用AI构建模块来增强聊天机器人的功能。例如,他们可以使用RAG技术来检索相关的知识库文章,以便为用户提供更准确和全面的答案。他们还可以使用情感分析模型来识别用户的情绪,并根据情绪调整聊天机器人的回复。

通过将这些AI技术整合在一起,GenAI应用工程师可以在短短几周内构建出一个功能强大的智能客户服务聊天机器人。这个案例充分展示了GenAI技术在软件开发中的巨大潜力,以及GenAI应用工程师所扮演的关键角色。

数据佐证:GenAI对开发效率的提升

除了案例分析之外,还有大量的数据可以佐证GenAI对开发效率的提升。例如,一项针对GitHub Copilot用户的调查显示,使用该工具的开发者代码编写速度提高了55%,代码质量提高了12%。另一项针对Claude Code用户的调查显示,使用该工具的开发者代码调试时间减少了40%。

这些数据表明,GenAI技术不仅可以加速软件开发过程,还可以提高代码的质量和可靠性。随着GenAI技术的不断发展,我们可以期待它在软件开发领域发挥更大的作用。

如何成为一名优秀的GenAI应用工程师

如果你对成为一名GenAI应用工程师感兴趣,以下是一些建议:

  1. 深入学习AI基础知识:GenAI应用工程师需要对AI的基本原理和技术有深入的了解,包括机器学习、深度学习、自然语言处理等。只有掌握了这些基础知识,才能更好地理解和运用各种AI工具和技术。
  2. 掌握各种AI构建模块:GenAI应用工程师需要掌握各种AI构建模块,例如提示工程、自主代理框架、评估、安全防护、检索增强生成、语音栈、异步编程、数据提取、嵌入/向量数据库、模型微调、利用LLM的图数据库、自主代理浏览器/计算机使用、模型压缩以及推理模型等。只有掌握了这些构建模块,才能构建出更加丰富多彩的应用。
  3. 熟练使用AI辅助编码工具:GenAI应用工程师需要熟练使用各种AI辅助编码工具,例如GitHub Copilot、Claude Code、Cursor和Windsurf等。这些工具可以显著提高代码编写的效率和质量,减少人工错误。
  4. 培养产品思维:GenAI应用工程师需要具备一定的产品思维,能够理解用户的需求,并设计出满足用户需求的产品。这需要不断地学习和实践,积累经验。
  5. 保持学习的热情:AI技术发展迅速,GenAI应用工程师需要保持学习的热情,不断学习新的技术和工具,才能跟上时代的步伐。

总之,GenAI应用工程师是一个充满挑战和机遇的新兴职业。如果你对AI技术充满热情,并渴望利用AI技术来改变世界,那么GenAI应用工程师将是一个非常适合你的选择。