新一代GenAI应用工程师:技能、工具与面试策略

2

在生成式人工智能(GenAI)的浪潮下,一种全新的软件工程师正在崛起。他们借助GenAI的力量,以前所未有的速度构建功能强大的应用程序。本文将深入探讨这些新型工程师的关键技能,以及如何在面试中识别他们。

GenAI应用工程师的核心技能

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

  1. 运用AI构建模块:他们能够利用各种AI工具和技术,快速搭建强大的应用程序。
  2. AI辅助的快速工程:他们善于利用AI的辅助,大幅缩短软件系统的开发时间。

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

AI构建模块:乐高积木的比喻

如果将软件开发比作搭建乐高积木,那么AI构建模块就是不同类型的积木块。拥有单一类型的积木,你只能搭建一些简单的结构。但如果拥有各种各样的积木,你就可以快速组合它们,构建复杂而功能完善的结构。软件框架、SDK和其他工具也是如此。

仅仅掌握如何调用大型语言模型(LLM)API只是一个开始。一个优秀的GenAI工程师需要掌握广泛的构建模块,例如:

  • 提示工程(Prompting Techniques):掌握如何有效地与LLM进行交互,以获得期望的输出。
  • Agentic框架:利用Agentic框架构建自主运行的智能体。
  • 评估(Evals):评估LLM的性能和输出质量。
  • 安全防护(Guardrails):确保LLM的输出安全可靠,避免有害信息的生成。
  • 检索增强生成(RAG):结合外部知识库,提高LLM的生成质量。
  • 语音技术栈(Voice Stack):构建语音交互应用。
  • 异步编程(Async Programming):提高应用程序的并发性和响应速度。
  • 数据提取(Data Extraction):从非结构化数据中提取有用信息。
  • 嵌入/向量数据库(Embeddings/VectorDBs):利用向量数据库进行语义搜索和相似度匹配。
  • 模型微调(Model Fine Tuning):针对特定任务对LLM进行微调,提高性能。
  • 图数据库(GraphDB):结合图数据库和LLM进行知识推理和关系分析。
  • Agentic浏览器/计算机使用:使智能体能够自主使用浏览器和计算机。
  • MCP(多上下文学习):利用多上下文信息提高LLM的生成质量。
  • 推理模型(Reasoning Models):构建具有推理能力的AI系统。

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率先实现了现代代码自动完成功能。随后,Cursor和Windsurf等新一代AI赋能的IDE提供了更强大的代码质量保证和代码生成能力。随着LLM的不断改进,这些基于LLM的AI辅助编码工具也得到了提升。

现在,我们拥有了高度Agentic的编码助手,例如OpenAI的Codex和Anthropic的Claude Code。这些工具能够自主编写代码、测试和调试,在多次迭代中不断完善。对于那些不仅会“随感觉编码”,而且深入理解AI和软件架构基础,并能引导系统朝着精心选择的产品目标前进的熟练工程师来说,这些工具能够以前所未有的速度和效率构建软件。

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

额外加分项:产品技能

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

面试GenAI应用工程师的技巧

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

结论

GenAI应用工程师是推动AI技术发展的关键力量。他们需要掌握广泛的AI构建模块,善于利用AI辅助编码工具,并具备良好的产品sense。通过有效的面试技巧,我们可以找到那些能够利用GenAI的力量,快速构建强大应用程序的优秀人才。