日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

1、簡(jiǎn)介

Github Copilot和Amazon CodeWhisperer是采用人工智能技術(shù)驅(qū)動(dòng)的編碼助手,它們將自動(dòng)完成編碼功能提升到一個(gè)全新的水平。在最佳狀態(tài)下,它們可以根據(jù)開(kāi)發(fā)者提供的簡(jiǎn)短描述性文本編寫(xiě)功能完整、可運(yùn)行的代碼塊。這可以讓開(kāi)發(fā)者更高效,而且還能讓開(kāi)發(fā)變得更有趣!

接下來(lái)跟隨本文開(kāi)始了解最佳AI編碼助手吧!

2、什么是人工智能編碼助手?

GitHub Copilot和Amazon CodeWhisperer是與代碼編輯器集成的服務(wù),可以幫助開(kāi)發(fā)者更快地編寫(xiě)代碼。但與常見(jiàn)的自動(dòng)完成工具(如“IntelliSense”)不同,Copilot和CodeWhisperer利用的是在源代碼和自然語(yǔ)言上都經(jīng)過(guò)訓(xùn)練的機(jī)器學(xué)習(xí)模型,因此它們既能理解編程語(yǔ)言,也能理解人類語(yǔ)言。這使它們能夠理解用簡(jiǎn)單英語(yǔ)編寫(xiě)的注釋,根據(jù)開(kāi)發(fā)者的意圖生成代碼,并匹配開(kāi)發(fā)者的模式和風(fēng)格。當(dāng)開(kāi)發(fā)者輸入時(shí),它們甚至?xí)峁┩瓿沙跏甲⑨尡旧淼慕ㄗh。可以接受頂部的建議,也可以查看更多建議,或者繼續(xù)編寫(xiě)自己的代碼。

節(jié)省創(chuàng)建模板代碼和重復(fù)代碼模式的時(shí)間,將更多時(shí)間投入到重要的事情上:構(gòu)建優(yōu)秀的軟件(GitHub Copilot)。

2.1 什么是GitHub Copilot?

【GitHub Copilot】:https://github.com/features/copilot/

GitHub Copilot是由GitHub和OpenAI共同開(kāi)發(fā)的,它由OpenAI的Codex模型提供支持,該模型是在公開(kāi)源代碼(包括GitHub上的公共源代碼庫(kù))上進(jìn)行訓(xùn)練的。Copilot在2022年6月正式宣布“退出技術(shù)預(yù)覽”。

AI編程,詳細(xì)比較GitHub Copilot對(duì)比Amazon CodeWhisperer圖片

開(kāi)始輸入描述性注釋或函數(shù)名稱,Copilot會(huì)嘗試自動(dòng)補(bǔ)全其余內(nèi)容。

Copilot非常易于使用,并與所有主要的代碼編輯器進(jìn)行了簡(jiǎn)化集成。GitHub Copilot針對(duì)七種主要的編程語(yǔ)言進(jìn)行了優(yōu)化(詳見(jiàn)下表),但也可以生成其他語(yǔ)言和各種框架的建議。

Copilot在預(yù)覽階段是免費(fèi)的,但GitHub在2022年宣布轉(zhuǎn)向訂閱模式。開(kāi)發(fā)者仍然可以獲得為期60天的免費(fèi)試用,而且對(duì)于經(jīng)過(guò)驗(yàn)證的學(xué)生和熱門開(kāi)源項(xiàng)目的維護(hù)者,它將保持免費(fèi)。

AI編程,詳細(xì)比較GitHub Copilot對(duì)比Amazon CodeWhisperer圖片

Copilot的建議是上下文相關(guān)的。請(qǐng)注意它是如何“學(xué)會(huì)”開(kāi)發(fā)者想要使用常量的,以及它是如何正確命名和填充對(duì)象的。

2.2 什么是Amazon CodeWhisperer?

【Amazon CodeWhisperer】:https://aws.amazon.com/cn/codewhisperer/

Amazon CodeWhisperer是由亞馬遜開(kāi)發(fā)的。它的機(jī)器學(xué)習(xí)模型是在各種數(shù)據(jù)源(包括亞馬遜的內(nèi)部代碼和開(kāi)放源代碼)上訓(xùn)練出來(lái)的。

AI編程,詳細(xì)比較GitHub Copilot對(duì)比Amazon CodeWhisperer圖片

CodeWhisperer可以完成注釋,并根據(jù)注釋提供代碼建議。開(kāi)發(fā)者可以在不同的代碼實(shí)現(xiàn)之間切換,選擇最合適的代碼。

