CodeWhisperer:強大的AI代碼助手,大大提高編程效率


什么是 Amazon CodeWhisperer?

亞馬遜云科技在2023年4月18日宣布,實時 AI 編程助手 Amazon CodeWhisperer 正式可用,同時推出的還有供所有開發(fā)人員免費使用的個人版(CodeWhisperer Individual)。CodeWhisperer 經(jīng)過數(shù)十億行代碼的訓(xùn)練,可以根據(jù)您的評論和現(xiàn)有代碼實時生成從代碼片段到全函數(shù)的代碼建議。CodeWhisperer 幫助開發(fā)者基于注釋生成代碼,追蹤開源參考,掃描查找漏洞。確保了開發(fā)人員可以專注于敏捷開發(fā),不會由于搜索示例代碼等工作而打斷思緒。在創(chuàng)建復(fù)雜代碼和面對不斷變化的開發(fā)環(huán)境時,開發(fā)人員可以在自己喜歡的 IDE(集成開發(fā)環(huán)境)中使用 CodeWhisperer,例如 Visual Studio Code、IntelliJ IDEA 及其他 IDE,從而提高工作效率、簡化工作任務(wù)。

具有以下特點:

·  1、免費:對所有開發(fā)人員都可以免費使用。這點很重要?。。?/p>

·  2、為您量身定制的實時 AI 代碼生成器,極大提高工作效率。在預(yù)覽期間,Amazon 舉辦了一場工作效率挑戰(zhàn)賽,使用 Amazon CodeWhisperer 的參與者成功完成任務(wù)的可能性要比未使用 CodeWhisperer 的參與者高 27%,平均完成任務(wù)的速度快 57%。

·  3、 支持熱門編程語言和 IDE。Amazon CodeWhisperer 支持開發(fā)語言有: Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、Shell 腳本、SQL 和 Scala 等開發(fā)語言;支持的IDE有Visual Studio Code、IntelliJ IDEA 等。所有開發(fā)人員(不僅僅是擁有亞馬遜云服務(wù)賬戶或使用亞馬遜云服務(wù)的人),只需一個電子郵箱地址即可注冊。so easy?。。?/p>

·  4、針對 AWS 服務(wù)的優(yōu)質(zhì)建議:可以幫助程序員過濾出有偏見或不公正的代碼建議,提高代碼的安全性和準(zhǔn)確性。CodeWhisperer 是唯一具備該功能的編程助手。當(dāng)生成的代碼類似于訓(xùn)練集中的參考代碼時,它會為代碼提供額外的提示(比如代碼庫 URL 和許可證),幫助降低使用代碼的風(fēng)險,并使開發(fā)人員重復(fù)利用代碼。

·  5、內(nèi)置安全掃描:可以對開發(fā)人員編寫的代碼進(jìn)行安全掃描,找到并建議修復(fù)難以檢測的漏洞。例如十大開放式 Web 應(yīng)用程序安全項目 (OWASP) 中的漏洞以及不符合加密庫最佳實踐的漏洞等。如果 CodeWhisperer 發(fā)現(xiàn)了漏洞,它會提供解決問題的建議。

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

快速上手CodeWhisperer

安裝

打開pytcharm,點擊File——Settings,如下圖:

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

點擊Plugins,然后,在搜索欄里輸入aws,找到AWS Toolkit,點擊Install安裝,如下圖:

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

彈出警告框,如下圖:

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

點擊Accept,繼續(xù)下一步。等待安裝完成。

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

安裝完成后,點擊Apply。

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

重啟Pycharm。到這里就安裝完成了。非常easy?。。?/p>

配置

重啟Pycharm后,在左下角就能看到AWS Toolkit。我們開始配置CodeWhisperer,如下圖

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

點擊AWS Toolkit——Developer Tools,選擇CodeWhisperer,點擊Start。

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

選擇使用email登錄,如上如圖.然后,點擊Connect

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

點擊Open and Copy Code。

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

然后將Code粘貼進(jìn)去。點擊Submit and continue。繼續(xù)下一步!

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

輸入注冊的電子郵箱,如果沒有請注冊一個賬號!繼續(xù)下一步!

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

輸入郵箱和姓名!下一步!

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

新建密碼,和新建賬號時的要求一樣,可以設(shè)置一樣的密碼!

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

點擊Allow。然后網(wǎng)頁和Pycharm彈出如下界面:

CodeWhisperer:強大的AI代碼助手,大大提高編程效率
CodeWhisperer:強大的AI代碼助手,大大提高編程效率

一切OK!Are you OK?

如何使用 Amazon CodeWhisperer

·  1、將光標(biāo)放在注釋或代碼行后面,點擊 Enter 鍵,激活 CodeWhisperer。

