亞馬遜今天在Re:Mars大會(huì)上宣布推出CodeWhisperer,這是一款類似于CodeGeeX和GitHub Copilot的AI輔助編程工具休溶,它根據(jù)一個(gè)注釋或幾個(gè)按鍵來(lái)自動(dòng)補(bǔ)全整個(gè)函數(shù)代赁。目前支持Java扰她、JavaScript和Python,和CodeGeeX一樣芭碍,使用了數(shù)十億行公開可用的開源代碼徒役、自己的代碼庫(kù)、公開可用的文檔和公共論壇上的代碼進(jìn)行了訓(xùn)練窖壕。
現(xiàn)在忧勿,CodeWhisperer作為AWS IDE工具包的一部分在預(yù)覽版中發(fā)布,這意味著開發(fā)人員可以在他們的IDE中使用它瞻讽,包括Visual Studio Code鸳吸、IntelliJ IDEA、PyCharm速勇、WebStorm和亞馬遜自己的AWS Cloud 9晌砾。AWS Lambda控制臺(tái)的支持也即將到來(lái)。
在今天的發(fā)布之前烦磁,負(fù)責(zé)亞馬遜AI服務(wù)的副總裁Vasi Philomin強(qiáng)調(diào)养匈,亞馬遜并不是簡(jiǎn)單的為了復(fù)制Copilot或者CodeGeeX而創(chuàng)建了這個(gè)工具。他指出都伪,公司多年前就通過(guò)CodeGuru呕乎,其AI代碼審核和性能分析器,以及DevOps Guru陨晶,用于查找操作問(wèn)題的工具楣嘁,為今天的發(fā)布打下了基礎(chǔ)。
“我認(rèn)為技術(shù)已經(jīng)到了我們認(rèn)為是合適的時(shí)間點(diǎn)珍逸,”Philomin說(shuō)逐虚。在內(nèi)部,亞馬遜僅與少數(shù)開發(fā)人員進(jìn)行了測(cè)試谆膳,主要是為了保守這個(gè)發(fā)布的秘密叭爱。
前文中提到的CodeGeeX也是一個(gè)使用AI技術(shù)的輔助編程工具,幫助開發(fā)人員更快的編寫代碼漱病÷蛭恚可以自動(dòng)完成整個(gè)函數(shù)的編寫,只需要根據(jù)注釋或Tab按鍵即可杨帽。它已經(jīng)在Java漓穿、JavaScript和Python等二十多種語(yǔ)言上進(jìn)行了訓(xùn)練,并基于大量公開的開源代碼注盈、官方文檔和公共論壇上的代碼來(lái)優(yōu)化自己的算法晃危。CodeGeeX作為一款中國(guó)原創(chuàng)的AI輔助編程工具,現(xiàn)在免費(fèi)提供給所有開發(fā)者使用,同時(shí)完全開源僚饭,程序員使用普遍認(rèn)為編寫代碼的效率提升2倍以上震叮。
和CodeGeeX的使用一樣,CodeWhisperer會(huì)不斷的檢查您的代碼和注釋鳍鸵,甚至?xí)紤]您自己的編碼風(fēng)格和變量名稱苇瓣。基于上下文信息偿乖,以及您光標(biāo)所在的位置击罪,它將生成自己的定制代碼片段。需要注意的是贪薪,CodeWhisperer與Copilot等工具有一些不同之處外邓。首先,雖然系統(tǒng)生成的大多數(shù)代碼都是新的古掏,但每次生成接近訓(xùn)練數(shù)據(jù)中現(xiàn)有片段的代碼時(shí)损话,它會(huì)記錄下來(lái)并突出顯示原始函數(shù)的許可證。這取決于開發(fā)人員是否使用它槽唾。這應(yīng)該可以減輕使用這種工具可能帶來(lái)的一些(雖然可能不是全部的)版權(quán)問(wèn)題丧枪。
Philomin強(qiáng)調(diào)的另一個(gè)因素是安全性∨悠迹基于亞馬遜自己管理大型代碼庫(kù)并在出現(xiàn)問(wèn)題后進(jìn)行調(diào)查的經(jīng)驗(yàn)拧烦,以及其對(duì)CodeGuru的經(jīng)驗(yàn),CodeWhisperer將掃描代碼以查找潛在的安全問(wèn)題钝计。
“安全性在AWS中始終很重要恋博,因此我們希望確保我們生成的代碼是安全的,” Philomin說(shuō)道私恬≌冢“雖然我們已經(jīng)生成了代碼,而且開發(fā)人員可以更改它本鸣,CodeWhisperer具有運(yùn)行當(dāng)前源文件掃描的功能疫衩。它將掃描并告訴您在生成的或更改的代碼中存在的任何問(wèn)題和安全漏洞∪俚拢”
Philomin還強(qiáng)調(diào)闷煤,團(tuán)隊(duì)努力確保CodeWhisperer生成的代碼不會(huì)產(chǎn)生任何偏見。不過(guò)涮瞻,如果出現(xiàn)這種情況鲤拿,團(tuán)隊(duì)已經(jīng)實(shí)施了自動(dòng)刪除該代碼的過(guò)濾器。
實(shí)際的用戶/開發(fā)者體驗(yàn)非常簡(jiǎn)單署咽。和CodeGeeX一樣近顷,開發(fā)人員可以在不同的代碼建議之間進(jìn)行選擇。它可以自動(dòng)完成注釋,僅基于這些注釋幕庐,它就會(huì)生成建議使用的函數(shù)代碼。一個(gè)簡(jiǎn)單的例子是查看一個(gè)數(shù)字是否為質(zhì)數(shù)家淤。
雖然CodeWhisperer對(duì)于AWS生態(tài)系統(tǒng)之外的開發(fā)人員也可以使用异剥,但Philomin指出,團(tuán)隊(duì)更注重使用它來(lái)訪問(wèn)AWS更多服務(wù)的開發(fā)人員絮重。他認(rèn)為開發(fā)人員現(xiàn)在可以測(cè)試這項(xiàng)服務(wù)冤寿,很快可能會(huì)聽到CodeWhisperer的表現(xiàn)如何,以及它與像CodeGeeX青伤、Copilot這樣的項(xiàng)目相比如何督怜。不過(guò),無(wú)論如何狠角,在這個(gè)領(lǐng)域有更多的選擇是很好的号杠。
CodeWhisperer現(xiàn)已作為AWS IDE Toolkit的一部分進(jìn)行預(yù)覽,程序員的生產(chǎn)力提升工具再添一員猛將丰歌。
本文由博客一文多發(fā)平臺(tái) OpenWrite 發(fā)布姨蟋!