程序员的未来:AI 是否会接管编程工作?[译]
编程助手会接管软件开发吗?
AI 编程助手正在进入原属于人类程序员的代码领域。这些 AI 系统真的会全面接管软件开发吗?
担忧:随着不知疲倦的 AI 智能体能够规划、编写、调试和记录代码,而且表现得和人类一样甚至更好,编程职位将逐渐消失。软件工程师可能会像无家可归的幽灵一样徘徊在就业市场中。
恐怖故事:自 2020 年以来,AI 驱动的编程工具从完成单行代码发展到生成复杂的程序。越来越多的程序员正在使用自动化助手工作。这些工具随着不断发展,在开发周期中的作用也越来越大。
微软的 GitHub Copilot 利用 OpenAI 的大语言模型,成为了第一个流行的编程助手之一,能够在 Visual Studio 等热门开发环境中提供完整代码行的建议。在 GitHub 针对使用 Copilot 的埃森哲开发人员的一项调查中,70% 的受访者表示在使用该系统时精神负担更小。超过一半的受访者认为它“非常有用”。在另一项独立研究中,Copilot 显著提升了开发人员的生产力。
Amazon 的 CodeWhisperer 和 Cursor 能够自动完成 Python、Java、JavaScript 和 C# 等语言的代码。CodeWhisperer 还会标记与开源项目相似的代码行,以帮助开发者处理适当的授权管理。Cursor 则允许开发人员选择所使用的底层大语言模型,这一功能即将在未来几周内加入 Copilot。
OpenAI 的 o1 承诺能够进行推理,能够将复杂问题分解为多个步骤。o1 集成在 Aider 等工具中,扩展了 AI 在项目规划、架构设计和文档编写中的角色。
Replit Agent、Devin 和 OpenHands 宣称自己是全方位的自动化工程师。Replit Agent 在 Replit 平台上通过生成代码、修复错误和管理项目依赖性来简化编程流程。Devin 和 OpenHands 则可以接受自然语言指令生成原型程序。
Anthropic 最近推出了一种 API,可以像人类一样控制计算机桌面——这是未来可能拥有代理能力的程序的前兆,这些程序或许将完全接管软件工程师的计算机。未来的 AI 助手甚至可能在不同的桌面应用程序间切换,以编写代码、更新任务、与同事沟通等等。那么,程序员还能剩下什么工作呢?
你需要有多担心:Nvidia 的 CEO 黄仁勋曾预测 AI 会让“世界上的每个人都成为程序员”,但也有评论担心 Copilot 会侵蚀开发者的解决问题的能力。然而,实际情况更为复杂。研究表明,自动化可能会执行某些编码任务,但并不会取代整个编程职业。这些工具在例行任务和模板代码方面表现优异,但它们放大了开发者的核心技能,而非完全自动化。例如,确定程序应该实现的功能、与同事协作以及将业务需求转化为软件设计等概念性任务,仍然是人类程序员的领域——至少目前如此。
面对恐惧:程序员在拥抱 AI 助手方面有更多可获得的好处,而不是应该畏惧它们。这些工具不仅仅是在自动化任务;它们能够加速学习、精炼解决问题的能力,并提升编程技能。那些既掌握编程基础知识又能熟练运用 AI 助手的开发者,不仅会适应未来的需求——还会蓬勃发展!