·  2、您可以使用向左箭頭鍵 / 向右箭頭鍵,瀏覽多個建議(如果可用)。通過按 Tab 鍵,接受代碼建議。通過按 Esc 鍵 或鍵入一個字符,放棄建議。

·  3、在接受或編寫新代碼后,再次點擊 Enter 鍵,獲取下一行建議代碼。

·  4、手動觸發(fā) Amazon CodeWhisperer;或者如果未顯示建議,可在 MacOS 上點擊 Option + C,或在 Windows 上點擊 Alt + C。

CodeWhisperer初體驗:hello world

配置完成就可以上手了! 體驗一下Python的hello world。如下圖:

先寫一行注釋,如下圖:

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

然后,點擊Enter鍵,生成函數(shù)名。如果你覺得滿意,點擊Tab鍵即可使用!在點擊Enter鍵,生成函數(shù)體,如下圖:

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

點擊Tab鍵,寫入代碼。幾個按鍵就可以完成!代碼如下:

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

中文和英文混著用,CodeWhisperer可以識別!

Python語言快速入門

我選一些常用的代碼作為例子,比如一些文件的讀寫操作和一些經(jīng)典的算法,體驗CodeWhisperer代碼生成能力!

向文件寫入數(shù)據(jù)

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

我想輸入一萬行咋辦呢?

讀取csv文件

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

這個就比較簡單了!

排序算法之冒泡排序

代碼如下:

CodeWhisperer:強大的AI代碼助手,大大提高編程效率
CodeWhisperer:強大的AI代碼助手,大大提高編程效率

對比其他平臺的,代碼如下:

CodeWhisperer:強大的AI代碼助手,大大提高編程效率
CodeWhisperer:強大的AI代碼助手,大大提高編程效率

設(shè)計模式之單例模式

模式設(shè)計也是日常編程經(jīng)常用到的,我選擇單例模式來測驗一下CodeWhisperer,代碼如下:

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

可以看到a和b是同一個對象,代碼是沒有問題的!

使用CodeWhisperer快速上手Pytorch

目前,python語言廣泛應(yīng)用在AI上,其中最著名的AI框架是Pytorch。試試CodeWhisperer生成Pytorch代碼的能力如何?

pytorch版本的卷積

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

Conv+BN+Relu激活函數(shù)

Conv+BN+Relu是CNN的標(biāo)準(zhǔn)配置!我們一起看看CodeWhisperer生成的代碼怎么樣,代碼如下:

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

輕松搞定!??!

殘差Block

ResNet Block,這種殘差結(jié)構(gòu)主宰著深度學(xué)習(xí)模型,無論是CNN還是Transformer都是這種殘差結(jié)構(gòu),我們嘗試使用CodeWhisperer生成ResNet的Block,代碼如下:

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

毫無壓力?。?!

上大餐:Reset18

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

只需使用Enter+Tab+方向鍵就可以完成ResNet18網(wǎng)絡(luò)的編譯!

NMS(非極大值抑制)

NMS是物體檢測常用的代碼,我們使用CodeWhisperer可以輕松寫出來,代碼如下:

CodeWhisperer:強大的AI代碼助手,大大提高編程效率

總結(jié)

在這個AI技術(shù)飛速發(fā)展的時代,我們邀請你一同踏上“用 AI 助力,提升編程效率 —— Amazon CodeWhisperer 探索之旅”的征程。這不僅是一次向AI編程助手——Amazon CodeWhisperer的探索,也是一次向更高效、更智能編程方式的探索。

在這次旅程中,我們一同領(lǐng)略了Amazon CodeWhisperer帶來的革命性改變,它以人工智能為驅(qū)動,極大地提升了開發(fā)者的生產(chǎn)力,降低了開發(fā)時間,并提供了一種全新的編程體驗。從代碼的生成到智能建議,再到錯誤檢測和代碼優(yōu)化,CodeWhisperer都展現(xiàn)出了強大的能力。

通過上面的介紹,相信你已經(jīng)親身體驗到AI技術(shù)在編程中的應(yīng)用,感受到了CodeWhisperer帶來的便捷與高效。讓我們共同開啟這個全新的編程世界,擁抱AI的變革,用智能編程助力我們的未來。

我們在這里等你,一起開啟這場AI與編程的探索之旅,一起見證AI技術(shù)在軟件開發(fā)中的美好未來!

原創(chuàng)文章,作者:陳晨,如若轉(zhuǎn)載,請注明出處:http://2079x.cn/article/588854.html

陳晨陳晨管理團隊

相關(guān)推薦

發(fā)表回復(fù)

登錄后才能評論