<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>

          重磅消息:GitHub官方推出原生 AI 代碼生成工具,堪稱程序員的「小秘」

          共 3367字,需瀏覽 7分鐘

           ·

          2021-07-04 12:45


          loonggg

          讀完需要

          7
          分鐘

          速讀僅需 3 分鐘

          大家好,我是校長。

          這幾天微軟和 GitHub 推出了一款 AI 程序員智能插件,它自己會編程,會自動生成代碼,有人說:

          軟件開發(fā)領(lǐng)域的「第三次工業(yè)革命」似乎正緩緩揭開序幕。

          01

          到底怎么回事?

          GitHub、OpenAI、微軟聯(lián)合打造了一個全新的代碼生成 AI:GitHub Copilot ,堪稱為程序員們送上的編程神器。

          以后,我們再也不用面向搜索引擎編程了,未來或許我們也不需要再復(fù)制和粘貼了。

          Copilot 目前作為 Visual Studio Code 插件,支持在本地或 GitHub Codespaces 上使用。

          也就是目前我們可以在 VS Code 上安裝這款插件,讓它幫我們輔助編程,有人調(diào)侃目前 Copilot 就像是程序員的小秘書。

          我們程序員這個工作真的是挺好的,累了有程序員鼓勵師,現(xiàn)在寫代碼也來了智能小秘。照這個勁頭發(fā)展下去,未來,我們程序員可能就被這么舒服的哄著,躺在舒適區(qū)喪失了編程技能,從而要被淘汰了,哈哈。

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

          是不是看著很厲害呢?

          你確實沒看錯,它不僅可以自動補全代碼,還可以根據(jù)你的注釋,自動生成你所需要的代碼,而且還可以根據(jù)你的測試需求,生成測試需要的代碼。

          02

          具體介紹

          我之所以說,Copilot 是我們程序員的小秘書,是因為 GitHub 給 Copilot 的官方定義是「AI 結(jié)對編程員」。「結(jié)對編程」(pair programming)是一種軟件開發(fā)方法,兩個程序員在一個計算機上共同工作。一個人輸入代碼,而另一個人審查他輸入的每一行代碼。輸入代碼的人稱作駕駛員,審查代碼的人稱作觀察員。兩個程序員經(jīng)?;Q角色。

          GitHub 認(rèn)為 Copilot 是進化版的「結(jié)對編程」,在未來幫程序員查缺補漏的,將會換成 AI。

          目前,Github Copilot 作為 Visual Studio Code 插件,它適用于多種框架和語言,在 Python、JavaScript、TypeScript、Rudy、Go 幾種語言上的表現(xiàn)格外突出。

          1、它會自動補全,甚至?xí)鶕?jù)你的代碼,提前猜測和預(yù)知你要寫什么,幫你自動補全代碼。

          2、根據(jù)注釋自動生成代碼,什么意思呢?就是它能夠根據(jù)你注釋當(dāng)中描述的意思生成你想要的代碼,只需描述出你想要執(zhí)行的命令,GitHub Copilot 就能自動為你組裝代碼。

          而且,在注釋中用簡單的英語描述一個函數(shù),Copilot 也可以將其轉(zhuǎn)換為實際代碼。

          3、模仿能力也很強,可以根據(jù)你寫的代碼例子,快速生成模板和重復(fù)的代碼。

          4、根據(jù)測試包,匹配生成測試所需要的代碼,就是你只要導(dǎo)入單元測試包,GitHub Copilot 就能給出與代碼匹配的測試,真的是很牛逼啊。

          5、既然能夠做到自動補全和自動提示,當(dāng)然了,人家也會在你寫代碼的時候,根據(jù)你寫代碼的情況,提供好幾個備選方案的代碼供程序員選擇,看看哪個更符合你的要求,你就可以使用,減少你的代碼量。

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

          03

          它是如何做到的呢?

          GitHub Copilot 由 OpenAI Codex 提供支持,可以理解為 GPT-3 的改進版。

          科普一下 GPT-3,GPT-3 這個自然語言處理 AI 在去年就已經(jīng)很出名了,被公認(rèn)是繼 AlphaGo 之后人工智能史上又一里程碑式的東西。

          據(jù)說它在互聯(lián)網(wǎng)上閱讀了 5000 億詞,模型達到 1750 億參數(shù),從而變得很通用。

          而 OpenAI 則是在 GPT-3 的基礎(chǔ)上生成的 Codex 算法,Codex 在從 GitHub 那里提取出來的 TB(terabyte)級公開代碼以及英語語言示例中得到訓(xùn)練?;?Codex 算法,編程 AI Copilot 誕生了。

          OpenAI Codex 對于人們的代碼使用習(xí)慣有著廣泛了解,而且它在訓(xùn)練中接觸到的大量公共源代碼數(shù)據(jù)集,所以在代碼生成能力上遠遠超過 GPT-3。

          GitHub Copilot 會把程序員給出的命令或代碼發(fā)送到服務(wù)器,然后服務(wù)器使用 OpenAI Codex 來給出代碼或建議。

          根據(jù)官網(wǎng)所說,它是用數(shù)十億行的代碼訓(xùn)練后,才達到了現(xiàn)在的效果。

          04

          它會取代程序員嗎?

          就目前來看,Copilot 提供建議的準(zhǔn)確率似乎不高。

          GitHub 對一組 Python 函數(shù)進行了基準(zhǔn)測試,測試團隊清除了函數(shù)并要求 Copilot 填充它們。模型在第一次嘗試正確率是 43%,經(jīng)過 10 次嘗試后,正確率達到了 57%。團隊表示,之后 Copilot 還將進行多次訓(xùn)練和測試,準(zhǔn)確率會進一步提升。

          據(jù)一些程序員的說法,這種自動生成的代碼工具要「好用」有個前提,就是能精確描述了函數(shù)需要實現(xiàn)的功能,不然后續(xù)的調(diào)試會是更耗時的工作。所以,要想讓 Copilot 好用,程序員的描述能力,文字功底要到家。

          目前據(jù) GitHub 內(nèi)部的使用情況來看,GitHub 的數(shù)百名開發(fā)者在編碼時,整天都在使用 Copilot 功能,他們中的大多數(shù)人都接受了 AI 的建議,沒有關(guān)閉該功能。

          所以,GitHub Copilot 能達到的效果還是十分可觀的,許多用過的程序員都說好。

          就目前釋放的功能來看,取代程序員還是不太現(xiàn)實,但是未來取代初級程序員我感覺還是很有可能的。

          但是,對于我們程序員來講,現(xiàn)在的 Copilot 絕對是一個好幫手,程序員的好秘書。因為,有了它,我們可能再也不要面向搜索引擎編程了,再也不用去 StackOverflow 找答案,去復(fù)制粘貼了。

          我們都知道,我們程序員很大一部分的時間和精力都浪費到面向搜索引擎,面向 Google 編程上了,大量的在網(wǎng)上復(fù)制和粘貼代碼。

          有了 GitHub Copilot ,真的是可以大大提高我們程序員的生產(chǎn)力。

          就目前來講,是一個好事。

          但是,在未來,隨著科技的發(fā)展,我感覺可能有點不妙,至少初級程序員的生存空間可能就沒有了。但是高級程序員應(yīng)該會很高興,有了它效率大大提高了,可能擁有了它之后,就不用 996 加班了,可以提前下班了。

          GitHub CEO Nat Friedman 在 Hacker News 寫道:

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

          所以,通過 GitHub CEO 的話我們也可以看出,未來的程序員只有兩種:

          1. 一種你只需要會操作就行,不需要你寫,這種程序員就像是車間的操作工,身價會大大降低;

          2. 另外一種就是高級程序員,就像是解決難題的技術(shù)專家,這事 AI 干不來,只能人來,就像是車間的那種老師傅,少林寺的掃地僧。這種人的價值由于 AI 的幫忙,效率會大大提升,價值也會大大增加。

          你們認(rèn)為呢?

          安裝地址:https://marketplace.visualstudio.com/items?itemName=GitHub.copilot

          最后,推薦一下,我剛剛做的一個新的公眾號「澀郎」,只分享知識類, 認(rèn)知類的文章,都是高質(zhì)量的干貨,目前已經(jīng)更新了很多文章了,最近幾篇如下:

          ?「獨立思考」的背后是一個殘酷的世界
          ?顛覆你的三觀
          ?人在年輕的時候,最核心的能力是什么?
          ?導(dǎo)致我們形不成「自律」的「罪魁禍?zhǔn)住?/a>
          ?其實,這就是「幸存者偏差」
          點擊下方公眾號卡片,關(guān)注我
          我們一起挖掘知識,見證彼此成長
          瀏覽 89
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  大香蕉啪啪啪啪啪啪啪 | 欧美孕妇一级片 | 在线一级A片 | 男女操逼亚洲国产免费 | 影音先锋成人电影在线观看 |