近年來,隨著AI技術(shù)的進(jìn)步、基礎(chǔ)設(shè)施建設(shè)的不斷完善,AI應(yīng)用場(chǎng)景不斷豐富,各類AI產(chǎn)品和工具層出不窮。其中,面向開發(fā)者的AI編程工具也在不斷迭代,并因宣稱能“幫開發(fā)者寫代碼”而引發(fā)關(guān)注。目前,可以為開發(fā)者提供編程建議的常用工具大致有兩類:一類是AI代碼補(bǔ)全工具;另一類是生成式AI工具。
前一種AI代碼補(bǔ)全工具,在今年又有“新勢(shì)力”入場(chǎng)——亞馬遜云科技正式推出實(shí)時(shí)AI編程助手Amazon CodeWhisperer,免費(fèi)提供給所有開發(fā)人員使用。
Amazon CodeWhisperer使用實(shí)測(cè)
綜合整理了開發(fā)者們?cè)谑褂瞄T檻、代碼建議能力(上下文聯(lián)系能力)、安全掃描以及在實(shí)戰(zhàn)中是否真的具備提效能力方面的反饋。
開發(fā)者容易上手嗎?
Amazon CodeWhisperer有簡(jiǎn)單明了的官方教程,就在亞馬遜云科技官網(wǎng)即可找到。
開發(fā)者安裝亞馬遜云科技的工具包插件,在Amazon CodeWhisperer彈出窗口使用電子郵件地址注冊(cè),并使用亞馬遜云科技賬戶登陸,即可開始功能測(cè)試。部分開發(fā)者通過Jetbrains的plugin功能,查找亞馬遜云科技工具包插件,點(diǎn)擊“install”完成安裝,均反饋安裝過程比較方便。大部分的開發(fā)者都可以通過原有亞馬遜云科技的賬號(hào)授權(quán)順利登陸。
部分開發(fā)者使用Goland的插件功能安裝,也可以一鍵順利安裝。少數(shù)開發(fā)者覺得登陸入口有點(diǎn)深(如果錯(cuò)過了登錄的彈窗,用戶就需要使用config配置登陸憑證)。總體來看,基本上所有開發(fā)者都可以順利安裝并開始使用。
代碼建議速度和實(shí)用性怎么樣?
代碼建議能力是AI編程工具的核心能力,廣受開發(fā)者關(guān)注。絕大多數(shù)開發(fā)者都對(duì)此項(xiàng)能力進(jìn)行了專項(xiàng)測(cè)試。
代碼建議能力測(cè)試
在現(xiàn)有代碼中,輸入一行注釋,“create a function,get response from openai”,測(cè)試Amazon CodeWhisperer會(huì)給出怎樣的反饋:
測(cè)試小結(jié):Amazon CodeWhisperer可以完成整個(gè)功能的書寫,能夠做到以下幾點(diǎn):自動(dòng)生成方法名稱,命名比較符合規(guī)范;可以基于上下文,獲取引用的項(xiàng)目,有較強(qiáng)的上下文聯(lián)系能力;可以讀取到上下文的配置文件,在這個(gè)例子里,可以正確拿到open_ai_key。
上下文聯(lián)系能力測(cè)試
測(cè)試小結(jié):聯(lián)系上下文,Amazon CodeWhisperer的代碼建議用上了開發(fā)者自定義的函數(shù)。
有開發(fā)者表示:“當(dāng)我遺漏了一個(gè)括號(hào)、忘記了引入某個(gè)模塊或使用了錯(cuò)誤的函數(shù)參數(shù)時(shí),它會(huì)立即給出相應(yīng)的警告。”大部分開發(fā)者認(rèn)為Amazon CodeWhisperer編輯器功能很實(shí)用,不僅能夠根據(jù)使用的變量、函數(shù)和類名提供相應(yīng)的補(bǔ)全選項(xiàng),還可以提示潛在的錯(cuò)誤和問題。也有開發(fā)者談道:“Amazon CodeWhisperer讓我們可以實(shí)時(shí)共享代碼并進(jìn)行編輯,這樣可以減少文件來回傳輸?shù)穆闊惶峁┑陌姹究刂乒δ埽屛夷軌蜉p松創(chuàng)建分支、合并更改和回滾代碼,讓團(tuán)隊(duì)在開發(fā)過程中更加靈活和有序。”
參加測(cè)試的開發(fā)者們普遍反饋:開發(fā)者的注釋描述越準(zhǔn)確,Amazon CodeWhisperer生成的代碼質(zhì)量越高。整體而言,Amazon CodeWhisperer給出代碼建議的能力和速度基本達(dá)到開發(fā)者預(yù)期,也可以根據(jù)聯(lián)系上下文給出符合開發(fā)人員開發(fā)風(fēng)格的代碼建議。
安全掃描能否提高代碼可靠性?
一些開發(fā)者對(duì)于AI編程工具持觀望或者“不信任”態(tài)度,原因之一可能是擔(dān)心代碼安全無法保證。Amazon CodeWhisperer內(nèi)置的安全掃描功能,可以幫助開發(fā)者掃描Java、JavaScript和Python編程語言中難以發(fā)現(xiàn)的漏洞。安全檢查功能不僅會(huì)檢測(cè)開發(fā)者自己寫出的代碼,還會(huì)檢測(cè)Amazon CodeWhisperer給出的建議代碼,力求最大程度上保證代碼的安全準(zhǔn)確。
在實(shí)際測(cè)試時(shí),Amazon CodeWhisperer安全檢查功能使用簡(jiǎn)單方便,很快就可以給出修改意見,只需開發(fā)人員點(diǎn)擊開始檢測(cè)即可。如果安全檢測(cè)后的反饋是“nothing to show”,就表示安全檢測(cè)順利通過。開發(fā)人員可以在編寫代碼時(shí)隨時(shí)使用Amazon CodeWhisperer的安全檢查功能保證代碼質(zhì)量。
測(cè)試小結(jié):Amazon CodeWhisperer提示開發(fā)者將此處的標(biāo)識(shí)設(shè)置改為“True”。
是否具備實(shí)戰(zhàn)中的提效能力?
開發(fā)者們給出的反饋幾乎都是肯定的。有開發(fā)者表示:“有個(gè)很實(shí)用的功能,就是語法檢查。我寫代碼的時(shí)候,它會(huì)實(shí)時(shí)檢查語法錯(cuò)誤,并給我標(biāo)記或提示。這樣我就能及時(shí)發(fā)現(xiàn)和改正錯(cuò)誤,避免在編譯或者運(yùn)行時(shí)出現(xiàn)麻煩。尤其是在大型項(xiàng)目里,這個(gè)功能對(duì)于代碼的穩(wěn)定性和一致性非常重要。”其實(shí)已經(jīng)有不少開發(fā)者正在使用不同的AI編程工具了,比如Amazon CodeWhisperer已經(jīng)幫助埃森哲Velocity團(tuán)隊(duì)的開發(fā)工作量減少了30%。
“人人都可以是開發(fā)者”
回到開篇的問題:AI編程工具可以成倍提效嗎?答案是肯定的。根據(jù)對(duì)社區(qū)開發(fā)者的走訪,不難發(fā)現(xiàn),各類AI開發(fā)工具的出現(xiàn)正在進(jìn)一步降低開發(fā)門檻,不少非IT開發(fā)人員已經(jīng)也可以經(jīng)過快速學(xué)習(xí),嘗試使用AI工具進(jìn)行簡(jiǎn)單但是可以滿足自用的軟件開發(fā)了。
“人人都是開發(fā)者”的大趨勢(shì)下,我們可以從嘗試一款A(yù)I編程工具開始,感受AI改變編程的力量!
當(dāng)然,想要開發(fā)環(huán)境變得更加便捷,亞馬遜云科技Amazon Lightsail虛擬專用服務(wù)器(VPS)也是不容錯(cuò)過的,只需幾次點(diǎn)擊就可以創(chuàng)建屬于自己的網(wǎng)站或是應(yīng)用程序,并且還能自動(dòng)配置聯(lián)網(wǎng)、訪問和安全環(huán)境。
說到亞馬遜云科技Amazon Lightsail就不得不提到Amazon EC2了。在亞馬遜云科技云服務(wù)器Amazon EC2上,您可以完成絕大部分工作負(fù)載,以上聊到的Amazon CodeWhisperer和Amazon Lightsail也都可以部署在其之上,進(jìn)行輕松的遷移或應(yīng)用程序的構(gòu)建,讓開發(fā)者更加輕松便捷的開發(fā)針對(duì)個(gè)人需求的軟件或功能。
審核編輯 黃宇
-
編程
+關(guān)注
關(guān)注
88文章
3614瀏覽量
93686 -
AI
+關(guān)注
關(guān)注
87文章
30728瀏覽量
268891 -
亞馬遜
+關(guān)注
關(guān)注
8文章
2650瀏覽量
83319
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論