吴恩达团队通过分析超过 10,000 个招聘信息;
对人工智能专家、招聘经理和招聘人员进行数十次结构化访谈;
通过调查收集数据;以及综合其他在线数据,总结出以下四项最重要的 AI 工程技能:
- 构建和部署人工智能应用程序( Building and deploying AI applications )
- 软件工程基础知识( Software engineering fundamentals )
- 使用编程代理( Using coding agents )
- 塑造结构( Shaping the build)
1. 构建和部署
人工智能应用与非人工智能应用的主要区别在于前者具有不可预测的输出。
当你向逻辑学习模型(LLM)发出指令时,你无法预知会得到什么结果。
当你训练深度学习算法时,你也无法预知它会对新的样本做出怎样的预测。
相比之下,传统软件的行为则更具可预测性。
擅长构建和部署人工智能应用的人员不仅了解人工智能的基本组成部分(例如逻辑逻辑模型、上下文工程、红绿灯系统、智能体工作流、机器学习和深度学习),
更重要的是,他们还懂得如何运用统计技术来衡量、引导和管理人工智能系统,使其行为更具可预测性。
其中一项核心技能是懂得如何开展严谨的评估和误差分析循环。
2. 软件工程
理解软件的工作原理时,能更高效地进行开发。
软件工程需要在成本、可扩展性、可靠性、速度等诸多因素之间进行权衡。安全性和隐私性则进一步增加了复杂性。
理解软件基础知识能让你认识到各种权衡取舍( trade off )的存在。
- 做出更好的决策:选择软件栈、设计系统架构、设计数据存储、测试等方面;
- 更好地使用 AI Coding:运用软件工程来引导 Coding Agent,做出合理的权衡取舍,而不是凭感觉;
3. 使用 AI Coding
有效运用智能体编码如今已成为每位开发者的一项关键技能。
掌握这项技能,你就能对智能体的工作原理形成清晰的认知模型。
你了解它们的局限性以及如何克服这些局限性,并能快速引导它们——懂得适度干预和放任自流——从而构建出健壮的软件,同时避免浪费过多的时间和 token。
这要求您了解如何管理编码代理的上下文,如何在计划和执行之间进行权衡,以及如何通过提供验证器或评估来帮助代理自主地闭合循环。
您还需要知道如何使用清晰的规范(以及何时不必这样做),如何协调多个协同工作的代理,以及如何避免诸如代理破坏生产数据库之类的陷阱。
由于代理编码技术发展迅速,熟练地使用编码代理不仅意味着掌握前沿实践,还意味着要养成不断尝试新工具并随着最佳实践的变化而改进工作流程的习惯。
4. 塑造结构
有了清晰的规范,编码代理在交付符合规范的产品方面正在迅速进步。
因此,我们工程师的工作重心正在转向决定规范中应该包含哪些内容。
工程师不应再期望获得一个像素级完美的设计,然后只需照办即可。
相反,高效的 AI 工程师需要具备产品意识,理解业务背景和客户目标,从而参与到构建过程的塑造和驱动中。
人工智能也赋予你比以往更大的自主权和掌控权。
你可以发现有趣的问题和机遇,并以负责任的方式加以利用。
要抓住这个机遇,你需要知道如何推动项目进展。
例如,何时应该快速构建最小可行产品(MVP)供用户测试,何时应该放慢速度,花更多时间进行更细致的开发。
所有这些技能的基础是持续学习的心态。
人工智能发展日新月异,因此我们必须不断学习和提升自身技能,以适应不断涌现的最佳实践。