CodeWhisperer與GitHub Copilot相比,它支持的語(yǔ)言和主要代碼編輯器都較少。不過(guò),廣泛的語(yǔ)言和IDE支持并非CodeWhisperer的主要吸引點(diǎn)。相反,CodeWhisperer專注于為AWS API提供一流的支持,為包括亞馬遜彈性計(jì)算云(EC2)、AWS Lambda和亞馬遜簡(jiǎn)單存儲(chǔ)服務(wù)(S3)在內(nèi)的最流行服務(wù)提供代碼建議。

根據(jù)亞馬遜官網(wǎng)的介紹,用戶只需編寫(xiě)“將文件上傳到S3。(upload a file to S3.)”,CodeWhisperer將自動(dòng)確定最適合指定任務(wù)的云服務(wù)和公共庫(kù),即時(shí)構(gòu)建具體代碼,并直接在IDE中推薦生成的代碼片段。

【Amazon CodeWhisperer簡(jiǎn)介】:https://aws.amazon.com/cn/blogs/machine-learning/introducing-amazon-codewhisperer-the-ml-powered-coding-companion/

個(gè)人開(kāi)發(fā)者可以免費(fèi)使用CodeWhisperer。

3、比較

AI編程,詳細(xì)比較GitHub Copilot對(duì)比Amazon CodeWhisperer圖片

GitHub Copilot與Amazon CodeWhisperer的比較。

3.1 哪個(gè)更受歡迎?

由于CodeWhisperer的發(fā)布時(shí)間較短,GitHub Copilot憑借其一年的先發(fā)優(yōu)勢(shì),目前占據(jù)著主導(dǎo)地位。根據(jù)GitHub自己的數(shù)據(jù),在預(yù)覽階段的12個(gè)月里,超過(guò)120萬(wàn)開(kāi)發(fā)者使用了Copilot的技術(shù)預(yù)覽版。他們自己的研究表明,用戶平均接受了GitHub Copilot提供的所有補(bǔ)全內(nèi)容的26%,并且高達(dá)40%的開(kāi)發(fā)者的代碼文件是由GitHub Copilot生成的。

3.2 隱私如何保護(hù)?

為了提高性能,Copilot和CodeWhisperer都會(huì)收集用戶的數(shù)據(jù)。在工作中使用這些工具是否會(huì)危及企業(yè)的代碼庫(kù)或數(shù)據(jù)?這是一個(gè)重要的問(wèn)題,對(duì)于大多數(shù)公司來(lái)說(shuō)可能是一個(gè)潛在的決定因素。

為了提供代碼建議,GitHub Copilot會(huì)將開(kāi)發(fā)者的代碼和注釋發(fā)送到GitHub Copilot服務(wù)。該服務(wù)依賴于文件內(nèi)容的上下文,包括正在編輯的文件以及項(xiàng)目中的相鄰或相關(guān)文件。它還可能收集存儲(chǔ)庫(kù)的URL或文件路徑以識(shí)別相關(guān)的上下文。某些數(shù)據(jù)收集部分可以在遙測(cè)設(shè)置中禁用。但是其他部分,如使用信息,則是使用Copilot所必需的,無(wú)法關(guān)閉。其中可能包括個(gè)人數(shù)據(jù),詳見(jiàn)GitHub隱私聲明。

【GitHub隱私聲明】:https://docs.github.com/en/site-policy/privacy-policies/github-privacy-statement

GitHub還表示,根據(jù)他們的內(nèi)部測(cè)試,他們發(fā)現(xiàn)GitHub Copilot的建議中很少包含直接從訓(xùn)練集中提取的個(gè)人數(shù)據(jù)。然而,其中一些建議可能只是看起來(lái)像個(gè)人數(shù)據(jù)(電子郵件地址、電話號(hào)碼等),但實(shí)際上是從訓(xùn)練數(shù)據(jù)中的模式合成的虛構(gòu)信息。

Amazon CodeWhisperer也會(huì)收集某些信息,如上下文信息(包括文件內(nèi)容)、反饋、遙測(cè)指標(biāo)和用戶環(huán)境信息。在其服務(wù)條款中,亞馬遜表示在預(yù)覽階段會(huì)向開(kāi)發(fā)者提供打開(kāi)或關(guān)閉內(nèi)容共享的選項(xiàng)。

3.3 風(fēng)險(xiǎn)和漏洞如何處理?

這兩個(gè)助手都是在可能包含不安全編碼模式、錯(cuò)誤或過(guò)時(shí)的API或習(xí)慣用語(yǔ)引用的公共代碼上進(jìn)行訓(xùn)練的。報(bào)告《Asleep at the Keyboard? Assessing the Security of GitHub Copilot’s Code Contributions》研究發(fā)現(xiàn),在使用Copilot的測(cè)試場(chǎng)景中多達(dá)40%的代碼存在漏洞。

