本文摘自浅语科技,原文链接:https://mini.eastday.com/mobile/230206201944568581788.html,侵删。
ChatGPT 到底有多会修bug?
这事终于有人正儿八经地搞研究了——
来自德国、英国的研究人员,专门搭了个“擂台”来检验ChatGPT的这项本领。
除了ChatGPT之外,研究人员还找来了其它三位修bug的“AI猛将”,分别让它们修复 40个错误代码。
结果真是不比不知道,一比吓一跳。
ChatGPT准确修复了其中 31个 bug,遥遥领先第二名(21个),直接拿下“AI修bug界”的 SOTA 成绩!
于是乎,这项研究引来了众多网友的围观和讨论,Reddit上发布此帖的标题更是用上了“小心”、“注意”这样的字眼:
但事实上,这真的会让程序员“危”吗?
我们不妨先来看下这项研究。很会修bug的ChatGPT
虽然ChatGPT并非是为了专门修改bug而生,但自打它问世以来,不少网友们都发现它是具备这项能力的。
因此研究人员为了摸清ChatGPT到底能修改bug到什么程度,便引入了标准的错误修复基准集 QuixBugs 来进行评估。
以及与它同台竞技的AI选手,分别是 CodeX、CoCoNut 和 StandardAPR。
研究人员从QuixBugs中挑了40个问题,分别让它们来修复bug。
让ChatGPT来修bug的方法,就是在对话框里向它提问:
这个代码有什么错误吗?
在第一轮较量过后,结果如下:
从第一轮battle结果来看,ChatGPT修复了19个,CodeX修复了21个,CoCoNut修复了19个,StandardAPR则是7个。
而且研究人员还发现,ChatGPT的答案与CodeX最为相似;这是因为它俩是来自同一个语言模型家族。
这时候就会有小伙伴要问了,“ChatGPT不是还没有CodeX厉害吗”。
别急,不要忘了,ChatGPT的一个特点就是越问越“上道”。
例如在这个基准集中,有一个叫bitcount的问题,ChatGPT在刚才第一轮修复过程中是给了错误的答案:
原本ChatGPT应该将第7行的n^=n-1改为n&=n-1。
但在第一轮中它的回答是:
如果没有更多关于预期行为和导致问题的输入信息,我无法判断程序是否存在错误。
于是在给予它更多信息之后,ChatGPT便答对了这个问题。
以此类推,在对第一轮没答对的问题进行更多信息提示之后,ChatGPT的修bug能力有了大幅提高:
最终,ChatGPT在QuixBugs的40个问题里答对了31个。网友忧喜参半
对于这样的实验结果,网友们对ChatGPT修bug拿下SOTA这事产生的态度却不太一样。
有网友认为这事不应该让程序员感到危机,而是会让他们觉得开心才对。
言外之意,便是程序员们有了这么好用的工具,干活儿就会变得事半功倍。
不过也有人对此给出了不一样的看法:
工作变得简单,不也就意味着需要的人力更少了吗?
相关阅读 >>
又一下水道英雄成神,只因一项手感优化,胜率高过武则天,团战五杀随便拿
2020年1月14日发布了10年的windows 7正式退役
更多相关阅读请进入《新闻资讯》频道 >>