<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          炸了?。∮忠?VSCode 神器面世!

          共 3289字,需瀏覽 7分鐘

           ·

          2021-09-01 15:29

          上一篇:深夜看了張一鳴的微博,讓我越想越后怕

          來(lái)源:機(jī)器之心

          AI 編程輔助工具 Copilot:微軟、OpenAI、GitHub 三家聯(lián)合打造。

          ??GitHub Copilot 是一個(gè) AI 代碼合成器,并不是搜索引擎:它提出的絕大多數(shù)代碼建議都是新生成的,此前從未出現(xiàn)過(guò)。

          簡(jiǎn)而言之,這就是未來(lái)。


          在項(xiàng)目開(kāi)發(fā)中,優(yōu)秀的代碼自動(dòng)補(bǔ)全工具可以提升工作效率。然而,傳統(tǒng)的 IDE 基本都使用搜索方法進(jìn)行補(bǔ)全,在一些場(chǎng)景下效果不佳。

          今日,GitHub 和 OpenAI 聯(lián)合發(fā)布了新的 AI 代碼補(bǔ)全工具 GitHub Copilot,并展示了技術(shù)預(yù)覽版。該工具可以在 VS Code 編輯器中自動(dòng)完成代碼片段,這也是 OpenAI 接受微軟 10 億美元投資以來(lái)的首個(gè)重大成果。


          目前,GitHub Copilot 項(xiàng)目還只是嚴(yán)格的技術(shù)預(yù)覽版,用戶可以在主頁(yè)注冊(cè)報(bào)名,將有機(jī)會(huì)訪問(wèn)試用。


          GitHub Copilot 注冊(cè)地址:https://github.com/features/copilot/signup

          對(duì)于 GitHub 和 OpenAI 推出的這款全新 AI 代碼補(bǔ)全工具,網(wǎng)友們給出了極高的評(píng)價(jià)。下面這位用戶大致可以代表大多數(shù)試用者的心聲。ta 表示:「我使用 Alpha 版兩周了,Copilot 似乎能夠準(zhǔn)確地知道我接下來(lái)要輸入的內(nèi)容,這令我大受震撼。有時(shí)它甚至建議我要查找的內(nèi)容,例如選擇隨機(jī)十六進(jìn)制隨機(jī)碼的片段或者使用所有常見(jiàn)圖像 mime-types 完成數(shù)組。此外,Copilot 在處理 React 組件時(shí)也特別有用,可以做出非常準(zhǔn)確的預(yù)測(cè)。最后,Copilot 改變了程序員記錄自己代碼的方式。如果你在實(shí)現(xiàn)代碼之前編寫了非常好的描述性注釋,它能夠更好地給出正確代碼建議,有時(shí)甚至可以為你編寫整函數(shù)?!?/span>


          MSFTResearch 高級(jí)研究員 Alex Polozov 更是表示:不夸張的講,Copilot 將成為本世紀(jì) 20 年代排名前三的技術(shù)進(jìn)展!


          甚至有網(wǎng)友表示:這是要終結(jié)編程?


          不過(guò),雖然使用者對(duì) Copilot 提供的生產(chǎn)力提升贊不絕口,GitHub 也表示:并不是所有使用的代碼都經(jīng)過(guò)了漏洞、不安全實(shí)踐或個(gè)人數(shù)據(jù)的審查。因此,他們也設(shè)置了一些過(guò)濾器來(lái)防止 Copilot 生成攻擊性的語(yǔ)言,并可能效果并不完美,需要后續(xù)完善。


          Copilot 背后的技術(shù)


          首先,訓(xùn)練數(shù)據(jù)上,GitHub Copilot 是在數(shù)十億行公共代碼上訓(xùn)練的。


          從技術(shù)角度來(lái)看,GitHub Copilot 工具由 OpenAI 開(kāi)發(fā)的全新 AI 系統(tǒng) OpenAI Codex 提供支持。OpenAI 的聯(lián)合創(chuàng)始人兼首席技術(shù)官 Greg Brockman 說(shuō):Codex 是 GPT-3 的后代。


          OpenAI Codex 在人們?nèi)绾问褂么a方面擁有廣泛的知識(shí),并且在代碼生成領(lǐng)域顯著優(yōu)于 GPT-3 了,部分原因在于該系統(tǒng)是在包含大量公開(kāi)源代碼的數(shù)據(jù)集上訓(xùn)練的。更具體地,Codex 的訓(xùn)練集中包含了提取自 GitHub 的 TB(terabyte)級(jí)公開(kāi)可用代碼以及英語(yǔ)語(yǔ)言示例。

          由于是在公開(kāi)可用源代碼和自然語(yǔ)言上訓(xùn)練,Codex 可以同時(shí)理解編程語(yǔ)言和人類語(yǔ)言。因此,在整個(gè)實(shí)現(xiàn)過(guò)程中,Copilot 編輯器擴(kuò)展將開(kāi)發(fā)者的注釋和代碼發(fā)送至 Copilot 服務(wù)端,然后使用 Codex 生成和建議單行代碼和整個(gè)函數(shù)。


          此外,據(jù) OpenAI 的一位代表透露:OpenAI 計(jì)劃今年夏季推出基于其 API 的 Codex 版本,這樣開(kāi)發(fā)者們就可以利用該技術(shù)創(chuàng)建自己的 app 了。

          在具體實(shí)現(xiàn)中,GitHub Copilot 從編寫的代碼中提取上下文,并給出整行代碼或整函數(shù)的建議。該工具可以幫助開(kāi)發(fā)者快速發(fā)現(xiàn)解決問(wèn)題、編寫測(cè)試和搜索全新 API 的替代方法,而不需要在網(wǎng)上繁瑣地定向搜索答案。

          另外,使用 GitHub Copilot,開(kāi)發(fā)者始終可以掌控一切,既可以循環(huán)查看 Copilot 給出的代碼建議,選擇接收或者拒絕,并能夠手動(dòng)地編輯這些代碼。Copilot 會(huì)適應(yīng)開(kāi)發(fā)者所做的編輯,并適配編碼風(fēng)格。

          GitHub Copilot 適用于多種框架和語(yǔ)言,但本次展示的技術(shù)預(yù)覽版尤其適用于 Python、JavaScript、TypeScript、Ruby 和 Go 語(yǔ)言。GitHub 認(rèn)為該工具是結(jié)對(duì)編程(pair programming)的重大進(jìn)展,程序員在編寫代碼時(shí)有了一個(gè)「虛擬的幫手」,它可以捕捉到程序員的錯(cuò)誤,加速開(kāi)發(fā)過(guò)程。

          那么,Copilot 效果如何?

          最近,Github 針對(duì)一組在開(kāi)源存儲(chǔ)庫(kù)中具有良好測(cè)試覆蓋率的 Python 函數(shù)進(jìn)行了基準(zhǔn)測(cè)試,測(cè)試團(tuán)隊(duì)清除了函數(shù)體并要求 GitHub Copilot 填充它們。模型在第一次嘗試正確率是 43% ,經(jīng)過(guò) 10 次嘗試后,正確率達(dá)到了 57%。之后 GitHub Copilot 還將進(jìn)行多次訓(xùn)練和測(cè)試,準(zhǔn)確率會(huì)進(jìn)一步提升。

          下面,我們就看一下 GitHub 給出的具體 demo 展示。

          Copilot 的補(bǔ)全效果


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

          先來(lái)看一下 Copilot 的主要功能——代碼補(bǔ)全的效果,以 TypeScript 語(yǔ)言為例,給出函數(shù)名和參數(shù),Copilot 就能自動(dòng)補(bǔ)全代碼。


          除了補(bǔ)全函數(shù),Copilot 還能根據(jù)注釋寫出代碼。編程者給出一條描述代碼邏輯的注釋,GitHub Copilot 就能自動(dòng)生成代碼:


          在編程過(guò)程中,有些代碼的格式和內(nèi)容非常相似,重復(fù)編寫耗時(shí)且無(wú)聊?,F(xiàn)在 GitHub Copilot 能夠幫編程者解決這個(gè)問(wèn)題,將簡(jiǎn)單重復(fù)的代碼編寫部分自動(dòng)化:


          在軟件開(kāi)發(fā)的過(guò)程中,除了編寫代碼,軟件測(cè)試也是非常重要的,對(duì)一個(gè)代碼項(xiàng)目起到支撐的作用。導(dǎo)入一個(gè)測(cè)試包,其余的測(cè)試代碼 GitHub Copilot 就能夠幫開(kāi)發(fā)者完成。


          在編程中,同一個(gè)函數(shù)常有多種實(shí)現(xiàn)方法,編程者通常會(huì)根據(jù)代碼的實(shí)現(xiàn)效果和運(yùn)行性能選擇最合適的方法。編寫多種實(shí)現(xiàn)需要花費(fèi)時(shí)間和精力,現(xiàn)在使用 GitHub Copilot 一鍵就能搞定,如下圖所示,點(diǎn)擊 Next 和 Previous 就能查看多種實(shí)現(xiàn)方法,點(diǎn)擊 Accept 選中其中一種。


          今天 GitHub 推出的 Copilot 技術(shù)預(yù)覽版本,還僅限于 Python、JavaScript、TypeScript、Ruby 和 Go 語(yǔ)言。此外,開(kāi)發(fā)團(tuán)隊(duì)表示,在努力使其變得更好的同時(shí),GitHub Copilot 補(bǔ)全的代碼應(yīng)該像其他任何代碼一樣經(jīng)過(guò)仔細(xì)審查和測(cè)試。這些仍需要人類編程者的監(jiān)督和優(yōu)化,但 AI 自動(dòng)編程的愿景已指日可待。

          感謝您的閱讀,也歡迎您發(fā)表關(guān)于這篇文章的任何建議,關(guān)注我,技術(shù)不迷茫!小編到你上高速。

              · END ·
          最后,關(guān)注公眾號(hào)互聯(lián)網(wǎng)架構(gòu)師,在后臺(tái)回復(fù):2T,可以獲取我整理的 Java 系列面試題和答案,非常齊全。


          正文結(jié)束


          推薦閱讀 ↓↓↓

          1.不認(rèn)命,從10年流水線工人,到谷歌上班的程序媛,一位湖南妹子的勵(lì)志故事

          2.如何才能成為優(yōu)秀的架構(gòu)師?

          3.從零開(kāi)始搭建創(chuàng)業(yè)公司后臺(tái)技術(shù)棧

          4.程序員一般可以從什么平臺(tái)接私活?

          5.37歲程序員被裁,120天沒(méi)找到工作,無(wú)奈去小公司,結(jié)果懵了...

          6.IntelliJ IDEA 2019.3 首個(gè)最新訪問(wèn)版本發(fā)布,新特性搶先看

          7.這封“領(lǐng)導(dǎo)痛批95后下屬”的郵件,句句扎心!

          8.15張圖看懂瞎忙和高效的區(qū)別!

          一個(gè)人學(xué)習(xí)、工作很迷茫?


          點(diǎn)擊「閱讀原文」加入我們的小圈子!

          瀏覽 40
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  三级片麻豆91 | 国产内射一级毛片农民工 | 超碰成人欧美 | 亚洲AV导航| A片在线免费观看网址 |