天天看點

「網絡科普」微軟的人工智能 Copilot 到底有多強?帶你來體驗一下

作者:Divinelawenforcers

說實話,這是一篇我早就應該寫的文章,我也不知道為什麼我能拖這麼久。

但好像從來也沒有讀者朋友們催我寫過這類文章,這為我的拖更提供了很好的理由。

為什麼說我早就應該寫這篇文章了呢?

主要還是因為去年年底的時候,OpenAI推出了一個火遍全球的爆炸性産品,ChatGPT。

在此之前,我都從來不認為OpenAI跟微軟會有什麼關系。直到後來我查詢了一下OpenAI的股權結構,才發現微軟的持股比例竟然高達49%,是OpenAI的最大單一股東。

這就不奇怪為什麼谷歌百度看到ChatGPT後如臨大敵一般了。并且馬斯克還在推特上吐槽,OpenAI已經偏離了他創立時的開源初衷,成為了一家被微軟控制的盈利機構,

事實上,OpenAI和微軟的合作确實非常緊密。

在ChatGPT推出後不久,OpenAI就将自己更進階的GPT4提供給了必應使用,我們在内部體驗了新必應的能力後,确實都感覺到大為震撼。

另外新必應還和Edge浏覽器進行了深度綁定,那段時間為了能夠快速推出帶有新必應功能的Edge浏覽器版本,我們組着實有幾位同僚周末都在加班。

這種自己做的産品莫名其妙就卷入到了世界最中心熱點的感覺還挺奇妙的,我在抖音上刷到一些科技部落客介紹新必應功能時,甚至還能看到自己做的新版Edge浏覽器的首頁界面。

其實那個時候我就想寫一篇文章,也來介紹介紹ChatGPT和新必應了。但是由于我們是内部體驗資格,上司特意在郵件裡說明了,不要将截圖流出到外部。雖然那個時候已經有外部部落客也能體驗到新必應了,我想了想怕把控不好度,就還是作罷了。

其實ChatGPT發展到這裡,我也不知道未來會繼續走向什麼方向,甚至我覺得可能過段時間,這波AI的熱度就過去了。

沒想到就在不久之後,微軟又推出了一個王炸型産品,Microsoft 365 Copilot。這次是将GPT4的能力應用到了Office領域當中。

衆所周知,微軟Office系列的功能深不可測,絕大多數的使用者甚至連其中10%的功能都使用不到。

而有了Microsoft 365 Copilot,你再也不需要去網上搜尋那些進階的Word用法,複雜的Excel公式,精美的PPT制作方法了。你隻需要用文字告訴Copilot你想要什麼,它就會按照你的需求自動生成你想要的一切,進而讓每個使用者都能輕松解鎖Office剩餘90%的功能。

這就屬于我完全預料不到的發展方向了,因為ChatGPT雖強,但目前還隻是能處理文字層面的問題問答,或許還不足以對以往的工作模式帶來天翻地覆的改變。

但Microsoft 365 Copilot這次直接将AI延申到了一個全新的領域,這帶來的可能是生産力的聚變。再誇張點說,甚至可能會是一次新工業革命的開始。

這波我持續看好AI。

Microsoft 365 Copilot在最近确實賺足了眼球,但今天我要介紹的并不是它。其實早在兩年前,微軟就推出了另外一個版本的Copilot,叫GitHub Copilot。

這裡為了防止有些小夥伴還不知道,特意說明一下,微軟在2018年就收購了GitHub。

那麼什麼是GitHub Copilot呢?

簡單一句話概括,那就是借助AI的能力,讓程式員可以更加輕松高效地完成自己的編碼工作,進而提升生産力。

我們都知道,GitHub并不是一家AI公司。是以,GitHub Copilot背後接入的其實就是OpenAI的Codex。

那麼Codex又是什麼呢?這是OpenAI研發出的一個擁有人類自然語言模型程式設計能力的人工智能接口。簡單點說,就是允許我們使用人類語言來寫代碼了,你告訴它你想要什麼功能,Codex會自動将其翻譯成對應的程式設計語言。

這個功能後來也被ChatGPT接入了,相信有不少朋友早已體驗過了ChatGPT強大的程式設計能力,其實背後就是由Codex在默默地幫助我們寫代碼。

