設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

ChatGPT 修 bug 橫掃全場(chǎng),準(zhǔn)確率達(dá) 78%,網(wǎng)友:程序員要開(kāi)心了

量子位 2023/2/5 19:56:03 責(zé)編:夢(mèng)澤

ChatGPT 到底有多會(huì)修 bug?

這事終于有人正兒八經(jīng)地搞研究了 ——

來(lái)自德國(guó)、英國(guó)的研究人員,專門搭了個(gè)“擂臺(tái)”來(lái)檢驗(yàn) ChatGPT 的這項(xiàng)本領(lǐng)。

除了 ChatGPT 之外,研究人員還找來(lái)了其它三位修 bug 的“AI 猛將”,分別讓它們修復(fù) 40 個(gè)錯(cuò)誤代碼。

結(jié)果真是不比不知道,一比嚇一跳。

ChatGPT 準(zhǔn)確修復(fù)了其中 31 個(gè) bug,遙遙領(lǐng)先第二名(21 個(gè)),直接拿下“AI 修 bug 界”的 SOTA 成績(jī)!

于是乎,這項(xiàng)研究引來(lái)了眾多網(wǎng)友的圍觀和討論,Reddit 上發(fā)布此帖的標(biāo)題更是用上了“小心”、“注意”這樣的字眼:

但事實(shí)上,這真的會(huì)讓程序員“?!眴幔?/p>

我們不妨先來(lái)看下這項(xiàng)研究。

很會(huì)修 bug 的 ChatGPT

雖然 ChatGPT 并非是為了專門修改 bug 而生,但自打它問(wèn)世以來(lái),不少網(wǎng)友們都發(fā)現(xiàn)它是具備這項(xiàng)能力的。

因此研究人員為了摸清 ChatGPT 到底能修改 bug 到什么程度,便引入了標(biāo)準(zhǔn)的錯(cuò)誤修復(fù)基準(zhǔn)集 QuixBugs 來(lái)進(jìn)行評(píng)估。

以及與它同臺(tái)競(jìng)技的 AI 選手,分別是 CodeX、CoCoNutStandard APR。

研究人員從 QuixBugs 中挑了 40 個(gè)問(wèn)題,分別讓它們來(lái)修復(fù) bug。

讓 ChatGPT 來(lái)修 bug 的方法,就是在對(duì)話框里向它提問(wèn):

這個(gè)代碼有什么錯(cuò)誤嗎?

在第一輪較量過(guò)后,結(jié)果如下:

從第一輪 battle 結(jié)果來(lái)看,ChatGPT 修復(fù)了 19 個(gè),CodeX 修復(fù)了 21 個(gè),CoCoNut 修復(fù)了 19 個(gè),Standard APR 則是 7 個(gè)。

而且研究人員還發(fā)現(xiàn),ChatGPT 的答案與 CodeX 最為相似;這是因?yàn)樗鼈z是來(lái)自同一個(gè)語(yǔ)言模型家族。

這時(shí)候就會(huì)有小伙伴要問(wèn)了,“ChatGPT 不是還沒(méi)有 CodeX 厲害嗎”。

別急,不要忘了,ChatGPT 的一個(gè)特點(diǎn)就是越問(wèn)越“上道”。

例如在這個(gè)基準(zhǔn)集中,有一個(gè)叫 bitcount 的問(wèn)題,ChatGPT 在剛才第一輪修復(fù)過(guò)程中是給了錯(cuò)誤的答案:

原本 ChatGPT 應(yīng)該將第 7 行的 n ^ = n - 1 改為 n & = n - 1。

但在第一輪中它的回答是:

如果沒(méi)有更多關(guān)于預(yù)期行為和導(dǎo)致問(wèn)題的輸入信息,我無(wú)法判斷程序是否存在錯(cuò)誤。

于是在給予它更多信息之后,ChatGPT 便答對(duì)了這個(gè)問(wèn)題。

以此類推,在對(duì)第一輪沒(méi)答對(duì)的問(wèn)題進(jìn)行更多信息提示之后,ChatGPT 的修 bug 能力有了大幅提高:

最終,ChatGPT 在 QuixBugs 的 40 個(gè)問(wèn)題里答對(duì)了 31 個(gè)。

網(wǎng)友憂喜參半

對(duì)于這樣的實(shí)驗(yàn)結(jié)果,網(wǎng)友們對(duì) ChatGPT 修 bug 拿下 SOTA 這事產(chǎn)生的態(tài)度卻不太一樣。

有網(wǎng)友認(rèn)為這事不應(yīng)該讓程序員感到危機(jī),而是會(huì)讓他們覺(jué)得開(kāi)心才對(duì)。

言外之意,便是程序員們有了這么好用的工具,干活兒就會(huì)變得事半功倍。

不過(guò)也有人對(duì)此給出了不一樣的看法:

工作變得簡(jiǎn)單,不也就意味著需要的人力更少了嗎?

但還網(wǎng)友覺(jué)得,活兒是干不完的:

即使 AI 能把開(kāi)發(fā)時(shí)間縮短一個(gè)數(shù)量級(jí),也只是意味著程序員將更快處理下一個(gè)工作。

整體來(lái)看,ChatGPT 很會(huì)修 bug,并不會(huì)給程序員帶來(lái)什么致命傷害。

