AWS現(xiàn)在正式推出程序開發(fā)輔助服務(wù)CodeWhisperer,該服務(wù)在去年6月發(fā)布預(yù)覽版,經(jīng)過一年多的改進加入多項新功能,像是提供發(fā)現(xiàn)和修復(fù)程序代碼漏洞的能力,還添加了基礎(chǔ)設(shè)施即程序代碼(Infrastructure as Code,IaC)支持,并且預(yù)覽Visual Studio集成功能。
CodeWhisperer是一個以機器學(xué)習(xí)技術(shù)為核心,并且利用開源存儲庫、Amazon自有存儲庫、API文件和論壇數(shù)十億行程序代碼訓(xùn)練而成的程序開發(fā)輔助服務(wù)。CodeWhisperer會根據(jù)程序代碼和注解,依據(jù)開發(fā)者的程序編寫風(fēng)格和變量名稱,提供程序代碼建議。CodeWhisperer預(yù)覽版支持的語言有Python、Java、JavaScript,開發(fā)者可選擇在熟悉的各種IDE上使用。
預(yù)覽版CodeWhisperer通過內(nèi)置的安全掃描功能,能發(fā)現(xiàn)諸如暴露的憑證和日志注入等問題,而AWS現(xiàn)在發(fā)布的正式版CodeWhisperer加入漏洞緩解功能,進一步使用生成式人工智能來產(chǎn)生程序代碼建議,協(xié)助開發(fā)者修復(fù)已知的安全性和程序代碼品質(zhì)問題。
在發(fā)現(xiàn)漏洞之后,CodeWhisperer便會根據(jù)用戶的程序代碼,提供專屬修復(fù)建議,開發(fā)者可以接受建議,快速修復(fù)該漏洞。目前新版中的安全掃描功能,除了之前的Java、Python、JavaScript,現(xiàn)在還添加支持TypeScript、C#、AWS CloudFormation、AWS CDK和HashiCorp Terraform,而漏洞緩解功能則是針對Java、Python和JavaScript程序代碼漏洞提供修復(fù)建議。
CodeWhisperer現(xiàn)在也支持基礎(chǔ)設(shè)施即程序代碼,強化開發(fā)者腳本編寫效率,開發(fā)者可將其用于AWS CloudFormation、AWS CDK和HashiCorp Terraform工具,以編寫基礎(chǔ)設(shè)施程序代碼,官方提到,由于CodeWhisperer支持多種基礎(chǔ)設(shè)施即程序代碼語言,因此可以促進不同團隊間的協(xié)作和一致性。
開發(fā)者現(xiàn)在已經(jīng)可以于Visual Studio 2022中使用CodeWhisperer,獲取C#即進程序代碼建議。此外,新版本也讓開發(fā)者可以更負責(zé)任地編寫程序代碼,供開發(fā)者注記可能由公開可用程序代碼組合而成的程序代碼段落,并提供類似程序代碼的存儲庫URL和授權(quán)資訊(下圖)。
CodeWhisperer最近的更新也針對Git、npm、AWS CLI和Docker等命令行接口工具,添加即進程序代碼自動完成和內(nèi)置文件(Inline Documentation)。CodeWhisperer也已經(jīng)可以將自然語言翻譯成shell層程序代碼,以更直覺地方式使用操作命令行工具。