首頁 > 原創(chuàng) > > 正文

              靠AI理解程序員需求 Copilot可根據(jù)程序員注釋寫代碼

              2021-08-11 12:39:30    來源:極客公園

              GPT-3 這個(gè)自然語言處理 AI 在去年「出圈」了,被公認(rèn)是繼 AlphaGo 之后「人工智能史上又一里程碑」。它在互聯(lián)網(wǎng)上「閱讀」了 5000 億詞,模型達(dá)到 1750 億參數(shù),從而變得通用。但給 AI 硬灌數(shù)據(jù),實(shí)在是燒錢耗力。但好在,GPT-3 正在孕育出能夠?qū)崿F(xiàn)商業(yè)化的后代。

              就在剛剛,GitHub、OpenAI、微軟聯(lián)合打造了一個(gè)全新的代碼生成 AI:GitHub Copilot(以下簡稱為 Copilot)。

              簡單來說,Copilot 可以根據(jù)程序員的注釋寫代碼,自動補(bǔ)全代碼,提供與代碼匹配的測試,還能生成多個(gè)備選方案的代碼供選擇。GitHub 表示,Copilot 生成的代碼大部分是原創(chuàng)的。

              目前,Copilot 正在測試專供 Visual Studio Code 的擴(kuò)展,一旦達(dá)到可用狀態(tài),未來會成為微軟編程產(chǎn)品里的收費(fèi)項(xiàng)目。Copilot 可以說是 OpenAI 接受微軟 10 億美元投資以來的首個(gè)重大成果。

              還有行業(yè)人士表示,這代表 AI 開始在編程工作中發(fā)揮作用,軟件開發(fā)領(lǐng)域的「第三次工業(yè)革命」似乎正緩緩揭開序幕。

              和你結(jié)對編程的,換成了 AI

              在此之前,程序員寫不出代碼,一般會到軟件開發(fā)領(lǐng)域的問答網(wǎng)站 Stack Overflow「借鑒」,或者求助于一些代碼自動補(bǔ)全工具。然而,傳統(tǒng) IDE 基本都使用搜索方法進(jìn)行補(bǔ)全,換句話說,網(wǎng)上有的,才能被抓過去補(bǔ)全。

              但 Copilot 是另一種思路,它直接靠 AI 理解程序員的需求。Copilot 不僅僅是模仿以前見過的代碼,它還會分析文檔中的字符串、注釋、函數(shù)名稱以及代碼本身,從而生成新的匹配代碼,包括之前調(diào)用的特定函數(shù)。

              脫胎自 GPT-3 的 OpenAI Codex,接受過公開源代碼和自然語言的培訓(xùn),能理解編程語言和人類語言。所以,Copilot 對語言理解和轉(zhuǎn)換有極高的天賦。

              GitHub 給 Copilot 的官方定義是「AI 結(jié)對編程員」。「結(jié)對編程」(pair programming)是一種軟件開發(fā)方法,兩個(gè)程序員在一個(gè)計(jì)算機(jī)上共同工作。一個(gè)人輸入代碼,而另一個(gè)人審查他輸入的每一行代碼。輸入代碼的人稱作駕駛員,審查代碼的人稱作觀察員。兩個(gè)程序員經(jīng)常互換角色。GitHub 認(rèn)為 Copilot 是進(jìn)化版的「結(jié)對編程」,在未來幫程序員查缺補(bǔ)漏的,將會換成 AI。

              Copilot 可以提供多個(gè)備選方案的代碼供程序員選擇。

              此外,Copilot 還能輔導(dǎo)新手寫代碼,可以幫助他們找出錯(cuò)誤、學(xué)習(xí)新框架,省去大量查資料的時(shí)間。

              OpenAI 首席技術(shù)官 Greg Brockman 表示,將在今年夏末通過 API 發(fā)布 Codex。

              Github CEO Nat Friedman 提到,「OpenAI Codex 對于人們的代碼使用習(xí)慣有著廣泛了解,而且在代碼生成能力上遠(yuǎn)遠(yuǎn)超過 GPT-3,這要?dú)w功于它在訓(xùn)練中接觸到的大量公共源代碼數(shù)據(jù)集。GitHub Copilot 則適用于多種框架和語言,但目前的技術(shù)預(yù)覽版主要面向 Python、JavaScript、TypeScript、Ruby 以及 Go」。具體來說,OpenAI 在 GPT-3 的基礎(chǔ)上生成了 Codex 算法,Codex 在從 GitHub 那里提取出來的 TB(terabyte)級公開代碼以及英語語言示例中得到訓(xùn)練。基于 Codex 算法,編程 AI Copilot 誕生了。

              也就是說,Copilot 比 GPT-3 誕下的專為代碼生成設(shè)計(jì)的后代。在運(yùn)行過程中,Copilot 編輯器的擴(kuò)展插件將程序員的注釋和代碼發(fā)送到 GitHub Copilot 服務(wù)端,然后該服務(wù)使用 OpenAI Codex 來生成對代碼的建議。

              目前相比于市面上一些編程輔助工具,Copilot 的上下文理解能力要強(qiáng)大得多。無論是在文檔字符串、注釋、函數(shù)名還是代碼主體中,Copilot 都能根據(jù)編程者已寫出的上下文生成匹配的代碼。

              不看廣告,看「療效」

              Friedman 說,GitHub 的數(shù)百名開發(fā)者在編碼時(shí),整天都在使用 Copilot 功能,他們中的大多數(shù)人都接受了 AI 的建議,沒有關(guān)閉該功能。

              但就目前來看,Copilot 提供建議的準(zhǔn)確率似乎不高。GitHub 對一組 Python 函數(shù)進(jìn)行了基準(zhǔn)測試,測試團(tuán)隊(duì)清除了函數(shù)并要求 Copilot 填充它們。模型在第一次嘗試正確率是 43%,經(jīng)過 10 次嘗試后,正確率達(dá)到了 57%。團(tuán)隊(duì)表示,之后 Copilot 還將進(jìn)行多次訓(xùn)練和測試,準(zhǔn)確率會進(jìn)一步提升。但據(jù)一些程序員的說法,這種自動生成的代碼工作要「好用」有個(gè)前提,就是能精確描述了函數(shù)需要實(shí)現(xiàn)的功能,不然后續(xù)的調(diào)試會是更耗時(shí)的工作。

              另外,GitHub 表示,Copilot 提出的代碼可能會無法編譯或運(yùn)行,而且 Copilot 還可能會使用舊的或已棄用的庫和語言。此外,在試圖理解開發(fā)人員的意圖時(shí),Copilot 建議的代碼可能并不總是有效或有意義的,因此程序員還是像往常一樣仔細(xì)測試和審查所有代碼。

              對于代碼安全,GitHub 表示,并不是所有使用的代碼都經(jīng)過了漏洞、不安全實(shí)踐或個(gè)人數(shù)據(jù)的審查。因此,他們也設(shè)置了一些過濾器來防止 Copilot 生成攻擊性的語言,目前效果并不完美,需要后續(xù)完善。

              技術(shù)社區(qū)也不可避免地對這款工具可能引發(fā)的代碼所有權(quán)、許可證、利益沖突以及其他現(xiàn)實(shí)問題展開了討論。Friedman 回應(yīng)稱,「總體來說:在公共數(shù)據(jù)上訓(xùn)練機(jī)器學(xué)習(xí)系統(tǒng)屬于合理的使用方式;輸出結(jié)果的所有權(quán)歸于操作者,跟傳統(tǒng)的編譯器沒什么區(qū)別。具體到訓(xùn)練問題上,大家也可以看到 OpenAI 向美國專利商標(biāo)局做出的承諾。我們預(yù)計(jì) Copilot 項(xiàng)目的知識產(chǎn)權(quán)與 AI 成果將很快在世界范圍內(nèi)掀起關(guān)于政策的討論熱潮,我們自己也希望能夠參與進(jìn)來。」

              提前下班,提早下崗

              擊敗 Stack Overflow 的,不是下一個(gè)代碼問答社區(qū),而是編程 AI。那么,現(xiàn)在還是「協(xié)助編程」的 AI,未來會不會成為能「自動編程」 的 AI?

              Friedman 在 Hacker News 寫道:「軟件開發(fā)正迎來自己的『第三次工業(yè)革命』。第一次革命是編譯器、調(diào)試器、垃圾收集器以及語言等工具的出現(xiàn),極大提升了開發(fā)者的工作效率;第二次革命則以開源為契機(jī),全球開發(fā)者社區(qū)得以匯聚起來,并在彼此的開發(fā)成果基礎(chǔ)之上不斷推進(jìn);第三次革命就在現(xiàn)在,業(yè)界嘗試在編程當(dāng)中使用 AI 技術(shù)。在發(fā)展成熟之后,開發(fā)人員的日常工作將有巨大改變 —— 但仍然有很多工作可做、也只能由人類開發(fā)者完成,因此不用太擔(dān)心。」

              即使是高度機(jī)械化的工廠,也需要操作員來發(fā)出初始化指令,所以在未來,IT 行業(yè)可能還會留下一些操作員類型的程序員,和一些把握高精度操作技巧的工程師。

              但也正如 Open AI 的 CEO Sam Altman 所說,程序員的身價(jià)將會下降:「這是我的預(yù)測:AI 會讓那些在電腦前工作的人,身價(jià)掉得比在物理世界里工作的人還要快。這和大部分的預(yù)期完全相反。」

              有了 Copilot,程序員就可以提前下班,但在未來,也可能會提前下崗。

              這并不是微軟第一回借力 OpenAI 推出 AI 應(yīng)用。在剛過去的 Build 大會上,微軟宣布了 GPT-3 的第一個(gè)商業(yè)用例:在 Microsoft Power Apps 中集成 GPT-3 的能力,可將自然語言直接轉(zhuǎn)換為現(xiàn)成代碼。但目前功能相對有限,只支持在微軟 Power Fx 中生成公式。即便如此,對于那些非專業(yè)的操作者,這個(gè)系統(tǒng)也能給出最合適的公式。在過去的工作流中,普通員工要執(zhí)行數(shù)據(jù)分析、構(gòu)建應(yīng)用程序或讓流程自動化,一般都需要向 IT 部門提出需求,然后等待數(shù)周或數(shù)月才能完成工作,而借助現(xiàn)在這個(gè)功能,可以更「傻瓜」地開發(fā)符合自己需求的軟件。

              微軟嘗到了 OpenAI 技術(shù)的甜頭。但和微軟的獨(dú)家綁定,也給 OpenAI 招來了一些爭議。對此,OpenAI 首席技術(shù)官 Greg Brockman 表示,底層技術(shù)不會只由微軟來使用,OpenAI 將在今年夏末發(fā)布 Codex 模型,供第三方開發(fā)者編寫他們自己的應(yīng)用程序。

              相關(guān)熱詞搜索:

              上一篇:格力電器決心進(jìn)行渠道改革 銷售公司將逐步轉(zhuǎn)變職能
              下一篇:最后一頁

              熱點(diǎn)話題

              熱點(diǎn)推薦

              頭條

              ? 精品亚洲AV无码一区二区| 亚洲福利电影一区二区?| 亚洲av极品无码专区在线观看| 亚洲精品免费视频| 久久精品国产亚洲AV果冻传媒| 亚洲精品无码久久一线| 亚洲人成在线播放网站| 久久影院亚洲一区| AV在线亚洲男人的天堂| 亚洲午夜爱爱香蕉片| 亚洲乱码日产精品a级毛片久久| 亚洲国产精品专区在线观看| 亚洲国产日韩成人综合天堂 | 亚洲成色WWW久久网站| 亚洲日韩精品一区二区三区| 亚洲午夜福利AV一区二区无码| 亚洲中文字幕久久精品无码喷水 | 亚洲综合精品网站| 国产亚洲大尺度无码无码专线 | 国产偷国产偷亚洲清高动态图 | 亚洲成_人网站图片| 亚洲色偷精品一区二区三区| 亚洲午夜精品一区二区麻豆| 亚洲精品无码专区在线播放| 色偷偷亚洲第一综合网| 亚洲第一区在线观看| 国产精品V亚洲精品V日韩精品| 自拍偷自拍亚洲精品第1页| 国产精一品亚洲二区在线播放| 亚洲大成色www永久网站| 亚洲天天做日日做天天欢毛片| 亚洲蜜芽在线精品一区| 亚洲18在线天美| 亚洲国产精品久久久久秋霞小 | 亚洲av无码专区在线观看亚| 一本久久综合亚洲鲁鲁五月天 | 亚洲另类图片另类电影| 亚洲熟妇成人精品一区| 一本色道久久88亚洲综合| 成人午夜亚洲精品无码网站| 久久夜色精品国产亚洲AV动态图|