在生成式人工智能(GenAI)的浪潮下,一种新型的软件工程师正在崭露头角。他们借助GenAI的力量,以远超以往的速度构建更为强大的应用程序。本文旨在剖析这类工程师的关键技能,并提供在招聘面试中识别他们的有效方法。
GenAI应用工程师的核心能力
优秀的GenAI应用工程师通常具备以下两个核心能力:
- 利用AI构建模块快速构建应用:他们能够熟练运用各种AI技术,像乐高积木一样快速搭建功能强大的应用程序。
- AI辅助下的高效工程实践:他们能够借助AI工具,大幅缩短软件开发周期,实现高效的软件系统构建。
此外,出色的产品和设计sense也是一项重要的加分项。
AI构建模块:从单一到多元
正如拥有多种乐高积木才能搭建复杂的结构一样,掌握丰富的AI构建模块是构建强大应用的基础。仅仅掌握大型语言模型(LLM)API的调用是远远不够的。GenAI应用工程师需要熟悉各种构建模块,例如:
- Prompting技巧:掌握各种Prompting策略,提高LLM的输出质量。
- Agentic框架:利用Agentic框架构建自主运行的智能体。
- Evals:使用评估指标来衡量和改进AI模型的性能。
- Guardrails:构建安全防护机制,防止AI模型产生有害或不当的输出。
- RAG(Retrieval-Augmented Generation):融合检索和生成技术,提高LLM的知识覆盖面和生成质量。
- 语音技术栈:利用语音识别、语音合成等技术构建语音交互应用。
- 异步编程:使用异步编程提高系统的并发性和响应速度。
- 数据提取:从各种数据源提取有用的信息。
- Embeddings/VectorDBs:使用嵌入向量和向量数据库来存储和检索语义信息。
- 模型微调:通过微调预训练模型来适应特定任务。
- GraphDB与LLM的结合:利用图数据库来增强LLM的推理能力。
- Agentic浏览器/计算机使用:让智能体能够自主地使用浏览器和计算机。
- MCP(Markov Chain Prediction):使用马尔科夫链进行预测。
- 推理模型:构建能够进行逻辑推理的模型。
随着开源社区和商业公司不断推出新的AI构建模块,及时了解并掌握这些技术,才能不断扩展你的构建能力。即使是1-2年前的技术(例如评估技术或向量数据库的使用框架),在今天仍然具有重要意义。
AI辅助编码:提升开发效率的利器
AI辅助编码工具能够显著提高开发者的生产力,并且这些工具正在快速发展。Github Copilot率先实现了现代代码自动完成功能。随后,Cursor和Windsurf等AI赋能的IDE提供了更强大的代码质量保证和代码生成能力。随着LLM的不断改进,这些基于LLM的AI辅助编码工具也得到了显著提升。
现在,我们拥有了像OpenAI的Codex和Anthropic的Claude Code这样高度智能化的编码助手。这些工具能够自主地编写代码、测试和调试,并在多次迭代中不断完善。对于那些深刻理解AI和软件架构基础,并能够引导系统朝着精心选择的产品目标前进的工程师来说,这些工具能够以惊人的速度和效率构建软件。
与AI构建模块相比,AI辅助编码技术的发展速度更快,1-2年前的技术可能已经过时。这可能是因为开发者通常不会同时使用大量的编码辅助工具,因此工具之间的竞争更加激烈。Anthropic、Google、OpenAI等公司都在这个领域投入了巨额资金,预计未来的发展速度将会更快。因此,及时掌握最新的AI辅助编码工具,将会获得巨大的回报,因为每一代工具都比上一代更加优秀。
额外加分项:产品技能
在一些公司,工程师只需要按照产品经理提供的详细设计图编写代码即可。但是,如果产品经理需要事无巨细地指定每一个细节,这将会大大降低团队的开发效率。此外,AI产品经理的短缺也加剧了这个问题。如果GenAI工程师具备一定的用户同理心和产品设计能力,他们就可以在产品经理提供高层次指导的情况下,自主地做出许多决策,并构建出可迭代的原型。例如,当产品经理提出“构建一个让用户查看个人资料并修改密码的用户界面”的需求时,他们能够独立完成设计和开发工作。
面试GenAI应用工程师的技巧
在面试GenAI应用工程师时,我通常会询问他们对AI构建模块的掌握程度、使用AI辅助编码的能力,以及他们的产品和设计sense。此外,还有一个问题能够很好地预测他们的技能水平:“你如何跟上AI领域的最新发展?”
由于AI技术发展迅速,那些拥有高效学习策略的人,例如阅读The Batch和参加短期课程,定期进行实践项目,并积极参与社区讨论的人,通常能够更好地保持领先地位。相比之下,那些主要通过社交媒体获取AI信息的人,往往无法获得足够的深度来跟上技术的发展。
拥抱变革,不断精进!