ChatGPT修bug横扫全场,准确率达78%!网友:程序员要开心了
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和Standard APR。
研究人员从QuixBugs中挑了40个问题,分别让它们来修复bug。
让ChatGPT来修bug的方法,就是在对话框里向它提问:
这个代码有什么错误吗?
在第一轮较量过后,结果如下:
从第一轮battle结果来看,ChatGPT修复了19个,CodeX修复了21个,CoCoNut修复了19个,Standard APR则是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写代码
这1000人中,40%是程序员,他们为OpenAI的模型创建数据,用来学习软件工程任务。
一直以来,OpenAI的训练数据是从GitHub上抓取的。
现在外包程序员们新手搓的数据集,不仅包括代码行,还包括代码行背后的人类思考逻辑步骤。
有位南美的软件开发人员爆料,他为OpenAI完成了五小时的无偿编码测试。
整个过程中,他的任务分为两部分。
- 用书面英语解释如何处理一个编码问题;
- 提供解决方案。
如果发现bug,OpenAI会向他详细询问bug的具体情况,并请教如何修正。
程序员需要展示思考问题的每个步骤,他据此猜测OpenAI很可能想为ChatGPT提供非常具体的训练数据。
特斯拉前AI主管Andrej Karpathy在推特上调侃:
最新的热门编程语言是英语。
不过话说回来,ChatGPT修bug能力强是好事,要真能搞进化到可以完成代码里死记硬背的部分,也是好事。
毕竟OpenAI成立时对外宣称的宗旨,就是希望“确保通用人工智能可以造福全人类”。
虽然乍一看它这些年做的事,有点像在致力于用一部分人的努力,让更多人失业。
从Dota2赛场上碾压人类,到GPT-3、DALL-E2、ChatGPT的闪耀表现,它带来的新产品总是伴随着“快要让xxx失业了”的议论声。
但无论如何,商业却一直对它青睐有加。
就目前而言,OpenAI的主要商业模式是API费用、token费用和软件许可。
OpenAI近期还发布了ChatGPT的付费版ChatGPT Pro,每月费用42美元(约合285元人民币)。
虽然机器人对话初创公司如雨后春笋般冒出,但诸多迹象表明市场对OpenAI的持续看好。
微软刚刚宣布将向OpenAI加码投资数十亿美元,并将OpenAI的模型融入微软必应等消费级和企业级产品中。
根据知情人士透露,此次追加投资数额约为100亿美元。
与此同时,WSJ披露的消息显示,1月初,亿万富翁Peter Thiel创立的风投基金Founders Fund正在就投资OpenAI进行谈判。
据悉,融资金额将至少达3亿美元。
One More Thing
在第一轮实验中,ChatGPT并没有解决QuixBugs数据集的bitcount问题。
但若是你现在再重头问一次这个问题,就会发现ChatGPT可以“一遍过”:
那么这是否意味着ChatGPT已经从这次研究过程中学会求解了呢?
参考链接:
[1] https://www.php.cn/link/5f5d472067f77b5c88f69f1bcfda1e08
[2] https://www.php. cn/link/8a47481ae534860850adf59f145e6b40
[3] https://www.php.cn/link/7806689d934e610d660caf5536fea0b2
[4] https://www.php.cn/link/4271846620d203fd0511c422d483cdbd
以上是ChatGPT修bug横扫全场,准确率达78%!网友:程序员要开心了的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

配置Debian邮件服务器的防火墙是确保服务器安全性的重要步骤。以下是几种常用的防火墙配置方法,包括iptables和firewalld的使用。使用iptables配置防火墙安装iptables(如果尚未安装):sudoapt-getupdatesudoapt-getinstalliptables查看当前iptables规则:sudoiptables-L配置

本文介绍如何在Debian系统中调整ApacheWeb服务器的日志记录级别。通过修改配置文件,您可以控制Apache记录的日志信息的详细程度。方法一:修改主配置文件定位配置文件:Apache2.x的配置文件通常位于/etc/apache2/目录下,文件名可能是apache2.conf或httpd.conf,具体取决于您的安装方式。编辑配置文件:使用文本编辑器(例如nano)以root权限打开配置文件:sudonano/etc/apache2/apache2.conf

Debian系统中的readdir函数是用于读取目录内容的系统调用,常用于C语言编程。本文将介绍如何将readdir与其他工具集成,以增强其功能。方法一:C语言程序与管道结合首先,编写一个C程序调用readdir函数并输出结果:#include#include#includeintmain(intargc,char*argv[]){DIR*dir;structdirent*entry;if(argc!=2){

在Debian系统中,readdir系统调用用于读取目录内容。如果其性能表现不佳,可尝试以下优化策略:精简目录文件数量:尽可能将大型目录拆分成多个小型目录,降低每次readdir调用处理的项目数量。启用目录内容缓存:构建缓存机制,定期或在目录内容变更时更新缓存,减少对readdir的频繁调用。内存缓存(如Memcached或Redis)或本地缓存(如文件或数据库)均可考虑。采用高效数据结构:如果自行实现目录遍历,选择更高效的数据结构(例如哈希表而非线性搜索)存储和访问目录信

在Debian系统中,readdir函数用于读取目录内容,但其返回的顺序并非预先定义的。要对目录中的文件进行排序,需要先读取所有文件,再利用qsort函数进行排序。以下代码演示了如何在Debian系统中使用readdir和qsort对目录文件进行排序:#include#include#include#include//自定义比较函数,用于qsortintcompare(constvoid*a,constvoid*b){returnstrcmp(*(

在Debian邮件服务器上安装SSL证书的步骤如下:1.安装OpenSSL工具包首先,确保你的系统上已经安装了OpenSSL工具包。如果没有安装,可以使用以下命令进行安装:sudoapt-getupdatesudoapt-getinstallopenssl2.生成私钥和证书请求接下来,使用OpenSSL生成一个2048位的RSA私钥和一个证书请求(CSR):openss

在Debian系统上使用OpenSSL进行数字签名验证,可以按照以下步骤操作:准备工作安装OpenSSL:确保你的Debian系统已经安装了OpenSSL。如果没有安装,可以使用以下命令进行安装:sudoaptupdatesudoaptinstallopenssl获取公钥:数字签名验证需要使用签名者的公钥。通常,公钥会以文件的形式提供,例如public_key.pe

在Debian系统中,OpenSSL是一个重要的库,用于加密、解密和证书管理。为了防止中间人攻击(MITM),可以采取以下措施:使用HTTPS:确保所有网络请求使用HTTPS协议,而不是HTTP。HTTPS使用TLS(传输层安全协议)加密通信数据,确保数据在传输过程中不会被窃取或篡改。验证服务器证书:在客户端手动验证服务器证书,确保其可信。可以通过URLSession的委托方法来手动验证服务器
