17611538698
info@21cto.com

为什么 Linus Torvalds 一听到“99%的代码都是人工智能”会生气

人工智能 0 10 13小时前
图片

导读:Linus Torvalds 在北美开源峰会之主题演讲表示,人工智能可以提高程序员的生产力,但它无法取代人类对代码和系统架构的理解。

在最近举办的北美开源峰会上,Linux 与 Git 的创始人Linus Torvalds在主题演讲中毫不留情地抨击了那些认为人工智能将取代人类程序员的人。 

Linus Torvalds 明确告诉聚集在明尼阿波利斯的听众,人工智能不会“取代”编程,而是像过去的科技革命一样,提高生产力。

而程序员最终会利用人工智能生成源代码,然后编译器再将其转换成机器代码。

他还澄清道,要想构建目标运行数十年的严肃项目,开发人员必须深入理解生成的代码与系统架构,而不仅仅是指令。  

“人工智能是一个很棒的新工具,但它终究只是个工具。当我看到有人说‘嘿,我们99%的代码都是人工智能写的’时,我真的会很生气,因为我几乎可以肯定,这些人100%的代码都是编译器写的,但他们从来不会承认这一点。”

“当我看到有人说,‘嘿,我们99%的代码都是人工智能编写的’时,我真的会很生气。”

作为一名长期维护开源软件的人——Linux 的创建者兼首位维护者认为人工智能是一种重要的、高生产力的工具,类似于历史上从机器代码到汇编器和编译器的转变。

Linus Torvalds 驳斥了人工智能未来可能“取代”编程的观点,他认为人工智能能够提高生产力,就像以往软件开发领域的革命一样。他几次强调,真正的软件工程在不久的将来需要的是人类对底层系统的理解,而不仅仅是编写人工智能指令的能力。

“我百分之百确信人工智能正在改变编程,但它并没有改变编程的乐趣。”

程序员最终会利用人工智能生成源代码,然后编译器再将其转换成机器代码。“我百分之百确信人工智能正在改变编程,但它并没有改变编程的乐趣,”Linus Torvalds如此说道。 

正如同Linus Torvalds在主题演讲中提到的,他最初接触编程是在汇编语言出现之前,使用纯数字机器语言。后来汇编语言出现,以及像Fortran这样使用编译器的高级语言也相继问世,编译器的出现极大地提高了基础编程的效率。

人工智能理论上可以将生产力提高十倍,但Torvalds认为:换个角度来看,人工智能辅助编程带来的生产力提升仅为编译器所带来的生产力提升的十分之一。这一论断基于Torvalds的计算,即编译器已将编程效率提升了1000倍。 

“不了解系统复杂性的人也会设计出注定失败的系统和编写注定失败的流程。所以,我认为你确实需要了解这一切是如何运作的。”

Torvalds 说:“了解系统运作原理的人能够指导工具编写出优秀的代码。而不了解系统复杂性的人则会引导系统并编写出注定失败的流程。因此,我认为你确实需要了解这一切是如何运作的。”

开源项目中人工智能生成代码面临的直接难题是,人工智能生成的拉取请求数量激增,其中往往包含人工智能工具发现的错误。目前得益于资源优势,Linux 项目尚能承担评估并合并这些修复所需的人力。然而,对于成千上万缺乏资源的项目而言,许多项目根本无法跟上这种速度。 

Torvalds 说:“在所有人们维护的项目中,除了 Linux 内核之外,还有一些项目可能是某人的心血之作,他们已经为此努力了十年甚至更久,而他们只有一两个人(来修补漏洞和进行修复),他们真的会筋疲力尽。”

Torvalds 这样表示道,虽然人工智能有助于识别老旧代码库中根深蒂固的错误,但也带来了社会负担:“匆匆而过”的人工智能错误报告缺乏后续跟进,导致维护人员精疲力竭。 

Torvalds指出,Linux 项目有着超过 35 年的遗留代码,人工智能正在成功地发现一些隐藏的问题。然而,Torvalds 还表示,维护人员也需要花费大量时间来梳理这些问题。 

“很明显,有时候人工智能会报告一个漏洞,但当你要求提供更多信息时,那个人却只是匆匆走过,根本不回答你的问题,”Torvalds说。“所以,这才是真正引发的倦怠问题。”

此外,一些科技公司为了博取媒体关注,不提供必要的代码补丁,反而利用人工智能标记漏洞来提升自身知名度。“这些公司乐于花费大量资金和资源来指出上述问题,但奇怪的是,尽管所有这些漏洞都存在于开源代码中,却没有一个附带补丁,”Torvalds断言道。“人工智能在短期内发现源代码中的漏洞固然很好,但如果人工智能发现了我们之前没有发现的问题,我们就需要花费一些时间来解决这些新问题。”

“人工智能在短期内发现源代码中的错误当然很好,但如果人工智能发现了我们没发现的问题,我们就需要一些时间来解决这些新问题。”

项目维护者在 7.1 版本发布前发现拉取请求数量激增,导致准备阶段的提交次数超过了以往任何版本。然而,事实证明,拉取请求数量的激增是由于人工智能的应用,而不是像 Torvalds 最初认为的那样,是由于人们对新版本的兴趣增加。  

不过,正如Torvalds所指出的那样,利用人工智能为内核做贡献是一件好事,而且这个非常困难的过程已经得到了人工智能工具的大力支持,在很多情况下,人工智能工具还起到了辅助作用。他还提到,在当前的Linux内核版本发布后,提交的代码总量增加了大约20%。

在观众的问答环节,有人问 Torvalds Linux 项目维护者使用哪些 AI 工具来审查拉取请求和漏洞报告,他回答说:“Sashiko”。然而,即使有了 Sashiko,仍然需要人工维护和审查实现或提出的修复方案,这仍然需要整个项目投入大量的人力。

话虽如此说,鉴于科技行业的裁员数量,编程本身也在发生变化,但至少在中短期内,人类仍然需要大量的专业知识,并且仍然会有众多地需求。

作者:洛逸

评论

我要赞赏作者

请扫描二维码,使用微信支付哦。

分享到微信