GitHub Copilot我在之前就已經被同僚反複安利過了很多次,卻遲遲一直沒有使用。究其原因還是懶,懶得去對一些新些事物進行嘗試和學習,這個習慣确實不好。

後來我終究還是沒能抵過微軟員工可以免費使用GitHub Copilot的誘惑,也開始用了起來,于是就有了這篇文章。

是的,GitHub Copilot是沒有免費版本的,個人版需要支付10美元/月,企業版需要支付19美元/人月。

「網絡科普」微軟的人工智能 Copilot 到底有多強?帶你來體驗一下

不過大家也不用這麼快就被勸退了,個人版是有60天免費試用期的,是以我覺得至少可以去體驗和了解一下。

購買完成之後,接下來在你常用的IDE商店去下載下傳安裝GitHub Copilot插件即可,像JetBrains旗下所有的IDE、微軟的VS Code等都是支援的。

「網絡科普」微軟的人工智能 Copilot 到底有多強?帶你來體驗一下

插件安裝完成後,我們就可以去體驗GitHub Copilot強大的程式設計能力了。

剛才有說過,Codex是可以使用人類自然語言來進行程式設計的,那麼就來試一試吧。

建立一個新的Android項目,并打開activity_main.xml,我們通過編寫注釋的方式來描述我們的需求:

「網絡科普」微軟的人工智能 Copilot 到底有多強?帶你來體驗一下

可以看到,需求描述完之後,GitHub Copilot就會自動根據我們的需求給出代碼提示建議。這時隻要按一下Tab鍵,就能讓這些提示建議上屏了。

這種功能如果是放到半年前的話,相信足以讓絕大部分的人感到震驚。但是現在大家都已經見識過ChatGPT的強大程式設計能力了,是以這種程度的代碼提示可能也就見怪不怪了。

但不得不說,雖然GitHub Copilot和ChatGPT背後對接的都是Codex,但GitHub Copilot還是有它的優勢的,因為它會擁有更加充分的代碼上下文環境,這是ChatGPT所不具備的。

是的,如果你再仔細觀察一下上圖,你會發現,GitHub Copilot是知道我們是在ConstraintLayout中編寫布局的,是以給出的代碼建議也是按照ConstraintLayout的文法規則來寫的。

而如果我們将同樣的注釋放在Compose環境下再去描述一遍,得到的結果如下圖所示:

「網絡科普」微軟的人工智能 Copilot 到底有多強?帶你來體驗一下

是以,GitHub Copilot總是能夠根據目前的代碼環境給出相應的代碼建議。這些代碼不一定能保證是完全正确的,但是根據我的觀察,通常都是比較有參考價值的。

說到代碼的正确性,前段時間文心一言剛剛釋出,我在抖音上刷到一個部落客,他給文心一言出了道題,讓它使用php編寫一段生成1萬個8位數邀請碼的代碼,結果如下:

「網絡科普」微軟的人工智能 Copilot 到底有多強?帶你來體驗一下

最離譜的是,這位部落客竟然說這段代碼完全正确,也真是讓人哭笑不得。

由此可見,不管是ChatGPT還是文心一言,它的能力再強也需要一個懂行的人掌舵。外行人甚至連對錯都無法區分,說能取代程式員還是為時過早了。

不過我确實好奇Codex是否能夠很好地處理這道題目呢?我通過GitHub Copilot進行了一下驗證,正确性大家自己來看吧。

「網絡科普」微軟的人工智能 Copilot 到底有多強?帶你來體驗一下

除了主動告訴GitHub Copilot要寫什麼代碼外,其實更多情況下它會自動在我們編寫代碼時給出一些貼心的建議,進而讓你的編碼工作更輕松。

我們都知道,GitHub Copilot隻能根據大資料的機器學習訓練進行智能的代碼推薦,它是不可能了解我們的業務需求的。

比如最近我在編寫一個Compose的布局時,希望讓每個子元素的寬度都充滿父布局。

GitHub Copilot不可能知道我心裡所想的需求,是以一開始給出的都是一些并非我想要的建議。

但是一旦我完成了第一個子元素的編寫,GitHub Copilot就好像突然懂得了我的需求一樣,後面的每個子元素都能給出準确的建議了,如下圖所示:

「網絡科普」微軟的人工智能 Copilot 到底有多強?帶你來體驗一下

