域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)
【前言】
隨著今年人工智能技術(shù)的大火,越來(lái)越多的領(lǐng)域正在接受和利用這項(xiàng)強(qiáng)大的AI科技,以實(shí)現(xiàn)更高效、更智能的工作方式。在軟件開(kāi)發(fā)領(lǐng)域,AI技術(shù)更是為我們的工作帶來(lái)了前所未有的變革。從自動(dòng)代碼生成到智能編程助手,AI正在逐步改變開(kāi)發(fā)者的工作方式,提高開(kāi)發(fā)效率和代碼質(zhì)量。
對(duì)于傳統(tǒng)程序員開(kāi)發(fā)來(lái)說(shuō),完成一些業(yè)務(wù)邏輯代碼或者說(shuō)特定代碼,需要自己從0手動(dòng)去敲代碼、查Bug、找思路、做優(yōu)化,這個(gè)過(guò)程就需要較多的時(shí)間和精力去完成。但是在今天,時(shí)代已經(jīng)發(fā)生變革了。
亞馬遜云科技推出了一款前沿的AI編程助手——Amazon CodeWhisperer 。這款工具利用了最先進(jìn)的深度學(xué)習(xí)技術(shù),通過(guò)訓(xùn)練幾十億行代碼,能夠快速理解開(kāi)發(fā)者的需求,提供即時(shí)的、強(qiáng)大的代碼建議 和錯(cuò)誤檢測(cè),使開(kāi)發(fā)者能夠更快、更安全地構(gòu)建應(yīng)用程序 。
為了友友們更好地了解和掌握Amazon CodeWhisperer,在本博客中,我將帶你手把手沉浸式體驗(yàn)一下Amazon CodeWhisperer的魔力和強(qiáng)大之處!讓你能夠愛(ài)上Amazon CodeWhisperer,用上Amazon CodeWhisperer~!
一、Amazon CodeWhisperer 功能概覽
可能很多小伙伴對(duì)Amazon CodeWhisperer的具體的能力還不太清楚,這里先給大家詳細(xì)介紹一下Amazon CodeWhisperer擁有的一些超級(jí)實(shí)用和強(qiáng)大的功能!用上這些功能,再也不怕被同事卷開(kāi)發(fā)效率了!
1.1 強(qiáng)大的代碼建議
Amazon CodeWhisperer是基于數(shù)十億行代碼訓(xùn)練而成的,所以它能夠理解用自然語(yǔ)言編寫的各種代碼,并且可以實(shí)時(shí)地生成多個(gè)代碼建議來(lái)提高開(kāi)發(fā)人員的工作效率。該服務(wù)直接在集成式開(kāi)發(fā)環(huán)境(IDE)的代碼編輯器中提供針對(duì)完整函數(shù)和邏輯代碼塊(通常由多達(dá)10–15行代碼組成)的建議。
并且不用擔(dān)心它生成的代碼不符合你的代碼風(fēng)格,Amazon CodeWhisperer將學(xué)習(xí)你的代碼寫法與風(fēng)格,遵循你的設(shè)定的風(fēng)格和命名規(guī)則。怎么樣,很驚艷有木有!
1.2 支持多種語(yǔ)言與IDE
在公司開(kāi)發(fā)中,可能每個(gè)程序員們開(kāi)發(fā)的語(yǔ)言或者說(shuō)IDE都是不大一樣的,但是請(qǐng)放心。
目前市面上主流的各類開(kāi)發(fā)語(yǔ)言,例如Python、Java、Go、Rust、PHP、C++、C、JavaScript、TypeScript等等都是支持的!并且支持各種主流IDE工具,IDEA、Pycharm、VS Code等等這些都支持~
還有友友可能會(huì)說(shuō)如果是SQL Boy呢?能用Amazon CodeWhisperer嗎?我的回答是,那是必須的!
1.3 安全掃描
在咱們寫完代碼之后,可以使用Amazon CodeWhisperer幫助我們進(jìn)行代碼的安全掃描,Amazon CodeWhisperer將幫助我們分析出代碼漏洞,并且會(huì)針對(duì)我們業(yè)務(wù)代碼中的漏洞提出更改優(yōu)化建議與代碼。
這個(gè)功能很實(shí)用,能夠幫助我們排除不必要的安全隱患!Boss再也不用擔(dān)心我寫的代碼出問(wèn)題了。
二、沉浸式體驗(yàn)使用Amazon CodeWhisperer實(shí)戰(zhàn)開(kāi)發(fā)代碼
相信大家看到這已經(jīng)很期待Amazon CodeWhisperer的實(shí)戰(zhàn)表現(xiàn)了,這不,我來(lái)給大家看看Amazon CodeWhisperer是怎么智能幫助我們?nèi)粘I钪刑岣邔W(xué)習(xí)與工作效率的!
首先我們使用Amazon CodeWhisperer來(lái)幫助我們快速構(gòu)建一些常見(jiàn)算法及代碼,在這里我選擇Python語(yǔ)言,看看Amazon CodeWhisperer是怎么幫助我們進(jìn)行構(gòu)建的吧!
2.1 Pycharm中快速導(dǎo)入Amazon CodeWhisperer
首先我們?cè)赑ycharm的設(shè)置Settings中,找到插件,然后搜索“Amazon Toolkit”。點(diǎn)擊Install,等待下載完成后,重啟Pycharm即可~
然后我們?cè)诓寮羞M(jìn)一步處理,使用個(gè)人AWS賬號(hào)去使用Amazon CodeWhisperer~
我們需要將這個(gè)代碼貼進(jìn)來(lái)進(jìn)行驗(yàn)證!并根據(jù)后續(xù)的操作進(jìn)行郵箱注冊(cè)創(chuàng)建AWS Builder賬號(hào)即可~
一切就緒之后會(huì)提出彈窗~
當(dāng)在Pycharm中出現(xiàn)如下界面之后,就代表咱們能夠順利使用Amazon CodeWhisperer了!
話不多說(shuō),開(kāi)始用起來(lái)!
2.2 使用CodeWhisperer快速構(gòu)建Python代碼
我們先來(lái)使用Amazon CodeWhisperer寫一個(gè)簡(jiǎn)單的冒泡排序,咱看看效果。首先輸入我們的注釋,這樣Amazon CodeWhisperer就知道們要干什么了,然后我們輸入import,就可以看到Amazon CodeWhisperer自動(dòng)幫我們補(bǔ)全了random函數(shù)。
看到上面這個(gè)圖,你以為Amazon CodeWhisperer只是簡(jiǎn)單補(bǔ)齊一行代碼那么簡(jiǎn)單?只能說(shuō)你太小看Amazon CodeWhisperer了!接著往下看!
不單單只是那一行!Amazon CodeWhisperer可以簡(jiǎn)簡(jiǎn)單單的直接幫我們補(bǔ)完所有實(shí)現(xiàn)代碼!
好,我這里選擇方案2中的代碼補(bǔ)全,然后當(dāng)輸入符到達(dá)代碼最后一行時(shí),新的一行又自動(dòng)跳出來(lái)了!
也就是print(a[i],end = ' ')這一行是在我沒(méi)有給出任何指令的情況下,Amazon CodeWhisperer自動(dòng)提示我是否需要補(bǔ)充的!如果我需要,我只需按下Tab回車鍵或者鼠標(biāo)點(diǎn)擊Insert Code按鈕即可。
怎么說(shuō)兄弟們,有沒(méi)有走一步算三步那味道了!這跟市面上以往的AI代碼助手不同,Amazon CodeWhisperer是真正能夠進(jìn)行“預(yù)判”式的輔助你寫代碼!并且咱們最開(kāi)始的一切只是“源于”一個(gè)不起眼的小注釋,Amazon CodeWhisperer通過(guò)這個(gè)注釋已經(jīng)幫我們算好了接下來(lái)2-3個(gè)步驟,是不是很高效!
我測(cè)試了一下使用Amazon CodeWhisperer寫冒泡排序的時(shí)間,只需要按下三次Tab鍵即可!約等于大概2s鐘的時(shí)間!如果說(shuō)正常來(lái)寫,只使用Pycharm自帶的代碼Tab補(bǔ)寫,就算手速再快,也需要大概15-20s左右的時(shí)間!
2s相比于20s,近乎10倍的時(shí)間開(kāi)銷差距,在日常開(kāi)發(fā)中有多香不用我多說(shuō)了吧,各位老司機(jī),時(shí)間就是金錢呀!
只能說(shuō)Amazon CodeWhisperer是真正意義上做到了幫助開(kāi)發(fā)者節(jié)省時(shí)間,用戶體驗(yàn)感直接Max!
在同行中,Amazon CodeWhisperer真的可以說(shuō)是“遙遙領(lǐng)先”了哈哈哈哈哈。
除了上面Amazon CodeWhisperer突出的“預(yù)判式”速度優(yōu)勢(shì) ,Amazon CodeWhisperer還有一個(gè)優(yōu)勢(shì),那就是Amazon CodeWhisperer不僅僅只是提供給你一種代碼思路,而是提供了3種以上的代碼建議,能夠讓我們有多種選擇!
很明顯,我們可以根據(jù)我們的具體代碼開(kāi)發(fā)需求以及個(gè)人習(xí)慣進(jìn)行選擇,這直接把個(gè)性化體驗(yàn)拉滿了~~~ 簡(jiǎn)單快速易上手,難度一點(diǎn)都沒(méi)有!我看誰(shuí)還沒(méi)用上Amazon CodeWhisperer哈哈哈。
2.3 Amazon CodeWhisperer支持各種領(lǐng)域方向的代碼編寫
可能有老鐵會(huì)覺(jué)得上面舉的例子太簡(jiǎn)單了,還是對(duì)Amazon CodeWhisperer超級(jí)魔力看的不過(guò)癮。
行,那咱上點(diǎn)“高質(zhì)量”的狠貨。
狠貨的情況是這樣的,前兩天我一個(gè)還在讀研的同學(xué)在打全國(guó)研究生數(shù)學(xué)建模競(jìng)賽,問(wèn)我如何用python寫一些高效的數(shù)學(xué)算法模型,例如二維馬爾科夫鏈這種,我當(dāng)時(shí)是這查查那查查,東拼西湊給同學(xué)發(fā)了一份二維馬爾科夫鏈算法模型的代碼。我只能說(shuō)短短三四十行的代碼至少花了我兩三個(gè)小時(shí),而且做的很難受,很心累。
現(xiàn)在我用Amazon CodeWhisperer來(lái)試試看看需要多久,或者說(shuō)難不難寫出算法模型。
首先還是按照上面一樣,寫個(gè)注釋,讓Amazon CodeWhisperer明白我要做什么。
可以看到,如下圖,我只是簡(jiǎn)單輸入了import math,Amazon CodeWhisperer就已經(jīng)幫我補(bǔ)全了其他所需要的常見(jiàn)數(shù)學(xué)計(jì)算包。
下一步,我繼續(xù)在注釋中寫明我需要做到哪些事情。比方說(shuō)我想繼續(xù)寫一個(gè)狀態(tài)轉(zhuǎn)移方程,用來(lái)求馬爾科夫鏈模型的概率矩陣。
可以看到,Amazon CodeWhisperer直接提供好了一個(gè)初始矩陣給我,非常的方便。
我們?cè)龠M(jìn)一步提出要求,注釋中寫清楚即可。
補(bǔ)全之后下一步Amazon CodeWhisperer又根據(jù)新的注釋幫我進(jìn)行了代碼建議,是不是看起來(lái)很專業(yè),而且代碼風(fēng)格看起來(lái)賞心悅目,非常整齊,看起來(lái)清爽。
然后我們簡(jiǎn)單對(duì)狀態(tài)矩陣進(jìn)行判斷返回即可。根據(jù)Amazon CodeWhisperer的代碼建議補(bǔ)全如下。
怎么樣,是不是很優(yōu)秀,短短三五分鐘,能夠幫我把這種算法模型的架構(gòu)搭出來(lái)一個(gè)大概,就能幫我省去很多麻煩事。
這說(shuō)明Amazon CodeWhisperer是真的能夠覆蓋很多場(chǎng)景,就連高級(jí)數(shù)學(xué)知識(shí)、數(shù)據(jù)科學(xué)類方面的代碼,Amazon CodeWhisperer也是能夠幫助我們進(jìn)行一個(gè)補(bǔ)全編寫的!
在簡(jiǎn)單易上手的基礎(chǔ)上,咱就是說(shuō),Amazon CodeWhisperer主打的就是一個(gè)全能,能夠覆蓋多領(lǐng)域多方向需求~
2.4 Amazon CodeWhisperer的安全掃描功能
我找了一份研究生數(shù)學(xué)建模的參考示例代碼,按照慣例,參考示例代碼應(yīng)該是沒(méi)有問(wèn)題的,那咱們看看Amazon CodeWhisperer的安全掃描會(huì)不會(huì)提出什么安全漏洞建議~
咱們可以耐心等待看看掃描結(jié)果。結(jié)果顯示掃描一切正常, 這說(shuō)明這份參考示例代碼是沒(méi)有問(wèn)題的。這符合咱們的預(yù)期, 說(shuō)明Amazon CodeWhisperer的安全掃描功能還是沒(méi)問(wèn)題的~
三、Amazon CodeWhisperer 總結(jié)
通過(guò)上面說(shuō)的那么多東西,相信各位老鐵肯定很心動(dòng)了,還等什么呢,趕緊用起來(lái)吧!
咱們來(lái)總結(jié)一下 Amazon CodeWhisperer 的優(yōu)點(diǎn):
1、對(duì)小白友好,不存在什么引入難度。大家可以看到 Amazon CodeWhisperer 導(dǎo)入及使用大概兩分鐘就能操作完了,非常的簡(jiǎn)單,不需要什么時(shí)間。
2、上手簡(jiǎn)單。其實(shí)使用 Amazon CodeWhisperer就幾個(gè)快捷鍵,Tab這種,使用起來(lái)也是完全沒(méi)有任何的難度。
3、覆蓋面廣,功能全面。咱們可以看到,對(duì)于一些高級(jí)數(shù)學(xué)知識(shí),他也能夠很快的給出代碼建議。這一點(diǎn)其實(shí)非常好,因?yàn)樵陂_(kāi)發(fā)中我們會(huì)遇到各種各樣的問(wèn)題與需求,代碼助手的全面性決定了是否能夠幫助更多的開(kāi)發(fā)者,所以我覺(jué)得 Amazon CodeWhisperer是非常優(yōu)秀的,功能全面無(wú)死角。
4、維護(hù)了代碼開(kāi)發(fā)安全??赡芎芏鄤偣ぷ鲙啄甑拈_(kāi)發(fā)者并不是非常有經(jīng)驗(yàn)對(duì)于代碼安全方面,但 Amazon CodeWhisperer 剛好就能夠幫我們有效識(shí)別和修復(fù)潛在的安全漏洞,我覺(jué)得這是非常好的。幫助我們更好的完成代碼開(kāi)發(fā)。
綜上所述,我覺(jué)得 Amazon CodeWhisperer 是一款各方面都非常不錯(cuò)的AI代碼助手,遙遙領(lǐng)先這四個(gè)字,絕對(duì)當(dāng)之無(wú)愧!
申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!