炸鍋了!又一 VSCode 神器面世!??!程序IT圈關(guān)注共 3245字,需瀏覽 7分鐘 ·2021-07-27 01:04 來自機器之心在項目開發(fā)中,優(yōu)秀的代碼自動補全工具可以提升工作效率。然而,傳統(tǒng)的 IDE 基本都使用搜索方法進行補全,在一些場景下效果不佳。今日,GitHub 和 OpenAI 聯(lián)合發(fā)布了新的 AI 代碼補全工具 GitHub Copilot,并展示了技術(shù)預(yù)覽版。該工具可以在 VS Code 編輯器中自動完成代碼片段,這也是 OpenAI 接受微軟 10 億美元投資以來的首個重大成果。GitHub Copilot 是一個 AI 代碼合成器,并不是搜索引擎:它提出的絕大多數(shù)代碼建議都是新生成的,此前從未出現(xiàn)過。簡而言之,這就是未來。目前,GitHub Copilot 項目還只是嚴格的技術(shù)預(yù)覽版,用戶可以在主頁注冊報名,將有機會訪問試用。GitHub Copilot 注冊地址:https://github.com/features/copilot/signup對于 GitHub 和 OpenAI 推出的這款全新 AI 代碼補全工具,網(wǎng)友們給出了極高的評價。下面這位用戶大致可以代表大多數(shù)試用者的心聲。ta 表示:「我使用 Alpha 版兩周了,Copilot 似乎能夠準確地知道我接下來要輸入的內(nèi)容,這令我大受震撼。有時它甚至建議我要查找的內(nèi)容,例如選擇隨機十六進制隨機碼的片段或者使用所有常見圖像 mime-types 完成數(shù)組。此外,Copilot 在處理 React 組件時也特別有用,可以做出非常準確的預(yù)測。最后,Copilot 改變了程序員記錄自己代碼的方式。如果你在實現(xiàn)代碼之前編寫了非常好的描述性注釋,它能夠更好地給出正確代碼建議,有時甚至可以為你編寫整函數(shù)?!?/span>MSFTResearch 高級研究員 Alex Polozov 更是表示:不夸張的講,Copilot 將成為本世紀 20 年代排名前三的技術(shù)進展!甚至有網(wǎng)友表示:這是要終結(jié)編程?不過,雖然使用者對 Copilot 提供的生產(chǎn)力提升贊不絕口,GitHub 也表示:并不是所有使用的代碼都經(jīng)過了漏洞、不安全實踐或個人數(shù)據(jù)的審查。因此,他們也設(shè)置了一些過濾器來防止 Copilot 生成攻擊性的語言,并可能效果并不完美,需要后續(xù)完善。Copilot 背后的技術(shù)首先,訓(xùn)練數(shù)據(jù)上,GitHub Copilot 是在數(shù)十億行公共代碼上訓(xùn)練的。從技術(shù)角度來看,GitHub Copilot 工具由 OpenAI 開發(fā)的全新 AI 系統(tǒng) OpenAI Codex 提供支持。OpenAI 的聯(lián)合創(chuàng)始人兼首席技術(shù)官 Greg Brockman 說:Codex 是 GPT-3 的后代。OpenAI Codex 在人們?nèi)绾问褂么a方面擁有廣泛的知識,并且在代碼生成領(lǐng)域顯著優(yōu)于 GPT-3 了,部分原因在于該系統(tǒng)是在包含大量公開源代碼的數(shù)據(jù)集上訓(xùn)練的。更具體地,Codex 的訓(xùn)練集中包含了提取自 GitHub 的 TB(terabyte)級公開可用代碼以及英語語言示例。由于是在公開可用源代碼和自然語言上訓(xùn)練,Codex 可以同時理解編程語言和人類語言。因此,在整個實現(xiàn)過程中,Copilot 編輯器擴展將開發(fā)者的注釋和代碼發(fā)送至 Copilot 服務(wù)端,然后使用 Codex 生成和建議單行代碼和整個函數(shù)。此外,據(jù) OpenAI 的一位代表透露:OpenAI 計劃今年夏季推出基于其 API 的 Codex 版本,這樣開發(fā)者們就可以利用該技術(shù)創(chuàng)建自己的 app 了。在具體實現(xiàn)中,GitHub Copilot 從編寫的代碼中提取上下文,并給出整行代碼或整函數(shù)的建議。該工具可以幫助開發(fā)者快速發(fā)現(xiàn)解決問題、編寫測試和搜索全新 API 的替代方法,而不需要在網(wǎng)上繁瑣地定向搜索答案。另外,使用 GitHub Copilot,開發(fā)者始終可以掌控一切,既可以循環(huán)查看 Copilot 給出的代碼建議,選擇接收或者拒絕,并能夠手動地編輯這些代碼。Copilot 會適應(yīng)開發(fā)者所做的編輯,并適配編碼風格。GitHub Copilot 適用于多種框架和語言,但本次展示的技術(shù)預(yù)覽版尤其適用于 Python、JavaScript、TypeScript、Ruby 和 Go 語言。GitHub 認為該工具是結(jié)對編程(pair programming)的重大進展,程序員在編寫代碼時有了一個「虛擬的幫手」,它可以捕捉到程序員的錯誤,加速開發(fā)過程。那么,Copilot 效果如何?最近,Github 針對一組在開源存儲庫中具有良好測試覆蓋率的 Python 函數(shù)進行了基準測試,測試團隊清除了函數(shù)體并要求 GitHub Copilot 填充它們。模型在第一次嘗試正確率是 43% ,經(jīng)過 10 次嘗試后,正確率達到了 57%。之后 GitHub Copilot 還將進行多次訓(xùn)練和測試,準確率會進一步提升。下面,我們就看一下 GitHub 給出的具體 demo 展示。Copilot 的補全效果相比于市面上一些編程輔助工具,Copilot 的上下文理解能力要強大得多。無論是在文檔字符串、注釋、函數(shù)名還是代碼主體中,Copilot 都能根據(jù)編程者已寫出的上下文生成匹配的代碼。先來看一下 Copilot 的主要功能 —— 代碼補全的效果,以 TypeScript 語言為例,給出函數(shù)名和參數(shù),Copilot 就能自動補全代碼。除了補全函數(shù),Copilot 還能根據(jù)注釋寫出代碼。編程者給出一條描述代碼邏輯的注釋,GitHub Copilot 就能自動生成代碼:在編程過程中,有些代碼的格式和內(nèi)容非常相似,重復(fù)編寫耗時且無聊?,F(xiàn)在 GitHub Copilot 能夠幫編程者解決這個問題,將簡單重復(fù)的代碼編寫部分自動化:在軟件開發(fā)的過程中,除了編寫代碼,軟件測試也是非常重要的,對一個代碼項目起到支撐的作用。導(dǎo)入一個測試包,其余的測試代碼 GitHub Copilot 就能夠幫開發(fā)者完成。在編程中,同一個函數(shù)常有多種實現(xiàn)方法,編程者通常會根據(jù)代碼的實現(xiàn)效果和運行性能選擇最合適的方法。編寫多種實現(xiàn)需要花費時間和精力,現(xiàn)在使用 GitHub Copilot 一鍵就能搞定,如下圖所示,點擊 Next 和 Previous 就能查看多種實現(xiàn)方法,點擊 Accept 選中其中一種。今天 GitHub 推出的 Copilot 技術(shù)預(yù)覽版本,還僅限于 Python、JavaScript、TypeScript、Ruby 和 Go 語言。此外,開發(fā)團隊表示,在努力使其變得更好的同時,GitHub Copilot 補全的代碼應(yīng)該像其他任何代碼一樣經(jīng)過仔細審查和測試。這些仍需要人類編程者的監(jiān)督和優(yōu)化,但 AI 自動編程的愿景已指日可待。參考鏈接:https://github.blog/2021-06-29-introducing-github-copilot-ai-pair-programmer/https://news.ycombinator.com/item?id=27676266https://www.reddit.com/r/MachineLearning/comments/oaambv/n_github_and_openai_release_copilot_an_ai_pair/https://www.theverge.com/2021/6/29/22555777/github-openai-ai-tool-autocomplete-code往期鏈接:華為:谷歌改用AAB格式 HarmonyOS無影響2021年7月程序員薪資出爐,平均15302元以三個和尚挑水喝為例,圖解大公司通病! 瀏覽 38點贊 評論 收藏 分享 手機掃一掃分享分享 舉報 評論圖片表情視頻評價全部評論推薦 炸鍋了!又一 VSCode 神器面世!!!來自機器之心在項目開發(fā)中,優(yōu)秀的代碼自動補全工具可以提升工作效率。然而,傳統(tǒng)的 IDE 基本都使用搜索方法進行補全,在一些場景下效果不佳。GitHub 和 OpenAI 聯(lián)合發(fā)布了新的 AI 代碼補全工具 GitHub Copilot,并...炸了??!又一 VSCode 神器面世!碼農(nóng)突圍0炸了!!又一 VSCode 神器面世!互聯(lián)網(wǎng)架構(gòu)師0炸了?。∮忠?VSCode 神器面世!逆鋒起筆0又一 VSCode 神器誕生!??“ 閱讀本文大概需要 3 分鐘。 ”今天要介紹的是國外一家專注于做文檔工具的公司 Roam 所開源的插件,其主要作用,就是能幫你快速組織各類文章與筆記,并生成可訪問的內(nèi)容節(jié)點,方便你后續(xù)更好的進行創(chuàng)作。一圖勝千...又一 VSCode 神器誕生!點擊上方Python知識圈,設(shè)為星標回復(fù)1024獲取Python資料閱讀文本大概需要 3?分鐘點擊「閱讀原文」查看pk哥原創(chuàng)精品視頻。這幾天一直有逛 GitHub 的水友應(yīng)該能留意到,一款名為 Foam 的 VSCode 插件在 GitHub Trendin...臥槽!又一?開發(fā)者?神器面世??!碼農(nóng)沉思錄0臥槽!又一 開發(fā)者 神器面世??!碼農(nóng)有道公眾號0臥槽!又一 SQL 神器面世??!Python綠色通道0臥槽!又一 SQL 神器面世!!路人甲Java0點贊 評論 收藏 分享 手機掃一掃分享分享 舉報