解密GenAI应用工程师:AI时代软件开发的全新驱动力

1

GenAI应用工程师的新时代

在生成式人工智能(GenAI)的推动下,新一代软件工程师正在以前所未有的速度构建功能强大的应用程序。本文将深入探讨这些工程师的关键技能,并分享如何在面试中识别他们。

GenAI应用工程师的核心能力

优秀的GenAI应用工程师需要满足两个主要标准:

  1. **运用AI构建模块快速构建强大的应用程序:**他们能够熟练地运用各种AI技术,像使用乐高积木一样,快速搭建起功能完善的应用。
  2. **利用AI辅助加速工程开发:**他们能够借助AI的力量,在极短的时间内完成软件系统的构建。

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

Colorful LEGO bricks labeled for AI concepts: prompting, agentic, guardrails, evals, RAG, fine-tuning, computer use, async programming.

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

如果只有一种乐高积木,你可能只能搭建一些简单的结构。但如果拥有各种各样的积木,就能迅速组合出复杂且功能强大的模型。软件框架、SDK和其他工具也是如此。仅仅知道如何调用大型语言模型(LLM)API是一个好的开始,但如果掌握了更广泛的构建模块,例如提示工程(prompting techniques)、Agentic框架、评估(evals)、安全护栏(guardrails)、检索增强生成(RAG)、语音技术栈(voice stack)、异步编程(async programming)、数据提取、嵌入/向量数据库(embeddings/vectorDBs)、模型微调、LLM与图数据库(graphDB)的结合应用、Agentic浏览器/计算机使用、MCP、推理模型等等,你就可以创造出更加丰富和强大的应用。

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

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

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

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

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

附加优势:产品技能

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

面试GenAI应用工程师

在面试GenAI应用工程师时,我通常会询问他们对AI构建模块的掌握程度以及使用AI辅助编码的能力,有时还会考察他们的产品/设计直觉。我发现,还有一个问题能够很好地预测他们的技能水平,那就是“你如何了解AI领域的最新进展?”由于AI的快速发展,那些拥有良好学习策略的人,例如阅读_The Batch_和参加短期课程😃,定期进行实践项目,并拥有一个可以交流的社区,确实比那些学习策略不够有效的人(例如,主要通过社交媒体获取AI信息,而社交媒体通常无法提供足够的深度)更能保持领先地位。

总结

GenAI应用工程师是推动AI技术应用的关键力量。他们需要掌握各种AI构建模块,熟练运用AI辅助编码工具,并具备一定的产品设计能力。通过不断学习和实践,他们能够构建出更加强大和创新的应用程序,为各行各业带来变革。

Mathematics for Machine learning and data science specialization. Enroll now to the course