GenAI应用工程师:AI赋能软件开发的未来之路

1

新型 GenAI 应用工程师:AI 赋能的软件开发未来

在生成式人工智能(GenAI)的推动下,软件工程领域正在经历一场深刻的变革。一种新型的工程师正在崛起,他们能够以前所未有的速度构建功能强大的应用程序。本文旨在剖析这些 GenAI 应用工程师的关键技能,并探讨在招聘面试中如何识别他们。

GenAI 应用工程师的核心能力

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

  1. 利用 AI 构建模块快速构建应用: 他们能够熟练运用各种 AI 技术,像搭积木一样快速构建复杂的应用程序。
  2. 借助 AI 辅助加速工程开发: 他们能够利用 AI 工具大幅提升开发效率,在更短的时间内完成软件系统的构建。

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

AI 构建模块:从单一到多元

如果只有一种乐高积木,你可能只能搭建一些简单的结构。但如果拥有各种各样的积木,就能快速组合出复杂而实用的模型。软件框架、SDK 和其他工具也是如此。仅仅掌握调用大型语言模型(LLM)API 只是一个开始。更重要的是,要拥有丰富的构建块类型,例如:

  • 提示工程(Prompting Techniques): 掌握各种提示技巧,引导 LLM 生成期望的输出。
  • Agentic 框架: 利用 Agentic 框架构建自主运行的 AI 代理。
  • 评估(Evals): 使用评估指标衡量 AI 模型的性能。
  • 防护措施(Guardrails): 设置安全屏障,防止 AI 模型产生有害或不当的输出。
  • 检索增强生成(RAG): 结合外部知识库,提升 LLM 的生成质量。
  • 语音技术栈(Voice Stack): 构建语音交互应用。
  • 异步编程(Async Programming): 提高应用程序的并发处理能力。
  • 数据提取(Data Extraction): 从非结构化数据中提取信息。
  • 嵌入/向量数据库(Embeddings/VectorDBs): 利用向量数据库存储和检索语义信息。
  • 模型微调(Model Fine Tuning): 根据特定任务优化 LLM 的性能。
  • 图数据库(GraphDB)与 LLM 的结合: 利用图数据库增强 LLM 的推理能力。
  • Agentic 浏览器/计算机使用: 使 AI 代理能够自主使用浏览器和计算机。
  • MCP(Meta-Cognitive Prompting): 利用元认知提示提升 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 于 2021 年首次发布(2022 年广泛使用),开创了现代代码自动完成的先河。此后,Cursor 和 Windsurf 等新型 AI 赋能的 IDE 提供了更强大的代码质量保证和代码生成功能。随着 LLM 的改进,这些构建于 LLM 之上的 AI 辅助编码工具也得到了提升。

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

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

额外优势:产品技能

在一些公司,工程师只需根据产品经理提供的详细设计图编写代码即可。但如果产品经理必须指定每一个细节,这会降低团队的效率。人工智能产品经理的短缺加剧了这个问题。如果 GenAI 工程师也具备一定的用户同理心和基本的产品设计能力,那么团队的效率会更高。例如,在得到关于构建内容的概要指导(“一个允许用户查看个人资料和更改密码的用户界面”)后,他们可以自己做出许多决定,并构建至少一个可供迭代的原型。

如何面试 GenAI 应用工程师

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

案例分析:GenAI 在电商推荐系统中的应用

假设一家电商公司希望构建一个能够根据用户行为和偏好进行个性化推荐的系统。传统的推荐系统可能需要大量的人工特征工程和模型调优,耗时耗力。而利用 GenAI 技术,可以更快速地构建一个更强大的推荐系统。

  1. 利用 Embedding 技术构建用户和商品的向量表示: 将用户和商品的行为数据(例如浏览记录、购买记录、评价等)输入到 Embedding 模型中,生成用户和商品的向量表示。这些向量能够捕捉用户和商品的语义信息,为后续的推荐提供基础。
  2. 使用 RAG 技术增强推荐内容: 将商品信息存储在向量数据库中,当用户发起推荐请求时,首先从向量数据库中检索与用户兴趣相关的商品,然后利用 LLM 生成包含相关商品信息的推荐内容。RAG 技术可以确保推荐内容与用户兴趣高度相关,并且包含最新的商品信息。
  3. 利用 Agentic 框架构建自主学习的推荐代理: 构建一个能够自主学习和优化的推荐代理。该代理可以根据用户的反馈(例如点击、购买、评价等)不断调整推荐策略,提升推荐效果。

通过以上步骤,可以快速构建一个高效、个性化的电商推荐系统。GenAI 技术不仅可以提升推荐效果,还可以大幅降低开发和维护成本。

数据佐证:GenAI 提升软件开发效率

根据 McKinsey 的一项研究,生成式 AI 可以将软件开发效率提高 20%-40%。这主要是因为 GenAI 技术可以自动化许多重复性的任务,例如代码生成、测试和文档编写。此外,GenAI 还可以帮助开发者更快地找到 bug 和优化代码,从而进一步提高开发效率。

例如,GitHub Copilot 可以自动生成代码片段,从而减少开发者编写代码的时间。Codex 和 Claude Code 等 AI 助手可以自动完成代码测试和调试,从而减少开发者在调试方面的工作量。这些工具的应用可以显著缩短软件开发周期,并降低开发成本。

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

GenAI 应用工程师的职业发展前景

随着 GenAI 技术的不断发展,GenAI 应用工程师的需求将会持续增长。他们将在各个行业发挥重要作用,例如软件开发、金融、医疗、教育等。GenAI 应用工程师的职业发展前景广阔,他们可以成为 AI 架构师、AI 产品经理、AI 顾问等。

为了在这个快速发展的领域保持竞争力,GenAI 应用工程师需要不断学习新的技术和工具,并积极参与开源社区和行业交流。只有不断提升自己的技能,才能在这个充满机遇的时代取得成功。

总结而言,GenAI 应用工程师是 AI 时代软件开发的关键力量。他们掌握 AI 构建模块,精通 AI 辅助编码,并具备良好的产品和设计直觉。通过不断学习和实践,他们将推动 AI 技术在各个领域的应用,并为社会创造更大的价值。