【報(bào)告】:https://arxiv.org/pdf/2108.09293.pdf

GitHub承認(rèn)Copilot有時(shí)可能會(huì)建議使用舊的或已棄用的庫(kù)和語(yǔ)言,并且它可能會(huì)合成包含不良模式的代碼。為了減少這種情況,他們建議將其與GitHub Actions、Dependabot和CodeQL等工具結(jié)合使用,以幫助提高代碼質(zhì)量。

亞馬遜也是如此,不過(guò)值得稱贊的是,亞馬遜已經(jīng)采取了很好的應(yīng)對(duì)措施,他們提供了安全掃描功能,用于檢測(cè)JAVA和Python/ target=_blank class=infotextkey>Python項(xiàng)目中的漏洞。

AI編程,詳細(xì)比較GitHub Copilot對(duì)比Amazon CodeWhisperer圖片

當(dāng)選擇運(yùn)行安全掃描時(shí),CodeWhisperer會(huì)檢測(cè)到此漏洞并顯示問(wèn)題。(來(lái)源:AWS機(jī)器學(xué)習(xí)博客)

話雖如此,開(kāi)發(fā)者應(yīng)該始終將AI輔助編碼助手與適當(dāng)?shù)臏y(cè)試、良好的代碼審查實(shí)踐、可靠的安全工具以及自己的判斷力結(jié)合使用!

3.4 公共代碼的(錯(cuò)誤)使用情況如何?

關(guān)于在訓(xùn)練集中大量使用公共代碼的問(wèn)題已經(jīng)引起了人們的關(guān)注。理想情況下,助手應(yīng)該始終生成之前從未見(jiàn)過(guò)的代碼。如果助手直接從訓(xùn)練集中引用代碼,這可能使代碼失去合理使用的資格,并可能侵犯原始所有者的版權(quán)。

為了減少這種情況,Copilot內(nèi)置了一個(gè)過(guò)濾器,試圖檢測(cè)和抑制GitHub Copilot建議中包含的代碼與GitHub上的公共代碼相匹配的情況。這個(gè)過(guò)濾器是可選的,可以關(guān)閉。根據(jù)GitHub官方的說(shuō)法,Copilot大約有1%的情況下會(huì)輸出與公共代碼完全相同的超過(guò)約150個(gè)字符的代碼片段。他們將此歸咎于GitHub Copilot無(wú)法從開(kāi)發(fā)者正在編寫(xiě)的代碼中獲取足夠的上下文,或者此問(wèn)題存在一個(gè)常見(jiàn)的、甚至是普遍的解決方案。

與Copilot類似,CodeWhisperer還配備了一個(gè)引用跟蹤器,可以檢測(cè)生成的輸出是否與特定訓(xùn)練數(shù)據(jù)相似。關(guān)于用戶編寫(xiě)的代碼收集,亞馬遜表示他們不會(huì)在預(yù)覽階段使用任何開(kāi)發(fā)者編寫(xiě)的代碼來(lái)進(jìn)一步訓(xùn)練其模型。然而,CodeWhisperer確實(shí)會(huì)存儲(chǔ)與開(kāi)發(fā)者對(duì)代碼建議的響應(yīng)(如接受或拒絕建議)相關(guān)的用戶活動(dòng)數(shù)據(jù)。該服務(wù)使用這些反饋來(lái)提高其機(jī)器學(xué)習(xí)模型的準(zhǔn)確性,從而使CodeWhisperer能夠改進(jìn)未來(lái)的建議。

4、勝出者是誰(shuí)?

在語(yǔ)言和集成開(kāi)發(fā)環(huán)境(IDE)支持方面,GitHub Copilot是勝者。它正式推出的時(shí)間更長(zhǎng),這就給了GitHub工作人員更多的時(shí)間來(lái)修復(fù)錯(cuò)誤和解決問(wèn)題。使用它需要進(jìn)行少量的資金投入,但開(kāi)發(fā)者將獲得一個(gè)功能齊全、隨時(shí)可用的產(chǎn)品。

然而,如果開(kāi)發(fā)者在AWS環(huán)境中工作,那么Amazon CodeWhisperer可能是更合適的選擇。亞馬遜是第一家提供智能編碼助手的云服務(wù)提供商,而且主要是針對(duì)自己的產(chǎn)品。此外,其集成的漏洞檢測(cè)功能也是考慮使用它的一個(gè)很好的理由。最后,它對(duì)于個(gè)人開(kāi)發(fā)者是免費(fèi)的。

分享到:
標(biāo)簽:編程 AI
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定