ChatGPT修bug有多厉害?终于有人认真研究了这件事——德国和英国的研究人员设立了一个“挑战赛”来测试ChatGPT的能力。除了ChatGPT,研究人员还招募了另外三名修复错误的“AI将军”,并要求他们修复40个错误代码。结果真的不比不知道好,吓了一跳。ChatGPT准确修复了其中的31个bug,遥遥领先第二名(21个),直接拿下“AI漏洞修复世界”的SOTA成绩!因此,这项研究引起了众多网友的围观和讨论,Reddit上这篇帖子的标题甚至使用了“小心”、“注意”等字眼:但事实上,这真的会让程序员“危险”吗?我们先来看看这项研究。ChatGPT非常擅长修复错误。虽然ChatGPT并不是专门为了修复bug而诞生的,但是自从它问世之后,不少网友发现它具备这个能力。因此,为了弄清楚ChatGPT可以在多大程度上修改bug,研究人员引入了标准错误修复基准集QuixBugs进行评估。而与它竞争的AI玩家有CodeX、CoCoNut和StandardAPR。研究人员从QuixBugs中挑选了40个问题并要求他们修复错误。让ChatGPT修复bug的方法是在对话框中询问它:这段代码有什么问题吗?第一轮比赛结束后,结果如下:从第一轮的战斗结果来看,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的态度却不尽相同。有网友认为,这件事不应该让程序员感到危机,而应该让他们感到高兴。言下之意,程序员有了这样一个好用的工具,他们的工作就会事半功倍。不过,也有人对此提出了不同的看法:工作不是变得更简单了,是不是意味着需要的人手更少了?但网友也觉得工作是无止境的:即使AI可以将开发时间缩短一个数量级,也只是意味着程序员会更快地处理下一份工作。总的来说,ChatGPT非常擅长修复bug,不会给程序员带来致命的伤害。但是如果你专注于OpenAI的其他动作呢?全球招聘外包培训ChatGPT写代码之前,OpenAI表示,ChatGPT的重要用途之一是帮助程序员检查代码。换句话说,它被定位为可用的辅助工具。与“ChatGPT构成威胁”的观点相比,当ChatGPT的能力完全进化后,程序员再也不用害怕写bug了。在OpenAI布下的棋盘上,不仅仅是改bug和抢程序员位置。为了做大做强,OpenAI被曝在拉美、东欧等地区提供了1000个外包工作岗位。外包员工的主要工作是标注数据和训练ChatGPT写代码。在这1,000人中,40%是为OpenAI的模型创建数据以学习软件工程任务的程序员。一直以来,OpenAI的训练数据都是从GitHub上抓取的。现在外包程序员的新手数据集不仅包括代码行,还有代码行背后人类思维的逻辑步骤。南美一位软件开发者爆料,他完成了OpenAI的5小时无偿编码测试。在整个过程中,他的任务分为两部分。用书面英语解释如何解决编码问题;提供解决方案。如果发现bug,OpenAI会向他详细询问bug以及如何修复它。程序员需要展示思考问题的每一步,因此他猜测OpenAI可能想为ChatGPT提供非常具体的训练数据。特斯拉前AI总监AndrejKarpathy在推特上调侃:最新的热门编程语言是英语。不过话说回来,ChatGPT修复bug的能力强是好事,如果真的能进化到可以完成死记硬背代码的地步,也是好事。毕竟,OpenAI成立时的既定宗旨是“确保通用人工智能造福全人类”。虽然乍看之下,它这些年的所作所为,有点像是致力于用一部分人的努力,让更多人失业。从Dota2赛场上的碾压人类,到GPT-3、DALL-E2、ChatGPT的闪亮表现,它带来的新品总是伴随着“它很快就会让xxx失业”的声音。但无论如何,商界一直对它青睐有加。目前,OpenAI的主要商业模式是API费用、代币费用和软件许可。OpenAI最近还发布了ChatGPTPro,这是ChatGPT的付费版本,每月收费42美元(约合人民币285元)。尽管机器人对话初创公司如雨后春笋般涌现,但诸多迹象表明,市场对OpenAI的持续看好。微软刚刚宣布将向OpenAI投资数十亿美元,并将OpenAI的模型集成到消费者和企业产品中,例如微软的Bing。据知情人士透露,追加投资额约为100亿美元。同时,《华尔街日报》披露,1月初,亿万富翁彼得泰尔创立的风险投资基金FoundersFund正在洽谈投资OpenAI。据悉,融资金额将至少达到3亿美元。OneMoreThing在第一轮实验中,ChatGPT并没有解决QuixBugs数据集的比特数问题。但如果你现在再问这个问题,你会发现ChatGPT可以“过关”:那么这是否意味着ChatGPT从这个研究过程中学会了解决它呢?参考链接:[1]https://arxiv.org/abs/2301.08653[2]https://www.pcmag.com/news/watch-out-software-engineers-chatgpt-is-now-查找代码中的错误修复[3]https://www.reddit.com/r/technology/comments/10oaw6n/watch_out_software_engineers_chatgpt_is_now/[4]https://en.wi.bwl.uni-mainz.de/dominik-sobania/
