- 《架构师》2023年4月
- InfoQ中文站
- 1575字
- 2024-04-15 14:47:30
程序员教AI写代码,反被AI取代?谷歌工程主管:AIGC将在3年内终结编程
作者 凌敏 明知山
近日,前哈佛大学计算机科学教授、谷歌工程主管Matt Welsh在芝加哥计算机协会的一个虚拟会议上表示,ChatGPT和GitHub Copilot预示着编程终结的开始。Welsh断言,生成式AI将在3年内终结编程。
Welsh认为,由于ChatGPT和Copilot等技术的出现,编程正处于从人类工作转变为机器人工作的转折点。在他看来,程序员需要演变成AI程序的“老师”——或者产品经理,或者代码评审人员。他认为这两个人类角色相对来说不那么受机器人的影响。“不要指望你的程序员职业生涯会一直持续下去,因为机器正在取代这个角色。”Welsh说道。
据悉,Welsh曾在谷歌和苹果公司担任高级工程职位,他曾在2023年1月出版的《ACM通讯》杂志上就这一话题写了一篇文章。此外,Welsh还成立了一家初创公司来证明他的理论。
下面是Matt Welsh在芝加哥ACM上发言的完整视频:https://www.youtube.com/watch?v=qmJ4xLC1ObU
写代码是脏活,让AI来做吧
随着GitHub Copilot、ChatGPT等AI产品持续火爆,AI在编程方面展现了极强的能力。在一项新的研究课题中,ChatGPT尝试查找示例代码中的bug并给出修复建议。其表现远超现有程序,成功修复了40个bug中的31个。
拥有如此强大的编程能力,AI真的会取代程序员?Welsh断言,生成式AI将在3年内终结编程。
在Welsh看来,“写代码是脏活”——所以就让机器人来做吧。“用你的时间做点别的事情。对于每个人来说,写电脑程序并不是最好的利用时间的方式。”
Welsh表示,Copilot是一款不可思议的产品。“在我敲键盘时,Copilot经常能够很好地帮我完成我的想法——它能读出我的想法,比我想象的要多得多。Copilot极大地提高了工作效率,因为它让我避免了很多上下文切换。”
Welsh称现在的Copilot“只是一个开始”,只有两样东西会阻止Copilot变得更好:更多的数据和更多的计算。由于这两个东西都很充足,所以他认为“在未来的一两年或三年内,Copilot没有理由无法会实现这样的目标:即你在源文件的顶部输入几行代码,它会把剩下的内容写出来。”
Welsh认为“计算机科学注定要失败。”他说:“我认为这个领域将发生根本性的变化。计算机科学作为一门学科,你认为它的意义何在?它一直都是关于如何将想法转化为程序。”
他认为,在过去的60多年里,计算机编程在不断发展,试图让人类更容易理解代码。他将1957年的Fortran与1964年的Basic和2010年的Rust做了对比,他表示,就易用性而言,这三个编程语言之间真的没有太大区别。
Welsh表示,“现今人们开发的程序和以前一样复杂,一样难以维护,一样难以理解,一样充满了bug。”是GitHub Copilot让Welsh从根本上重新思考计算机科学的意义。“Copilot从根本上改变了我们写代码的方式,至少从我个人的经验来看,它是一种显著而深刻的加快开发速度的方式。”
未来的软件开发团队是什么样子的?
Welsh还对未来的软件开发团队做了一些有趣的预测。基本上,当程序员开始被淘汰时,他认为只有两个角色可以保留:产品经理和代码评审人员。
在Welsh看来,产品经理的角色不会有太大变化。“人类产品经理仍然能够写出告诉软件应该做哪些事情的英文描述——也就是产品需求文档(PRD)。这是产品经理已经在做的事情,对吧?”
不同的是,在不久的将来,我们不再需要把PRD交给工程团队,然后等上六周左右,等他们把需求实现完毕,Welsh说:“你只需要把PRD交给AI,AI在几秒钟内就可以吐出代码。”
当然,生成式AI在早期阶段有一个缺点,即它们的输出不一定是正确的。因此,Welsh看到了人类代码评审人员能够在这方面起到的作用。
“我们怎么知道代码是否有效?我们怎么知道它是否足够好?我们怎么知道它是对的?当然,我们需要进行彻底的测试,测试是非常非常重要的,这是不会消失的。所有CI/CD相关的东西,以及我们在过去几十年里积累的一切,在这里仍然是有用的。”
他认为,具有编程能力的人类将承担“评审和阅读AI生成的代码,并确保它们能够正常运行以及做正确的事情”的任务。
至于程序员,以及那些即将加入这一领域的人,他们将需要成为AI的老师,而不是程序员本身。Welsh说:“这是关于如何教会AI写代码,而不是自己写。”
参考链接
https://thenewstack.io/coding-sucks-anyway-matt-welsh-on-the-end-of-programming