1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        炸鍋了!又一 VSCode 神器面世!!!

        共 3177字,需瀏覽 7分鐘

         ·

        2021-07-29 09:16

        ee2282f204a5e6e6c9084d33e1fc090c.webp

        來(lái)自機(jī)器之心
        在項(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è)重大成果。
        7c78adefb52237d0d389e4dc11c4948a.webp
        GitHub Copilot 是一個(gè) AI 代碼合成器,并不是搜索引擎:它提出的絕大多數(shù)代碼建議都是新生成的,此前從未出現(xiàn)過(guò)。
        簡(jiǎn)而言之,這就是未來(lái)。
        7439feddff4c4be6162f684e5d226ee4.webp
        目前,GitHub Copilot 項(xiàng)目還只是嚴(yán)格的技術(shù)預(yù)覽版,用戶可以在主頁(yè)注冊(cè)報(bào)名,將有機(jī)會(huì)訪問(wèn)試用。
        cb2e6b129f778ed8322d34c8a0aad69e.webp
        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)代碼之前編寫(xiě)了非常好的描述性注釋,它能夠更好地給出正確代碼建議,有時(shí)甚至可以為你編寫(xiě)整函數(shù)?!?/span>
        f5ea04a7829bace13b327c46d2dfebc8.webp
        MSFTResearch 高級(jí)研究員 Alex Polozov 更是表示:不夸張的講,Copilot 將成為本世紀(jì) 20 年代排名前三的技術(shù)進(jìn)展!
        5a418e57a4a36412ed6a05cc51762f63.webp
        甚至有網(wǎng)友表示:這是要終結(jié)編程?
        c7978f4821f21cafeed56e4cfdb57642.webp
        不過(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)練的。
        15ce5e3a0e79947745c416d51454a76d.webp
        從技術(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 的后代。
        e8d8f7ee68cf20ae3a1c64c43eb82076.webp
        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ù)。
        d32bf6953ccedc158deaa756f5ee730e.webp
        此外,據(jù) OpenAI 的一位代表透露:OpenAI 計(jì)劃今年夏季推出基于其 API 的 Codex 版本,這樣開(kāi)發(fā)者們就可以利用該技術(shù)創(chuàng)建自己的 app 了。
        在具體實(shí)現(xiàn)中,GitHub Copilot 從編寫(xiě)的代碼中提取上下文,并給出整行代碼或整函數(shù)的建議。該工具可以幫助開(kāi)發(fā)者快速發(fā)現(xiàn)解決問(wèn)題、編寫(xiě)測(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)展,程序員在編寫(xiě)代碼時(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ù)編程者已寫(xiě)出的上下文生成匹配的代碼。
        先來(lái)看一下 Copilot 的主要功能 —— 代碼補(bǔ)全的效果,以 TypeScript 語(yǔ)言為例,給出函數(shù)名和參數(shù),Copilot 就能自動(dòng)補(bǔ)全代碼。

        670b1b9266111fb4f1a212b5a76c9c46.webp


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

        06287d2aee30a7b73f2e57e62bb30175.webp


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

        20a663988d2497187cf69f237162c027.webp


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

        31ee8f2375f839222e80f9b83aeb65c5.webp


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

        e9a2b7838a3176e85fb5e9afe0fd84f2.webp


        今天 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)編程的愿景已指日可待。
        參考鏈接: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


        f7d69c141981975ed1511768a9705267.webp
        瀏覽 55
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            日本色妞 | 黄色无遮挡 | 黄在线免费观看 | 免费在线成人毛片 | 国产精伦 | 一级日B小嫩BB | 中文字幕一区二区三区四虎在线 | 免费无遮挡男女交性视频图片 | 日韩专区一区 | 欧美黄A片视频 |