這種情況會非常常見,因為絕大多數情況下,我們是不太需要主動想着如何去使用GitHub Copilot的,但它總是能夠在我們的編碼過程當中适時地給出一些能夠讓你會心一笑的建議。這裡我沒法給出太多具體的場景示例,但是隻要你用過了之後,一定能明白我在說什麼。

除了提高編碼效率之外,GitHub Copilot還可以用于快速完成一些之前很多程式員不太願意做的瑣碎的事情,比如說寫注釋、寫單元測試等等。

為你的代碼寫好詳細的注釋這是一個非常好的習慣,但可能并沒有太多程式員能真正做好這一點,都覺得寫注釋太麻煩了。

而GitHub Copilot可以根據代碼的邏輯自動生成相應的注釋,我們可能隻需要稍微引導和調整一下生成的内容就行了,這就讓這些本來瑣碎的事情變得非常輕松。

這裡我還是拿剛才生成1萬個8位數邀請碼的代碼進行舉例,這次我們反過來,讓GitHub Copilot根據現有的代碼邏輯自動幫我們生成注釋,如下圖所示:

「網絡科普」微軟的人工智能 Copilot 到底有多強?帶你來體驗一下

可以看到,效果還是非常好的。我隻需要進行稍微的用詞引導,GitHub Copilot就能立刻明白我的意圖,并進行剩餘的注釋補全。

我的同僚之前也開玩笑地說過,自己寫代碼時的思路時不時就被GitHub Copilot拿捏了,副機長的技術比機長還好怎麼辦。

确實,我相信現在世界上沒有任何一個程式員的技術能比Codex更高了,但副機長技術再好也隻能是給建議,最終拍闆以及保證代碼正确性的還是隻能靠我們自己。

看到這裡,相信你已經能夠體會到GitHub Copilot強大的功能了,那麼它難道就沒有什麼缺點嗎?

這當然是不可能的。

首先,GitHub Copilot無法做到每次都給出精确無比的建議,滿嘴跑火車的情況并不在少數。ChatGPT也有很多類似的情況,相信大家用過的應該都能感受到。

除此之外,我個人覺得GitHub Copilot最讓人感到不夠聰明的一點是,它的一切資料都來自于雲端大資料的訓練,而沒有本地學習的能力。

我舉一個例子吧,輸入法大家肯定每天都在用,如果我們有一些頻繁輸入的詞彙,打得次數多了,輸入法就會更加傾向于将這些詞彙的排序提前。這應該是再基礎不過的能力了吧?

但GitHub Copilot卻并沒有這樣的功能,某些我本地特有的代碼模闆,即使我敲了再多遍,下次再換一個檔案輸入時,GitHub Copilot依然不知道我想要的是什麼,因為它的雲端訓練不到我本地特有的這些代碼。

從工作原理的角度上講,這種情況我完全能了解。不過每當發生時,我确實會在這一瞬間感覺它還不夠聰明。

好了,以上就是我對GitHub Copilot所想要介紹的一切了。

看完之後你的感想是什麼?

每個人或許都會有不同的想法,我個人的想法是,GitHub Copilot很好,但是我可能并不會願意為其支付每個月10美元的費用。

因為GitHub Copilot提高的隻是工作效率,我并不覺得它可以幫助提高我的程式設計能力。相反,使用GitHub Copilot之後,很多原本需要思考和分析的代碼,現在都可以省略了。

而如果你是一個企業老闆,那麼我會大力推薦你,一定要為每個員工都購買一份GitHub Copilot,這是真的可以提高你的企業生産力的工具,并且它的費用相比于程式員的薪水來講幾乎可以忽略不計。

另外,本文全篇介紹的其實都還是上一個時代的GitHub Copilot版本。目前GitHub又推出了一個更加強大的Copilot X,我還沒有拿到測試名額,是以不知道具體有多麼的強大。

但這個嶄新的AI時代真的在以日新月異的速度變化着,讓我們一起來見證吧。

如果想要學習Kotlin和最新的Android知識,可以參考我的新書 《第一行代碼 第3版》,點選此處檢視詳情。

文章知識點與官方知識檔案比對,可進一步學習相關知識

————————————————

版權聲明:本文為CSDN部落客「guolin」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/guolin_blog/article/details/130021077

繼續閱讀