#AI
AI 原生软件工程师 - Addy Osmani 著 - Elevate
Addy Osmani 详细探讨了如何将人工智能(AI)深度整合到日常工程工作流程中,提出了“AI 原生软件工程师”的概念。这种工程师将 AI 视作合作伙伴,而非替代品,通过积极利用 AI 提升工作效率和创造力。
AI 原生工程师的核心在于心态转变:不再担忧 AI 可能取代自己,而是主动思考 AI 如何帮助更快、更好地完成任务。这种心态是乐观且积极的,将 AI 视作生产力和创造力的倍增器。对于经验丰富的开发人员来说,他们的专业知识能够帮助他们以更有效的方式提示 AI,从而获得高质量的结果。例如,高级工程师可以通过提出合适的问题和提供适当的上下文,从 AI 那里获得类似同行的解答。
AI 原生工程师需要拥抱持续学习和适应,从项目开始就将基于 AI 的辅助和自动化融入软件开发中。虽然可能会遇到不确定性和学习曲线,但最终目标是激发对 AI 的兴奋和把握机遇。AI 原生工程师将 AI 视作一种方式,用于委托开发中重复性或耗时的部分(如样板代码编写、文档起草或测试生成),从而将自己解放出来,专注于更高层次的问题解决和创新。
AI 是一个合作者而非替代品。AI 原生工程师将 AI 视作一个知识渊博但资历较浅的结对编程伙伴,随时可用。尽管 AI 可以提供想法、解决方案甚至警告,但工程师仍然主导开发过程,并对 AI 的输出进行监督和验证。AI 生成的低质量代码是真实存在的,因此工程师必须对 AI 输出进行全面审查和测试,确保代码的质量、可读性、安全性和正确性。
AI 原生工程师的角色正在发生变化,他们更像是管理者而非单纯的执行者。工程师需要定义和“分配”任务,而不是亲自完成所有工作。这种角色转变使得团队规模更小,能够更高效地完成任务,并在软件开发生命周期(SDLC)中压缩步骤,更快地交付高质量的产品。
Addy Osmani 详细介绍了如何将 AI 整合到日常工作中。
首先,从一开始就让 AI 参与任务,例如使用 Gemini Deep Research 进行研究或在设计辩论中快速生成原型。
其次,选择合适的 AI 工具,如 GitHub Copilot 或 Cursor 等代码助手,并将其集成到开发环境中。
第三,学习提示工程的基础知识,提供清晰的上下文和具体指令,以提高 AI 的响应质量。
第四,将 AI 应用于实际的编码任务,如生成样板代码或重复代码。
第五,将 AI 应用于非编码任务,如撰写提交信息、拉取请求描述或技术文档。
第六,通过反馈迭代和优化 AI 输出,改进提示并提高 AI 的可靠性。
第七,始终验证和测试 AI 输出,确保其符合专业工程标准。
最后,逐步扩展到更复杂的用例,如使用 AI 进行端到端原型设计或在编码时实时监控。
Addy Osmani 还探讨了 AI 在软件开发生命周期中的作用,包括需求分析、系统设计、编码实现、测试、调试、维护、部署和运维等各个阶段。AI 可以帮助生成用户故事、分析竞争产品、提出架构建议、生成代码、调试代码、生成测试用例、解释遗留代码、生成基础设施代码、分析监控数据等。通过将 AI 应用于这些阶段,工程师可以将更多时间集中在创造性设计、关键思考和决策上,从而提高开发效率和质量。