要說程序員的摸魚大法,那肯定不能指望電腦平白無故自己寫代碼,還是得借助一點(diǎn)“高科技”——人工智能。畢竟人們研發(fā)人工智能的目的就是讓機(jī)器能夠代替人工作。所以要想實(shí)現(xiàn)程序員的摸魚,只要開發(fā)一款能夠?qū)懘a的AI工具就行。今年6月份,GitHub就與Open AI一同合作,推出了一款名為“GitHub Copilot”的AI工具。
Copilot的功能非常豐富,它可以根據(jù)上下文自動(dòng)補(bǔ)全代碼,包括文檔字符串、注釋、函數(shù)名稱、代碼,只要編程者給出一定提示,這款A(yù)I工具就可以補(bǔ)全出完整的函數(shù)。聽起來是不是非常靠譜?
在過去的幾個(gè)月里,Copilot還在不斷優(yōu)化,在近GitHub Universe 2021開發(fā)者大會(huì)上,GitHub官方表示Copilot已開始支持Java、C、C++和C#等語言的多行代碼完成,并增加了Neovim和JetBrains IDE,包含開發(fā)者常用的IntelliJ IDEA、PyCharm等編輯器的支持。
GitHub表示,現(xiàn)在新寫的30%代碼都是在AI編程工具Copilot的幫助下完成的。但是東西好不好用還是用戶說了算,來看看嘗試用這款A(yù)I工具“摸魚”的程序員們?cè)趺凑f。
有人覺得Copilot十分好用,感慨它功能強(qiáng)大:
還有光明正大承認(rèn)自己在用Copilot摸魚的:
Copilot的強(qiáng)大是毋庸置疑了,那么它為什么會(huì)這么牛?其實(shí)就和大部分人工智能工具一樣,它是建立在OpenAI Codex算法的基礎(chǔ)上的,需要通過海量的代碼來訓(xùn)練其智能程度。這對(duì)于Copilot來說并不是什么難題,因?yàn)槲④浽?018年斥資75億美元收購了全球約有5000萬用戶的代碼共享網(wǎng)站Github,這也就給Copilot所依托的Codex算法創(chuàng)造了數(shù)十億行公共代碼訓(xùn)練的優(yōu)越條件。
事實(shí)上OpenAI在Copilot之前推出過另一個(gè)AI模型——1750億參數(shù)的AI模型GPT-3,OpenAI 的聯(lián)合創(chuàng)始人兼首席技術(shù)官Greg Brockman曾表示Codex是 GPT-3 的后代。同樣的,OpenAI花費(fèi)了大量的資金讓GPT-3對(duì)人類的詩歌、小說、新聞等海量自然語言進(jìn)行訓(xùn)練,讓它具有一定程度的理解能力。這也讓神經(jīng)網(wǎng)絡(luò)之父Geoffrey Hinton在GPT-3出現(xiàn)后感慨:“生命、宇宙和萬物的答案,其實(shí)只是4.398萬億個(gè)參數(shù)而已。”
Codex也具備了將部分指令清晰的英語翻譯成代碼的能力,甚至有部分媒體宣揚(yáng)說Codex已經(jīng)能夠?qū)崿F(xiàn)只要你會(huì)英語就能寫代碼。
當(dāng)Copilot受到越來越多程序員的歡迎,GitHub的CEO Nat Friedman卻給大家澆了一盆冷水——“我們將計(jì)劃在未來某個(gè)時(shí)候?qū)⑵鋽U(kuò)展為付費(fèi)產(chǎn)品。”這也引發(fā)了不小的爭(zhēng)議,其中引起爭(zhēng)議的焦點(diǎn)就在于Copilot的版權(quán)存在開源代碼衍生品商業(yè)化GPL版權(quán)問題。
Copilot把開源代碼洗成商業(yè)產(chǎn)品的行為,無視了早期促進(jìn)程序語言世界豐富、開放的開源精神,引起了GitHub社區(qū)人們的公憤。不少程序員在社交媒體上公開表示未來將不再使用GitHub來托管自己的代碼。
盡管GitHub官方則解釋Copilot“通常不會(huì)精確復(fù)制代碼塊”,但還是有不少網(wǎng)友在通過Copilot解決程序中的一些經(jīng)典問題時(shí),會(huì)發(fā)現(xiàn)Copilot幾乎一字不差的復(fù)制粘貼了GitHub上的某段經(jīng)典代碼。
不僅如此,隨著用戶對(duì)它的了解逐步加深,發(fā)現(xiàn)Copilot輸出的部分代碼有著隱私泄露、安全風(fēng)險(xiǎn)等問題。
還有網(wǎng)友表示“Copilot 一時(shí)爽,調(diào)試火葬場(chǎng)。”想要完全通過語句描述出想要實(shí)現(xiàn)的功能并不簡(jiǎn)單,你還得不斷回過頭檢查AI編寫的代碼是否正確。
目前Copilot還未收費(fèi)使用,程序員小伙伴們可以試試,如果讓你選的話,你希望未來有AI工具幫助你完成工作嗎?不過說到底,AI工具還沒有完全替代人工的能力,想要成為一名出色的程序員,還是要自身的技術(shù)能力過硬才行!來北大青鳥中博學(xué)IT技術(shù),做專業(yè)IT人才!
![]() |