AI會寫程式!AI能夠取代程式設計師(工程師)嗎?實測結果揭曉!
2023 Mar 06 AI人工智慧
昨天卯起來叫ChatGPT幫我寫程式,有些很有趣的發現。因為看過分享說他寫的code 很完美,所以一開始不疑有他,但後來就發現其實是有很多限制的。
我測試的邏輯是一個我自己的股票自動交易策略。
我有一個奇特但是不複雜的策略,目前還沒有在網路上看到有人用過。想請ChatGPT幫我把程式寫出來。
我發現,如果把邏輯切得很小塊,每次只叫他寫一個簡單邏輯,ChatGPT 是可以寫出正確的程式碼。但是當邏輯稍微複雜,他就會開始亂寫。
為了驗證他是在哪個地方錯誤,我請他整理一遍我的邏輯先用文字告訴我讓我確認。反覆用各種方法測試,發現他沒有一次能完全正確。所以表示ChatGPT 其實無法理解「邏輯」(因為他是語言模型,最後我再解釋可能的原因)。
後來我索性就讓他就他理解錯誤的邏輯去寫程式,結果發現他寫出來的程式碼和他自己理解的邏輯也根本就不一樣。
我多測幾次之後,發現他會有一個「腦補常見交易策略」的傾向。無論他怎麼理解我的邏輯,程式碼中總會自己加入常見的交易策略(如上漲幅度到多少的時候賣出,但我的邏輯中並沒有這一點),而我的策略中未曾在網路上看到有人用的部分,則是一直被他忽略,每次都故意漏掉那一個邏輯。
到這邊我就更加確定他真的是「語言」模型,他的程式能寫得好,是因為他的資料模型裡面有常見的程式碼。但是「新的邏輯」,他就無法處理了。
非常簡單說一下他找答案的原理,他其實是去找容易出現的「下一個字」,所以如果這個新的邏輯他的資料庫沒有人用過的話,他是無法寫出正確的程式碼的。他還是會給程式碼,但都是亂寫(他自己不知道)。程式碼也有一個不能用模糊機率給出下一個字的特性,因為錯就是錯,不像自然語言可以這樣講可以那樣講。所以他用模糊的算出下一個字的結果就是根本無法用。
還有一個有趣的點,他問我,是否有API文件可以給他參考?我給他一個API 文件的網址問他可以進去看嗎?他說沒問題,他已經看完了。但寫出來的程式根本沒有照文件串接啊於是我就直接考他,那個文件裡面寫什麼?他給我了頭頭是道的API 文件的常見大綱(但是和那份文件不同啊...)。我再直接考他某個 function叫做什麼?結果完全沒有照文件回答。我說「你真的有進去看嗎?」他說「是的」我說「可是你根本回答都是錯的,你真的有進去看嗎?」他回「我很抱歉,我並沒有進去看文件,如果你需要×××可以去參考ooo...」真的是在哈囉??
但到這邊我更感受到他是個「語言」模型,現階段他真的還只是個找出下一個字的工具,他沒有辦法真正做邏輯思考。
結論是,目前ChatGPT可以協助寫出簡單或常見的程式碼,但是邏輯一複雜他就不會了,而且他會一直找出他已經有的程式片段,就算我沒寫在邏輯中。(我一直提醒他,請忽略你已有的股票知識,他嘴裡說好,但他還是做他自己)
雖然一直被ChatGPT一本正經地欺騙,玩到有點惱怒,但測完一輪我覺得「目前而言」人類還是很有希望的。ChatGPT可以是非常好的程式碼輔助工具,但是「新邏輯」是目前ChatGPT 完全做不到的。