不會寫代碼同學的福音——AI 代碼生成器 Amazon CodeWhisperer

作者:此星光明

本文轉載經亞馬遜雲科技授權

Amazon CodeWhisperer 是一個以機器學習爲動力的代碼生成器,直接在集成開發環境(IDE)中爲開發者提供實時代碼建議。它是一個通用的工具,可以用於 IDE 支持的任何編程語言。

大家可以通過下面的鏈接進入註冊並使用:AI 代碼生成器 - Amazon CodeWhisperer - 亞馬遜雲科技

CodeWhisperer 是在一個龐大的開源代碼數據集上訓練出來的,它使用這些數據來生成與你目前正在編寫的代碼相關的建議。這些建議的範圍可以從一行代碼到一個完整的函數。

CodeWhisperer 還可以掃描你的代碼是否存在安全漏洞。它通過將你的代碼與已知漏洞的數據庫進行比較來實現這一目的。如果 CodeWhisperer 發現一個潛在的漏洞,它將標記代碼,併爲你提供一個鏈接,以獲得更多關於該漏洞的信息。

CodeWhisperer 是一個強大的工具,可以幫助你更快、更安全地編寫代碼。它可以免費提供給個人開發者,它也可以作爲 Amazon CodeStar Pro 訂閱的一部分。

以下是使用亞馬遜 CodeWhisperer 的一些好處:

提高安全性: CodeWhisperer 可以通過掃描你的代碼的潛在漏洞來幫助你寫出更安全的代碼。這可以幫助你避免昂貴的安全漏洞和數據丟失。

減少錯誤: CodeWhisperer 可以通過爲您提供準確和相關的代碼建議來幫助您減少代碼中的錯誤數量。這可以節省你的時間和挫折感,並且可以幫助你提高代碼的質量。

如果你是一個正在尋找提高生產力、安全性和準確性的方法的開發者,那麼你應該考慮使用 Amazon CodeWhisperer。

使用收藏夾工具

CodeWhisperer 符合您的工作方式。從 15 種編程語言中進行選擇,包括 Python、Java 和 JavaScript,以及您最喜歡的集成式開發環境(IDE),包括 VS Code、IntelliJ IDEA、Amazon Cloud9、Amazon Lambda 控制檯、JupyterLab 和 Amazon SageMaker Studio。

開發人員工作效率的巨大飛躍速度提高57%

在預覽期間,Amazon 舉辦了一場生產力挑戰賽,使用 Amazon CodeWhisperer 的參與者成功完成任務的可能性要比未使用 CodeWhisperer 的參與者高 27%,平均完成任務的速度快 57%。

Amazon CodeWhisperer,一個實時的人工智能編碼伴侶,普遍可用,還包括一個 CodeWhisperer 個人層,所有開發人員都可以免費使用。CodeWhisperer 最初是在去年推出的預覽版,它使開發人員保持狀態和生產力,幫助他們快速和安全地編寫代碼,而不需要離開他們的 IDE 去研究什麼,打破他們的流程。面對爲複雜和不斷變化的環境創建代碼,開發人員可以通過在他們最喜歡的 IDE(包括 Visual Studio Code、IntelliJ IDEA 和其他 IDE)中使用 CodeWhisperer 來提高他們的生產力並簡化他們的工作。

CodeWhisperer 有助於爲常規的或耗時的、無差別的任務創建代碼,使用不熟悉的 API 或 SDK,正確有效地使用 Amazon API,以及其他常見的編碼場景,如讀寫文件、圖像處理、編寫單元測試等。

只需使用一個電子郵件賬戶,您就可以註冊,並在短短几分鐘內提高編寫代碼的效率,而且您甚至不需要成爲亞馬遜雲科技的客戶。對於企業用戶,CodeWhisperer 提供了一個專業層,增加了管理功能,如 SSO 和 IAM 身份中心的整合,對參考代碼建議的策略控制,以及對安全掃描的更高限制。除了爲 Python、Java、JavaScript、TypeScript 和 C# 生成代碼建議外,普遍可用的版本現在還支持 Go、Rust、PHP、Ruby、Kotlin、C、C++、Shell 腳本、SQL 和 Scala。在 Visual Studio Code、IntelliJ IDEA、CLion、GoLand、WebStorm、Rider、PhpStorm、PyCharm、RubyMine 和 DataGrip IDE 中工作的開發人員可以使用 CodeWhisperer(當這些 IDE 安裝了適當的亞馬遜雲科技擴展時),或在 Amazon Cloud9 或 Amazon Lambda 控制檯中使用。

幫助開發人員保持他們的流程越來越重要,因爲面對越來越多的時間壓力來完成他們的工作,開發人員往往被迫打破這種流程,轉向互聯網搜索、StackOverflow 等網站或他們的同事來幫助完成任務。雖然這可以幫助他們獲得所需的啓動代碼,但這是一種破壞性的做法,因爲他們不得不離開他們的 IDE 環境去搜索或在論壇上提問,或尋找和詢問同事--進一步增加了干擾。相反,CodeWhisperer 在開發者最有效率的地方與他們見面,在他們在 IDE 中寫代碼或評論時實時提供建議。在預覽期間,我們進行了一次生產力挑戰,使用 CodeWhisperer 的參與者成功完成任務的可能性增加了 27%,並且比不使用 CodeWhisperer 的參與者平均快了 57%。

從評論中生成代碼

然而,開發人員最終找到的代碼可能包含一些問題,如隱藏的安全漏洞,有偏見或不公平,或未能負責任地處理開放源代碼。當開發者後來不得不解決這些問題時,這些問題不會提高他們的工作效率。在安全編碼和負責任地使用人工智能方面,CodeWhisperer 是最好的編碼夥伴。爲了幫助你負責任地編碼,CodeWhisperer 過濾掉可能被認爲有偏見或不公平的代碼建議,而且它是唯一可以過濾或標記可能類似於特定開源訓練數據的代碼建議的編碼伴侶。它爲建議提供額外的數據--例如,存儲庫的 URL 和許可證--當生成與訓練數據相似的代碼時,有助於降低使用代碼的風險,使開發人員能夠放心地重新使用它。

開源參考資料追蹤

CodeWhisperer 也是唯一具有安全掃描功能的人工智能編碼伴侶,可以爲難以發現的漏洞尋找和建議補救措施,掃描生成的和開發人員編寫的代碼,尋找漏洞,如開放網絡應用安全項目(OWASP)中列出的前十名。如果它發現了一個漏洞,CodeWhisperer 會提供建議來幫助補救這個問題。

漏洞掃描

CodeWhisperer 提供的代碼建議不是專門針對與亞馬遜雲科技合作的。然而,CodeWhisperer 針對最常用的 Amazon API 進行了優化,例如 Amazon Lambda 或亞馬遜簡單存儲服務(Amazon S3),使其成爲在亞馬遜雲科技上構建應用程序的最佳編碼夥伴。雖然 CodeWhisperer 爲各種語言的通用用例提供了建議,但使用 Amazon API 的額外數據進行的調整意味着你可以確信它是最高質量、最準確的代碼生成,你可以獲得與亞馬遜雲科技合作的機會。