GenAI应用工程师崛起:构建未来AI应用的引擎

1

在生成式人工智能(GenAI)的浪潮下,涌现出了一批新型的GenAI应用工程师。他们利用生成式AI,以前所未有的速度构建功能强大的应用程序。对于企业而言,能够胜任这一角色的工程师炙手可热,但对其关键技能的定义仍在不断演变。本文将深入探讨GenAI应用工程师的核心技能,以及如何在面试中识别出具备这些技能的优秀人才。

GenAI应用工程师的关键技能

优秀的GenAI应用工程师应具备以下两个主要能力:

  1. 利用AI构建模块快速构建应用:他们能够熟练运用各种AI工具和技术,像使用乐高积木一样,快速搭建出功能完善的应用程序。
  2. 利用AI辅助实现快速工程化:他们能够借助AI的强大能力,大幅缩短软件系统的开发时间,实现高效的软件开发。

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

AI构建模块

如果只有单一类型的乐高积木,你可能只能搭建一些简单的结构。但如果拥有各种各样的积木,你就可以将它们组合起来,快速搭建出复杂的、功能性的结构。软件框架、SDK和其他工具也是如此。仅仅知道如何调用大型语言模型(LLM)API,这只是一个良好的开端。更重要的是,要掌握各种类型的构建模块,例如提示工程(prompting techniques)、自主代理框架(agentic frameworks)、评估(evals)、安全护栏(guardrails)、检索增强生成(RAG)、语音技术栈(voice stack)、异步编程(async programming)、数据提取、嵌入/向量数据库(embeddings/vectorDBs)、模型微调(model fine tuning)、LLM图数据库使用、自主代理浏览器/计算机使用、最小变化原则(MCP)、推理模型等等。掌握的构建模块越多,能够创造出的组合就越丰富。

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

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

AI辅助编码

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

现在,我们拥有了高度自主的编码助手,例如OpenAI的Codex和Anthropic的Claude Code。Claude Code在编写代码、测试和自主调试方面的能力令人印象深刻。在熟练的工程师手中,这些工具能够以惊人的速度和效率构建软件。这些工程师不仅要避免盲目“跟随感觉编码”(vibe code),而且要深入理解AI和软件架构的基础知识,并能够引导系统朝着经过深思熟虑的产品目标前进。

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

产品技能(加分项)

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

在面试GenAI应用工程师时,通常会询问他们对AI构建模块的掌握程度、使用AI辅助编码的能力,有时还会考察他们的产品/设计直觉。此外,还有一个问题能够很好地预测他们的技能水平:“你是如何掌握AI领域最新进展的?”由于AI技术发展迅速,掌握有效学习策略的人(例如阅读行业资讯、参加短期课程、定期进行项目实践以及积极参与社区讨论)能够比那些学习策略效率较低的人(例如主要通过社交媒体获取AI信息,而社交媒体通常无法提供足够的深度)更好地保持领先地位。

总而言之,GenAI应用工程师是推动AI应用创新和高效开发的关键力量。他们需要具备扎实的AI基础知识、熟练的编码能力、以及良好的产品意识。通过不断学习和实践,他们能够构建出更加智能、高效的应用程序,为企业和社会创造更大的价值。

如何识别优秀的GenAI应用工程师

除了考察上述提到的关键技能外,在面试中还可以通过以下方式来识别优秀的GenAI应用工程师:

  • 深入了解其项目经验:询问他们参与过的GenAI项目,以及在项目中遇到的挑战和解决方案。这可以帮助你了解他们的实际操作能力和解决问题的能力。
  • 考察其对AI原理的理解:避免只关注他们使用的工具和框架,要深入了解他们对AI底层原理的理解。例如,询问他们对Transformer模型的理解,或者对不同优化算法的优缺点的看法。
  • 评估其学习能力和适应能力:由于AI技术发展迅速,学习能力和适应能力至关重要。可以通过询问他们如何学习新的AI技术,或者如何应对项目中出现的技术难题来评估他们的学习能力和适应能力。
  • 考察其团队合作能力和沟通能力:GenAI项目通常需要团队合作,因此团队合作能力和沟通能力也很重要。可以通过询问他们在团队中扮演的角色,以及如何与团队成员沟通协作来评估他们的团队合作能力和沟通能力。

GenAI应用工程师的未来发展趋势

随着AI技术的不断发展,GenAI应用工程师的角色也将不断演变。未来,他们可能需要掌握以下技能:

  • 多模态AI:能够处理和整合来自不同模态的数据,例如文本、图像、音频和视频。
  • 可解释AI:能够解释AI模型的决策过程,提高AI系统的透明度和可信度。
  • 安全AI:能够构建安全可靠的AI系统,防止AI系统被恶意利用。
  • 负责任的AI:能够确保AI系统的公平性、公正性和伦理性。

总之,GenAI应用工程师是一个充满挑战和机遇的职业。通过不断学习和提升自己的技能,他们可以在AI领域取得更大的成就,为社会创造更大的价值。

最后,我想强调的是,GenAI应用工程师的培养需要企业、高校和个人共同努力。企业应该提供更多的实践机会和培训资源,高校应该加强AI相关课程的建设,个人应该保持学习的热情和积极性。只有这样,才能培养出更多优秀的GenAI应用工程师,推动AI技术的创新和应用。