进入互联网时代,程序员作为高收入职业的代表,长久以来一直是众多求职者梦寐以求的工作方向。程序员们凭借其对计算机科学的深刻理解和技术创新能力,不仅推动了科技的进步,也为自己赢得了可观的经济回报。
然而,随着人工智能技术的飞速发展,这一职业的从业者也开始出现一定的危机感。AI 的高效处理能力和自我学习能力,使得一些编程任务可以被自动化工具和智能系统所取代,这无疑对传统的编程工作构成了挑战。
日前,阿里云正在内部全面推行 AI 编程,使用“通义灵码”辅助程序员写代码、读代码、查 BUG、优化代码等。阿里云还专门给通义灵码分配了一个正式的员工工号——AI001。一些不明就里的人大呼“程序员要失业了”,但事实远没有这么夸张。
令码农惊心的 AI 伟力
传统开发模式下,程序员每天需要耗费大量精力编写重复性代码、调试优化、编写代码注释等基础工作,大幅挤压了核心业务代码编写的时间。
大模型赋能下的通义灵码,则能够提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云 SDK/OpenAPI 的使用场景调优,助力开发者高效、流畅编码。
在阿里云内部,通义灵码已在各个开发环节担任代码助理角色。以 API 开发测试工作为例,通义灵码可将数十分钟的人工编写测试耗时缩短到秒级,节省程序员 70% 以上的测代码试工作量。接下来,阿里云将在内部 JetBrains IDEs、Visual Studio Code 等开发工具中全面配置通义灵码插件,供所有员工使用。
目前,通义灵码已熟练掌握 Java、Python、Go、JavaScript、TypeScript、C/C++、C# 等 200 多种编程语言,让 Java 程序员也能轻松完成 Python、C 等不同编程语言的代码编写。
无独有偶,半个月前,初创公司 Cognition 就在公告中宣布推出全球首个 AI 软件工程师 Devin,并号称会彻底改变人类构建软件的方式。这一发布引起了码农们广泛的关注。
Cognition 官网称,Devin 只需一句指令,即可端到端地处理整个开发项目。按照用户需求,Devin 可以同时执行多步骤工作流程,人类工程师则可以实时观察其进度,发现错误时,跳出指令进行修正。这便于工程师们将大部分工作“外包”给 AI,自己则可以潜心于创意性工作。
在 SWE-bench 基准测试中,Devin 的表现远超 Claude 2、Llama、GPT-4 等选手,能够完整正确地处理 13.86% 的问题。
Cognition 官方发的推特说,Devin 不仅通过了一家业内领先的人工智能公司的面试,在自由职业平台 Upwork 上也能成功接单,完成单主要求的工作。
码农完全被替代还有待商榷
虽然 AI 在许多方面都显示出了强大的能力,但它仍然有局限性。AI 软件工程师可能擅长创建和维护 AI 系统,但在创新思维、解决复杂问题和进行高级决策方面,人类程序员仍然具有不可替代的优势。
中国信息协会常务理事、国研新经济研究院创始院长朱克力认为:“AI 能否真正取代程序员是个备受关注的话题,尽管 AI 在编程方面已经取得一定进展,但要完全取代程序员目前还存在许多不足。”
他指出,一方面,AI 缺乏人类的创造力和主观能动性。编程不仅仅是写代码,更重要的是解决问题,程序员在面对复杂的问题时,需要运用自己的创造力和思维能力,寻找最优的解决方案。而 AI 还无法像人类一样具备这种能力,目前只能根据已有数据和算法生成代码,而无法像人类一样进行创新和思考。
另一方面,AI 处理复杂的非结构化任务还存在困难。编程中经常会遇到各种各样的问题和挑战,有些问题可能需要程序员进行深入调查研究才能找到解决方案,而 AI 在处理这类问题时可能会受到数据和算法的限制,无法像人类一样进行灵活的思考和决策。
而某 AI 社群初创合伙人麦哥则表示:“程序员越来越多的情况下,会跟 AI 共同开发某个产品或项目。AI 写基本功能代码,程序员做需求分析和架构设计、技术选型。这是可以想象也能落地的场景。预计相当长的时期,都会是这种情形。也就是说,程序员的角色发生了转变,不再是单纯的码农了。因为 AI 技术的出现,未来低端就业市场的就业机会将越来越少了。懂得 AI 技术,会调教 Al,会使用提示词跟 AI 协同工作,会使用 RPA 工具的程序员会越来越吃香。”
总结
尽管如 AI 编程工具“通义灵码”和 AI 软件工程师 Devin 这样的事物出现,为软件开发领域带来了革命性的变化,但人类程序员的创造力、问题解决能力和主观能动性仍然是 AI 难以复制的。
随着 AI 技术的不断进步,我们可以预见,程序员的工作性质将会发生转变,但他们在软件开发过程中的核心价值不会消失。相反,他们将更加专注于创新和解决复杂问题,推动技术的发展和应用。同时,随着低端编程任务的自动化,程序员需要不断提升自己的技能,学习如何与 AI 工具协同工作,以适应这一变革。
最终,AI 和人类程序员的共存将推动软件开发行业向更高效的方向发展。而对于那些能够适应这一变化,掌握 AI 技术的程序员来说,他们的职业前景将更加光明。在这个过程中,持续学习新技术并不断保持创新,将是程序员保持竞争力的关键。