震撼!這個基於GPT-4的程式碼編輯器讓我感到恐慌!

鉑賽東發表於2023-03-26

首先,我不是標題黨。我確確實實受到了震撼。

其次,我今天要寫的也不是在chatGPT裡面叫AI寫什麼氣泡排序,雞兔同籠等網上都已有大量程式碼示例的問題。

我知道chatGPT已經火出圈了,本人也試驗過叫AI寫一些簡單的程式,太簡單的基本上都能寫對,稍微複雜點的也能介紹個大致思路,程式碼也能給出,但是很多都無法正常跑起來,也有一些邏輯性的錯誤。最多也只能用來參考下。

雖然我覺得目前AI能理解一些人類的意圖,能給出大致的實現程式碼,但是還無法代替程式設計師去寫一些稍微複雜點的演算法程式。

直到我今天在網上看到這樣一款AI寫程式的軟體:Cursor

官網長這樣:

1.png

查了下該軟體的特點以及背後的公司,問了new bing:

2.png

好傢伙,原來是openAI這個公司出的。

但我又一想,不就是接入了chatGPT的API麼,包裝成一個IDE的樣子。關鍵是chatGPT的程式碼功力我領教過,其實問題挺多的,有時候會有很基礎的邏輯錯誤問題,完全不能拿來直接跑。

但是看在是openAI公司出品的份上,我還是下了這個軟體,其實我並不報希望。

軟體介面長這樣,很像一個IDE:

3.png

簡單問了一些猜數字,快速排序的問題。全對,直接複製到IDEA裡就能直接跑。比如上圖就是我問的一個給出猜數字遊戲程式碼的問題。

其實這種程度chatGPT也能做到。但是很明顯我的直觀感受是cursor給出的程式碼的速度比chatGPT快太多了,基本是一秒十幾行的速度。

我決定上點強度。

我於是不再問一些網上已有大量示例的經典問題,提了一個swing的需求,要求他幫我寫一個swing介面,具體描述如下:

用swing寫一個秒錶程式,請在介面上畫一個圓形的紅色的秒錶圖形,圖形上有2根針,一根是分針,一根是秒針,分針比秒針要短,初始都指向0分0秒。在秒錶下方還有2個按鈕,一個是開始,一個是暫停,當點選開始按鈕的時候,秒錶時鐘開始走動,當點選暫停時,秒錶停止走動。暫停後再點選開始,會繼續走動。

輸入進去,然後AI幾乎沒思考就開始寫了:

4.gif

幾秒鐘就寫完了,好像乍看之下還挺像那麼回事,因為我看到他定義了顏色,畫了線。我複製到IDEA裡面一執行,竟然真的可以執行起來,效果如下:

5.gif

這個有點出乎我的意料,整體除了按鈕位置有點不對以外,其他功能和我描述完全正確。

接著加大難度,我給他出了一道在swing介面檔案對比的題:

請用swing寫一個程式,圖形介面頂部上有3個按鈕,其中2個分別支援上傳2個TXT檔案,還有一個比較按鈕,點選按鈕,則會去比較這2個檔案中內容的不同之處,如果完全一致,則彈出一個提示框表明2個檔案內容一致。如果不一樣,則在下方圖形介面(和按鈕不在同一行)分別顯示這2個檔案的內容,在檔案內容裡面用黃色下標箭頭在內容不一致的地方打上標記

想解釋下,為什麼我一直給他出swing的題,因為swing有介面,好驗證啊。

依然是秒出程式碼,大家看動圖:

Mar-24-2023 15-38-58.gif

程式明顯比之前長很多,中間我輸入了2次繼續。總體挺絲滑的。複製程式到IDEA裡面執行:

7.gif

這下徹底震驚到我了,臥槽,核心功能算是全部實現了。但也有瑕疵,我要求的是用黃色箭頭把不一樣的地方作標記,他則是把不一樣的內容用文字的形式列了出來。

GPT-4寫程式難道那麼厲害了麼,只要描述一小段話,就能寫出一個小demo程式來。而且還可以直接執行。

我於是把相同的描述貼給了chatGPT,雖然chatGPT也給出了程式碼,但是執行出來是完全不對的。

這就說明,cursor不僅僅是個套殼軟體。它是真正基於程式碼的方式進行訓練的。

除了swing,普通的java多執行緒併發業務程式能寫麼,我於是又問了一個常見的業務問題:電商秒殺模擬程式。描述如下:

寫一段程式,模擬下以下業務:
舉辦一個秒殺活動,總共有2個商品,商品A和商品B,各有50件。需要定義出商品的類。用執行緒模擬1w個人同時進來搶購,1w個人分別用ID1,ID2,ID3,以此類推來表示。
每個人每個商品只能最多搶2件。2個商品均沒搶到的顧客資訊不用列印,只列印出搶到了商品的顧客資訊,格式舉例如下:
顧客[ID1]搶到了[商品A]2件,[商品B]1件

我相信我描述的已經挺清楚了,也說明了要進行多執行緒,顧客ID命名給了一個推論的形式描述,以及列印資訊只給了一個範例描述,看看AI能否學樣去列印出符合我的結果

操作過程和上面一樣,我就不貼動圖了。貼一個圖片看看:

8.png

執行出來的列印結果為:

9.png

這下我又要臥槽了,結果是100%完全正確的!我又仔細看了AI寫多執行緒併發,發現也是完全正確的。

其實我測試到這裡的時候,我心裡已經開始焦慮了,沒錯,目前cursor也只能寫一些單一演算法的程式,但是正確率和理解力已經讓我吃驚了,從chatGPT橫空出世到GPT-4這才幾個月啊,就已經這麼強了。是不是再過幾年,我們就要失業了,是不是就再也不需要程式設計師了?產品經理只要把詳細的描述貼給AI,AI半小時吊打一個技術團隊一個月的工作量。

細思極恐。

最後我把cursor的官網地址貼一下,大家可以去下載體驗:

https://www.cursor.so/

相關文章