本文同步發(fā)表于我的微信公眾號,掃一掃文章底部的二維碼或在微信搜索 郭霖 即可關(guān)注,每個工作日都有文章更新。
說實話,這是一篇我早就應(yīng)該寫的文章,我也不知道為什么我能拖這么久。
但好像從來也沒有讀者朋友們催我寫過這類文章,這為我的拖更提供了很好的理由。
為什么說我早就應(yīng)該寫這篇文章了呢?
主要還是因為去年年底的時候,OpenAI推出了一個火遍全球的爆炸性產(chǎn)品,ChatGPT。
在此之前,我都從來不認(rèn)為OpenAI跟微軟會有什么關(guān)系。直到后來我查詢了一下OpenAI的股權(quán)結(jié)構(gòu),才發(fā)現(xiàn)微軟的持股比例竟然高達(dá)49%,是OpenAI的最大單一股東。
這就不奇怪為什么谷歌百度看到ChatGPT后如臨大敵一般了。并且馬斯克還在推特上吐槽,OpenAI已經(jīng)偏離了他創(chuàng)立時的開源初衷,成為了一家被微軟控制的盈利機構(gòu),
事實上,OpenAI和微軟的合作確實非常緊密。
在ChatGPT推出后不久,OpenAI就將自己更高級的GPT4提供給了必應(yīng)使用,我們在內(nèi)部體驗了新必應(yīng)的能力后,確實都感覺到大為震撼。
另外新必應(yīng)還和Edge瀏覽器進(jìn)行了深度綁定,那段時間為了能夠快速推出帶有新必應(yīng)功能的Edge瀏覽器版本,我們組著實有幾位同事周末都在加班。
這種自己做的產(chǎn)品莫名其妙就卷入到了世界最中心熱點的感覺還挺奇妙的,我在抖音上刷到一些科技博主介紹新必應(yīng)功能時,甚至還能看到自己做的新版Edge瀏覽器的主頁界面。
其實那個時候我就想寫一篇文章,也來介紹介紹ChatGPT和新必應(yīng)了。但是由于我們是內(nèi)部體驗資格,領(lǐng)導(dǎo)特意在郵件里說明了,不要將截圖流出到外部。雖然那個時候已經(jīng)有外部博主也能體驗到新必應(yīng)了,我想了想怕把控不好度,就還是作罷了。
其實ChatGPT發(fā)展到這里,我也不知道未來會繼續(xù)走向什么方向,甚至我覺得可能過段時間,這波AI的熱度就過去了。
沒想到就在不久之后,微軟又推出了一個王炸型產(chǎn)品,Microsoft 365 Copilot。這次是將GPT4的能力應(yīng)用到了Office領(lǐng)域當(dāng)中。
眾所周知,微軟Office系列的功能深不可測,絕大多數(shù)的用戶甚至連其中10%的功能都使用不到。
而有了Microsoft 365 Copilot,你再也不需要去網(wǎng)上搜索那些高級的Word用法,復(fù)雜的Excel公式,精美的PPT制作方法了。你只需要用文字告訴Copilot你想要什么,它就會按照你的需求自動生成你想要的一切,從而讓每個用戶都能輕松解鎖Office剩余90%的功能。
這就屬于我完全預(yù)料不到的發(fā)展方向了,因為ChatGPT雖強,但目前還只是能處理文字層面的問題問答,或許還不足以對以往的工作模式帶來天翻地覆的改變。
但Microsoft 365 Copilot這次直接將AI延申到了一個全新的領(lǐng)域,這帶來的可能是生產(chǎn)力的聚變。再夸張點說,甚至可能會是一次新工業(yè)革命的開始。
這波我持續(xù)看好AI。
Microsoft 365 Copilot在最近確實賺足了眼球,但今天我要介紹的并不是它。其實早在兩年前,微軟就推出了另外一個版本的Copilot,叫GitHub Copilot。
這里為了防止有些小伙伴還不知道,特意說明一下,微軟在2018年就收購了GitHub。
那么什么是GitHub Copilot呢?
簡單一句話概括,那就是借助AI的能力,讓程序員可以更加輕松高效地完成自己的編碼工作,從而提升生產(chǎn)力。
我們都知道,GitHub并不是一家AI公司。因此,GitHub Copilot背后接入的其實就是OpenAI的Codex。
那么Codex又是什么呢?這是OpenAI研發(fā)出的一個擁有人類自然語言模型編程能力的人工智能接口。簡單點說,就是允許我們使用人類語言來寫代碼了,你告訴它你想要什么功能,Codex會自動將其翻譯成對應(yīng)的編程語言。
這個功能后來也被ChatGPT接入了,相信有不少朋友早已體驗過了ChatGPT強大的編程能力,其實背后就是由Codex在默默地幫助我們寫代碼。
GitHub Copilot我在之前就已經(jīng)被同事反復(fù)安利過了很多次,卻遲遲一直沒有使用。究其原因還是懶,懶得去對一些新些事物進(jìn)行嘗試和學(xué)習(xí),這個習(xí)慣確實不好。
后來我終究還是沒能抵過微軟員工可以免費使用GitHub Copilot的誘惑,也開始用了起來,于是就有了這篇文章。
是的,GitHub Copilot是沒有免費版本的,個人版需要支付10美元/月,企業(yè)版需要支付19美元/人月。
不過大家也不用這么快就被勸退了,個人版是有60天免費試用期的,因此我覺得至少可以去體驗和了解一下。
購買完成之后,接下來在你常用的IDE商店去下載安裝GitHub Copilot插件即可,像JetBrains旗下所有的IDE、微軟的VS Code等都是支持的。
插件安裝完成后,我們就可以去體驗GitHub Copilot強大的編程能力了。
剛才有說過,Codex是可以使用人類自然語言來進(jìn)行編程的,那么就來試一試吧。
創(chuàng)建一個新的Android項目,并打開activity_main.xml,我們通過編寫注釋的方式來描述我們的需求:
可以看到,需求描述完之后,GitHub Copilot就會自動根據(jù)我們的需求給出代碼提示建議。這時只要按一下Tab鍵,就能讓這些提示建議上屏了。
這種功能如果是放到半年前的話,相信足以讓絕大部分的人感到震驚。但是現(xiàn)在大家都已經(jīng)見識過ChatGPT的強大編程能力了,所以這種程度的代碼提示可能也就見怪不怪了。
但不得不說,雖然GitHub Copilot和ChatGPT背后對接的都是Codex,但GitHub Copilot還是有它的優(yōu)勢的,因為它會擁有更加充分的代碼上下文環(huán)境,這是ChatGPT所不具備的。
是的,如果你再仔細(xì)觀察一下上圖,你會發(fā)現(xiàn),GitHub Copilot是知道我們是在ConstraintLayout中編寫布局的,所以給出的代碼建議也是按照ConstraintLayout的語法規(guī)則來寫的。
而如果我們將同樣的注釋放在Compose環(huán)境下再去描述一遍,得到的結(jié)果如下圖所示:
因此,GitHub Copilot總是能夠根據(jù)當(dāng)前的代碼環(huán)境給出相應(yīng)的代碼建議。這些代碼不一定能保證是完全正確的,但是根據(jù)我的觀察,通常都是比較有參考價值的。
說到代碼的正確性,前段時間文心一言剛剛發(fā)布,我在抖音上刷到一個博主,他給文心一言出了道題,讓它使用php編寫一段生成1萬個8位數(shù)邀請碼的代碼,結(jié)果如下:
最離譜的是,這位博主竟然說這段代碼完全正確,也真是讓人哭笑不得。
由此可見,不管是ChatGPT還是文心一言,它的能力再強也需要一個懂行的人掌舵。外行人甚至連對錯都無法區(qū)分,說能取代程序員還是為時過早了。
不過我確實好奇Codex是否能夠很好地處理這道題目呢?我通過GitHub Copilot進(jìn)行了一下驗證,正確性大家自己來看吧。
除了主動告訴GitHub Copilot要寫什么代碼外,其實更多情況下它會自動在我們編寫代碼時給出一些貼心的建議,從而讓你的編碼工作更輕松。
我們都知道,GitHub Copilot只能根據(jù)大數(shù)據(jù)的機器學(xué)習(xí)訓(xùn)練進(jìn)行智能的代碼推薦,它是不可能了解我們的業(yè)務(wù)需求的。
比如最近我在編寫一個Compose的布局時,希望讓每個子元素的寬度都充滿父布局。
GitHub Copilot不可能知道我心里所想的需求,所以一開始給出的都是一些并非我想要的建議。
但是一旦我完成了第一個子元素的編寫,GitHub Copilot就好像突然懂得了我的需求一樣,后面的每個子元素都能給出準(zhǔn)確的建議了,如下圖所示:
這種情況會非常常見,因為絕大多數(shù)情況下,我們是不太需要主動想著如何去使用GitHub Copilot的,但它總是能夠在我們的編碼過程當(dāng)中適時地給出一些能夠讓你會心一笑的建議。這里我沒法給出太多具體的場景示例,但是只要你用過了之后,一定能明白我在說什么。
除了提高編碼效率之外,GitHub Copilot還可以用于快速完成一些之前很多程序員不太愿意做的瑣碎的事情,比如說寫注釋、寫單元測試等等。
為你的代碼寫好詳細(xì)的注釋這是一個非常好的習(xí)慣,但可能并沒有太多程序員能真正做好這一點,都覺得寫注釋太麻煩了。
而GitHub Copilot可以根據(jù)代碼的邏輯自動生成相應(yīng)的注釋,我們可能只需要稍微引導(dǎo)和調(diào)整一下生成的內(nèi)容就行了,這就讓這些本來瑣碎的事情變得非常輕松。
這里我還是拿剛才生成1萬個8位數(shù)邀請碼的代碼進(jìn)行舉例,這次我們反過來,讓GitHub Copilot根據(jù)現(xiàn)有的代碼邏輯自動幫我們生成注釋,如下圖所示:
可以看到,效果還是非常好的。我只需要進(jìn)行稍微的用詞引導(dǎo),GitHub Copilot就能立刻明白我的意圖,并進(jìn)行剩余的注釋補全。
我的同事之前也開玩笑地說過,自己寫代碼時的思路時不時就被GitHub Copilot拿捏了,副機長的技術(shù)比機長還好怎么辦。
確實,我相信現(xiàn)在世界上沒有任何一個程序員的技術(shù)能比Codex更高了,但副機長技術(shù)再好也只能是給建議,最終拍板以及保證代碼正確性的還是只能靠我們自己。
看到這里,相信你已經(jīng)能夠體會到GitHub Copilot強大的功能了,那么它難道就沒有什么缺點嗎?
這當(dāng)然是不可能的。
首先,GitHub Copilot無法做到每次都給出精確無比的建議,滿嘴跑火車的情況并不在少數(shù)。ChatGPT也有很多類似的情況,相信大家用過的應(yīng)該都能感受到。
除此之外,我個人覺得GitHub Copilot最讓人感到不夠聰明的一點是,它的一切數(shù)據(jù)都來自于云端大數(shù)據(jù)的訓(xùn)練,而沒有本地學(xué)習(xí)的能力。
我舉一個例子吧,輸入法大家肯定每天都在用,如果我們有一些頻繁輸入的詞匯,打得次數(shù)多了,輸入法就會更加傾向于將這些詞匯的排序提前。這應(yīng)該是再基礎(chǔ)不過的能力了吧?
但GitHub Copilot卻并沒有這樣的功能,某些我本地特有的代碼模板,即使我敲了再多遍,下次再換一個文件輸入時,GitHub Copilot依然不知道我想要的是什么,因為它的云端訓(xùn)練不到我本地特有的這些代碼。
從工作原理的角度上講,這種情況我完全能理解。不過每當(dāng)發(fā)生時,我確實會在這一瞬間感覺它還不夠聰明。
好了,以上就是我對GitHub Copilot所想要介紹的一切了。
看完之后你的感想是什么?
每個人或許都會有不同的想法,我個人的想法是,GitHub Copilot很好,但是我可能并不會愿意為其支付每個月10美元的費用。
因為GitHub Copilot提高的只是工作效率,我并不覺得它可以幫助提高我的編程能力。相反,使用GitHub Copilot之后,很多原本需要思考和分析的代碼,現(xiàn)在都可以省略了。
而如果你是一個企業(yè)老板,那么我會大力推薦你,一定要為每個員工都購買一份GitHub Copilot,這是真的可以提高你的企業(yè)生產(chǎn)力的工具,并且它的費用相比于程序員的薪水來講幾乎可以忽略不計。
另外,本文全篇介紹的其實都還是上一個時代的GitHub Copilot版本。目前GitHub又推出了一個更加強大的Copilot X,我還沒有拿到測試名額,所以不知道具體有多么的強大。
但這個嶄新的AI時代真的在以日新月異的速度變化著,讓我們一起來見證吧。文章來源:http://www.zghlxwxcb.cn/news/detail-423562.html
如果想要學(xué)習(xí)Kotlin和最新的Android知識,可以參考我的新書 《第一行代碼 第3版》,點擊此處查看詳情。文章來源地址http://www.zghlxwxcb.cn/news/detail-423562.html
到了這里,關(guān)于微軟的人工智能 Copilot 到底有多強大?帶你來體驗一下的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!