GenAI应用工程师崛起:定义AI驱动的软件开发新范式

0

在生成式人工智能(GenAI)的浪潮下,涌现出了一批全新的软件工程师,他们正以惊人的速度构建前所未有的强大应用程序。这群被称为GenAI应用工程师的新锐,凭借着对AI技术的深刻理解和创新应用,正在重新定义软件开发的边界。本文旨在深入剖析GenAI应用工程师的关键技能,并探讨在招聘面试中如何慧眼识珠,甄别出真正的人才。

GenAI应用工程师的核心能力

卓越的GenAI应用工程师需满足以下两个核心标准:

  1. AI构建模块的熟练运用:他们能够运用各种新兴的AI技术组件,快速构建功能强大的应用程序。
  2. AI辅助的敏捷工程能力:他们能够借助AI工具,显著提升软件系统的开发效率,以远低于以往的时间完成项目。

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

AI构建模块:从乐高积木到AI工具箱

试想一下,如果你只有单一类型的乐高积木,那么你只能搭建一些非常基础的结构。但如果你拥有各种各样的积木,就能将它们组合起来,快速构建出复杂且功能完善的模型。软件框架、软件开发工具包(SDK)以及其他类似的工具也是如此。仅仅掌握如何调用大型语言模型(LLM)应用程序接口(API)只是一个良好的开端。更重要的是,要拥有广泛的构建模块类型——例如,提示工程(Prompting)技术、Agentic框架、评估(Evals)方法、安全防护(Guardrails)、检索增强生成(RAG)、语音技术栈、异步编程、数据提取、嵌入/向量数据库(vectorDBs)、模型微调、LLM与图数据库(graphDB)的结合应用、Agentic浏览器/计算机使用、最小可信路径(MCP)、推理模型等。掌握的工具越多,就能创造出越丰富、越强大的组合。

AI构建模块:从乐高积木到AI工具箱

AI构建模块的数量正在快速增长。随着开源社区和企业不断推出新的构建模块,及时掌握这些新工具,有助于不断扩展你的构建能力。即使是一两年前的技术,如评估方法或向量数据库的使用框架,在今天仍然具有重要价值。

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辅助编码工具的最新发展将带来回报,因为每一代工具都比上一代更好。

额外加分项:产品技能

在一些公司,工程师只需按照产品经理提供的像素级精确的设计图,编写代码来实现产品即可。然而,如果产品经理需要事无巨细地指定每一个细节,这将会降低团队的开发速度。人工智能产品经理的短缺加剧了这一问题。如果GenAI工程师也具备一定的用户同理心和基本的产品设计能力,那么团队的开发速度将会大大提升。这意味着,只需提供关于构建内容的高级指导(例如,“一个允许用户查看个人资料和更改密码的用户界面”),他们就可以自行做出许多决策,并构建至少一个可供迭代的原型。

面试GenAI应用工程师的技巧

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

GenAI应用工程师的崛起:案例分析

为了更具体地说明GenAI应用工程师的价值,让我们来看一个案例。一家初创公司致力于开发一款AI驱动的客户服务聊天机器人。传统的开发方法可能需要一个由多名工程师组成的团队花费数月时间才能完成。然而,借助GenAI应用工程师,他们能够利用现有的LLM、向量数据库和Agentic框架,在短短几周内构建出一个功能完善的聊天机器人原型。

这位GenAI应用工程师首先利用提示工程技术,优化了LLM的输出,使其能够更自然地与用户进行对话。然后,他使用向量数据库来存储和检索相关的客户信息,从而使聊天机器人能够提供个性化的服务。最后,他使用Agentic框架来协调聊天机器人的各个组件,使其能够自主地执行任务,例如回答问题、解决问题和提供建议。

更重要的是,这位GenAI应用工程师还具备良好的产品设计能力。他与产品经理密切合作,了解用户的需求和痛点,并根据这些反馈不断改进聊天机器人的设计。最终,他们成功地开发出了一款能够显著提高客户满意度和降低客户服务成本的聊天机器人。

GenAI应用工程师的未来展望

随着AI技术的不断发展,GenAI应用工程师的角色将变得越来越重要。他们将成为企业数字化转型的重要驱动力,帮助企业构建更智能、更高效的应用程序。为了在竞争激烈的市场中脱颖而出,企业需要积极寻找和培养GenAI应用工程师。以下是一些建议:

  • 调整招聘策略:在招聘时,不仅要关注候选人的技术能力,还要关注他们的学习能力、解决问题的能力和产品设计能力。
  • 提供培训和发展机会:为现有员工提供AI技术培训,帮助他们转型成为GenAI应用工程师。
  • 建立AI社区:鼓励员工积极参与AI社区,与其他开发者交流经验,共同学习和进步。

总之,GenAI应用工程师是推动AI技术创新和应用的关键力量。通过识别、培养和支持这些人才,企业可以抓住AI带来的机遇,实现业务的快速增长。

GenAI应用工程师的技能清单

为了帮助读者更好地了解GenAI应用工程师所需的技能,以下是一个详细的技能清单:

  1. 编程能力
    • 精通至少一种编程语言,如Python、JavaScript等。
    • 熟悉软件开发流程和工具。
    • 具备良好的代码编写习惯和调试能力。
  2. AI技术
    • 熟悉LLM的原理和应用。
    • 掌握提示工程技术。
    • 了解Agentic框架。
    • 熟悉向量数据库。
    • 了解模型微调技术。
    • 熟悉评估方法和安全防护。
  3. 云计算
    • 熟悉云计算平台,如AWS、Azure、GCP等。
    • 了解容器技术,如Docker、Kubernetes等。
    • 熟悉服务器部署和管理。
  4. 数据处理
    • 熟悉数据清洗、转换和加载(ETL)流程。
    • 了解数据分析和可视化工具。
    • 熟悉数据库技术,如SQL、NoSQL等。
  5. 产品设计
    • 具备用户同理心。
    • 了解用户界面(UI)和用户体验(UX)设计原则。
    • 熟悉原型设计工具。
  6. 学习能力
    • 具备快速学习新技术的能力。
    • 能够主动获取和分享知识。
    • 积极参与AI社区。
  7. 解决问题的能力
    • 能够独立分析和解决问题。
    • 具备创新思维。
    • 能够适应快速变化的环境。

GenAI应用工程师的面试问题

以下是一些可以用于面试GenAI应用工程师的问题:

  1. 请描述你使用LLM构建的最新项目。
  2. 你是如何选择合适的AI构建模块来解决特定问题的?
  3. 你是如何评估你的AI应用程序的性能和安全性?
  4. 你是如何跟上AI领域的最新发展的?
  5. 请分享你使用AI辅助编码工具的经验。
  6. 你如何将产品设计原则应用到你的AI应用程序中?
  7. 请描述你遇到的最具挑战性的AI项目,以及你是如何克服挑战的。

结语

GenAI应用工程师是AI时代的关键人才。通过了解他们的核心技能、培养他们的能力,并为他们提供发展机会,企业可以充分利用AI的潜力,实现业务的转型和增长。希望本文能够帮助读者更好地理解GenAI应用工程师的角色,并在招聘和发展这些人才方面做出明智的决策。