首頁  >  文章  >  科技週邊  >  ChatGPT五分鐘寫完插件,功能完善,還可加需求改BUG

ChatGPT五分鐘寫完插件,功能完善,還可加需求改BUG

PHPz
PHPz轉載
2023-04-11 15:52:031208瀏覽

ChatGPT寫程式碼,水平究竟如何?

不到5分鐘,就做出一個WordPress(一個內容管理系統軟體)插件,程式碼很乾淨。

ChatGPT五分鐘寫完插件,功能完善,還可加需求改BUG

測試者名叫David Gewirtz,是一位1982年進入IT產業的老砲,任職的公司包括:賽門鐵克、蘋果、Pyramid Technology。

即使擁有40年經驗,他在見識ChatGPT能力之後,還是不禁發出感慨:

本以為不會有太多驚喜,沒成想,還是嚇了一跳。

在評測文章中,他也表示這一切既令人著迷,又令人驚訝,同時也令他恐懼。

ChatGPT五分鐘寫完插件,功能完善,還可加需求改BUG

所以,他具體是怎麼做的測試?

我們一同來看下。

精力不夠,ChatGPT來湊

此番David老哥之所以要用ChatGPT寫程式碼,源自於妻子在經營電商網站,每月,她需要根據客戶群組名單隨機選出一部分名字,產生輪播動畫。

過去,David老哥的妻子用一個網站產生隨機名單,不過,該服務要收費,且不便宜。於是,老哥決定發揮“技術功力”,自己寫一個WordPress插件,幫助妻子“降本增效”。

那麼問題來了——即使是小小WordPress插件,也需要好幾天去完成,這當中需添加用戶界面元素,也要編寫邏輯代碼,鑑於自己實在太忙,於是,David想到--

最近ChatGPT不是很火麼?要不試試?

說乾就乾,他先寫了第一個提示,描述想要的文字(程式碼)到底是什麼。

具體如下:

編寫一個PHP 8相容的WordPress插件,它提供一個文字輸入區域,可將清單貼進去,還帶有一個按鈕,按下可將輸入條目隨機排列再顯示出來。

不到一分鐘,程式碼就產生出來了:

ChatGPT五分鐘寫完插件,功能完善,還可加需求改BUG


△ 圖來源:David Gewirtz/ZDNET

測試者將上述程式碼複製到一個.php檔案中,壓縮並上傳伺服器。

唔,親測有效。

當他將該插件拿給妻子看,對方一臉驚訝,不過,她馬上加了新需求:重複的名字不能挨著。

於是,碼農ChatGPT有了新任務。

需要保證相同條目不會挨著(除非沒有其他選項)…此外,輸入條目數與結果條目數得相同。

30s後,結果來了。

老樣子,上傳伺服器並測試——有效,但輸出包含了空白行。

那提示它一下。

…不能有空行…

A Few Moments Later…

結果又來了,測試結果沒問題。

繼續加大力度,測試者希望該外掛程式能統計一下處理了多少行資料。

結果ChatGPT照樣能完成。

讓我們一起看看,這款外掛程式的最終形態,功能還挺完善:

ChatGPT五分鐘寫完插件,功能完善,還可加需求改BUG


△ 能產生對應UI並處理一行資料圖來源:David Gewirtz/ZDNET

總結一下。

老哥認為,ChatGPT生成程式碼親測有效,滿足了需求,其中編寫了UI介面及處理邏輯,從程式碼本身看也很乾淨。

不過,問題也不是沒有。

其中一個瑕疵是-程式碼裡面並未包含WordPress的全部最優/最標準的實作方法,如未進行清理使用者輸入,此項處理意味著,駭客無法在欄位中填充或破壞數據,在WordPress社群也有嚴格要求。

為此,作者嘗試讓ChatGPT調整下。結果它調了,但又沒完全調…程式碼只清理了PHP函數輸入端,但並未清理用HTML呼叫PHP時的輸入,這會讓駭客仍能鑽空子。

另一個問題是,作者要求AI程式設計同時為外掛程式命名,但它產生了一個完全不同的插件。

且後續測試者試圖增加更多功能,也無法實現,表示程式碼維護方面ChatGPT也不是很擅長。

最後,測試的老哥談了談自己的感想。

目前,ChatGPT寫一個簡單插件倒是沒問題,整個過程還是讓他眼前一亮的。

不過這仍是個簡單任務,相當於一次大學生作業,與之對比下,維護50,000個使用者的開源插件肯定更為複雜。

網友:可能插入惡意程式碼

值得一提的是,這位老哥還問過網友——對用ChatGPT生成程式碼擔心什麼,並自己給出看法。

有人擔心,AI會冷不丁在程式中加入惡意程式碼或促銷訊息,對此,測試者補充道,至少在上述程式設計中,ChatGPT生成程式碼是乾淨的。

也有人認為,它無法給出最佳程式碼,測試者針對該問題認為功能性能滿足即可,足夠好就足夠了。

也有人擔心它會取代人類程式設計師的工作,此番測試的David也有同感。

最後問,你讓ChatGPT敲過程式碼麼?效果如何?

參考連結:
[1]https://www.php.cn/link/a98a009d68cad18ae7b1d3576bb01924
##[2] #https://www.php.cn/link/f7b6bc883be91f56eb248d72de4d2847#c
[3]c#https://www.php.cn/link/acef5cc0bd5a0c190##https://www.php.cn/link/acef5cc0bd5a0c190494e344b#

以上是ChatGPT五分鐘寫完插件,功能完善,還可加需求改BUG的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除