但若是把目光放到 OpenAI 其他的行動(dòng)中呢?

全球招外包訓(xùn)練 ChatGPT 寫(xiě)代碼

在此之前,OpenAI 就表示過(guò) ChatGPT 的重要用途之一是幫助程序員檢查代碼。

換言之,它被定位可用的輔助工具。

相比“ChatGPT 帶來(lái)威脅”的看法,等 ChatGPT 能力徹底進(jìn)化,程序員都不用再怕寫(xiě) bug 了。

OpenAI 布局的棋盤(pán)上,可不只有改 bug 偷塔程序員崗位這一件事。

為了讓它更大更強(qiáng),OpenAI 被曝在拉美和東歐等地區(qū),提供了 1000 個(gè)外包崗位。

外包員工的主要工作是標(biāo)注數(shù)據(jù),以及訓(xùn)練 ChatGPT 寫(xiě)代碼

這 1000 人中,40% 是程序員,他們?yōu)?OpenAI 的模型創(chuàng)建數(shù)據(jù),用來(lái)學(xué)習(xí)軟件工程任務(wù)。

一直以來(lái),OpenAI 的訓(xùn)練數(shù)據(jù)是從 GitHub 上抓取的。

現(xiàn)在外包程序員們新手搓的數(shù)據(jù)集,不僅包括代碼行,還包括代碼行背后的人類思考邏輯步驟。

有位南美的軟件開(kāi)發(fā)人員爆料,他為 OpenAI 完成了五小時(shí)的無(wú)償編碼測(cè)試。

整個(gè)過(guò)程中,他的任務(wù)分為兩部分。

用書(shū)面英語(yǔ)解釋如何處理一個(gè)編碼問(wèn)題;

提供解決方案。

如果發(fā)現(xiàn) bug,OpenAI 會(huì)向他詳細(xì)詢問(wèn) bug 的具體情況,并請(qǐng)教如何修正。

程序員需要展示思考問(wèn)題的每個(gè)步驟,他據(jù)此猜測(cè) OpenAI 很可能想為 ChatGPT 提供非常具體的訓(xùn)練數(shù)據(jù)。

特斯拉前 AI 主管 Andrej Karpathy 在推特上調(diào)侃:

最新的熱門編程語(yǔ)言是英語(yǔ)。

不過(guò)話說(shuō)回來(lái),ChatGPT 修 bug 能力強(qiáng)是好事,要真能夠進(jìn)化到可以完成代碼里死記硬背的部分,也是好事。

畢竟 OpenAI 成立時(shí)對(duì)外宣稱的宗旨,就是希望“確保通用人工智能可以造福全人類”。

雖然乍一看它這些年做的事,有點(diǎn)像在致力于用一部分人的努力,讓更多人失業(yè)

從 Dota2 賽場(chǎng)上碾壓人類,到 GPT-3、DALL-E2、ChatGPT 的閃耀表現(xiàn),它帶來(lái)的新產(chǎn)品總是伴隨著“快要讓 xxx 失業(yè)了”的議論聲。

但無(wú)論如何,商業(yè)卻一直對(duì)它青睞有加。

就目前而言,OpenAI 的主要商業(yè)模式是 API 費(fèi)用、token 費(fèi)用和軟件許可。

OpenAI 近期還發(fā)布了 ChatGPT 的付費(fèi)版 ChatGPT Pro,每月費(fèi)用 42 美元(約合 285 元人民幣)。

雖然機(jī)器人對(duì)話初創(chuàng)公司如雨后春筍般冒出,但諸多跡象表明市場(chǎng)對(duì) OpenAI 的持續(xù)看好。

微軟剛剛宣布將向 OpenAI 加碼投資數(shù)十億美元,并將 OpenAI 的模型融入微軟必應(yīng)等消費(fèi)級(jí)和企業(yè)級(jí)產(chǎn)品中。

根據(jù)知情人士透露,此次追加投資數(shù)額約為 100 億美元。

與此同時(shí),WSJ 披露的消息顯示,1 月初,億萬(wàn)富翁 Peter Thiel 創(chuàng)立的風(fēng)投基金 Founders Fund 正在就投資 OpenAI 進(jìn)行談判。

據(jù)悉,融資金額將至少達(dá) 3 億美元。

One More Thing

在第一輪實(shí)驗(yàn)中,ChatGPT 并沒(méi)有解決 QuixBugs 數(shù)據(jù)集的 bitcount 問(wèn)題。

但若是你現(xiàn)在再重頭問(wèn)一次這個(gè)問(wèn)題,就會(huì)發(fā)現(xiàn) ChatGPT 可以“一遍過(guò)”:

那么這是否意味著 ChatGPT 已經(jīng)從這次研究過(guò)程中學(xué)會(huì)求解了呢?

參考鏈接:

  • [1] https://arxiv.org/abs/2301.08653

  • [2] https://www.pcmag.com/news/watch-out-software-engineers-chatgpt-is-now-finding-fixing-bugs-in-code

  • [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/

本文來(lái)自微信公眾號(hào):量子位 (ID:QbitAI),作者:金磊 衡宇

廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:程序員,ChatGPT

軟媒旗下網(wǎng)站: IT之家 最會(huì)買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會(huì)買 要知