不到 5 分鐘,,做出一個 WordPress(一款內容管理系統(tǒng)軟件)插件,,且代碼很干凈。
測試者名叫 David Gewirtz,,是一位 1982 年進入 IT 行業(yè)的老炮,,供職過的公司包括:賽門鐵克、蘋果,、Pyramid Technology,。
即使擁有 40 年從業(yè)經驗,他在見識 ChatGPT 能力之后,,還是不禁發(fā)出感慨:
本以為不會有太多驚喜,,沒成想,還是嚇了一跳,。
在評測文章中,,他還表示這一切既令人著迷,,又令人驚訝,同時還令他恐懼,。
所以,,他具體是怎么做的測試?
我們一同來看下,。
精力不夠,,ChatGPT 來湊
此番 David 老哥之所以要用 ChatGPT 寫代碼,源于他妻子在運營電商網站,,每月,,她需要根據客戶群組名單隨機選出一部分名字,生成輪播動畫,。
過去,,David 老哥的妻子用一個網站生成隨機名單,不過,,該服務要收費,,且不便宜。于是,,老哥決定發(fā)揮“技術功力”,,自己寫一個 WordPress 插件,幫助妻子“降本增效”,。
那么問題來了 —— 即便是小小 WordPress 插件,,也需要好幾天去完成,這當中需添加用戶界面元素,,也要編寫邏輯代碼,,鑒于自己實在太忙,于是,,David 想到 ——
最近 ChatGPT 不是很火么,?要不試試?
說干就干,,他先寫了第一個提示,,描述想要的文字(代碼)到底是什么。
具體如下:
編寫一個 PHP 8 兼容的 WordPress 插件,,它提供一個文字輸入區(qū)域,,可將列表粘貼進去,還帶有一個按鈕,,按下可將輸入條目隨機排列再顯示出來,。
不到一分鐘,代碼就生成出來了:
△ 圖源:David Gewirtz / ZDNET
測試者將上述代碼復制到一個.php 文件中,,壓縮并上傳服務器,。
唔,,親測有效。
當他將該插件拿給妻子看,,對方一臉驚訝,,不過,她馬上加了新需求:重復的名字不能挨著,。
于是,碼農 ChatGPT 有了新任務,。
需要保證相同條目不會挨著(除非沒有其他選項)… 此外,,輸入條目數與結果條目數得相同。
30s 后,,結果來了,。
老樣子,上傳服務器并測試 —— 有效,,但輸出包含了空行,。
那提示它一下。
… 不能有空行…
A Few Moments Later……
結果又來了,,測試結果沒問題,。
繼續(xù)加大力度,測試者希望該插件能統(tǒng)計一下處理了多少行數據,。
結果 ChatGPT 照樣能完成,。
讓我們一起看看,這款插件的最終形態(tài),,功能還挺完善:
△ 能生成相應 UI 并處理一行行數據 圖源:David Gewirtz / ZDNET
總結一下,。
老哥認為,ChatGPT 生成代碼親測有效,,滿足了需求,,其中編寫了 UI 界面及處理邏輯,從代碼本身看也很干凈,。
不過,,問題也不是沒有。
其中一個瑕疵是 —— 代碼里面并未包含 WordPress 的全部最優(yōu) / 最標準的實現(xiàn)方法,,如未進行清理用戶輸入,,此項處理意味著,黑客無法在字段中填充或破壞數據,,在 WordPress 社區(qū)也有嚴格要求,。
為此,作者嘗試讓 ChatGPT 調整下,。結果它調了,,但又沒完全調…… 代碼只清理了 PHP 函數輸入端,,但并未清理用 HTML 調用 PHP 時的輸入,這會讓黑客仍能鉆空子,。
另一個問題是,,作者要求 AI 編程同時為插件命名,它卻生成了一個完全不同的插件,。
且后續(xù)測試者試圖添加更多功能,,也無法實現(xiàn),說明代碼維護方面 ChatGPT 也不是很擅長,。
最后,,測試的老哥談了談自己的感想。
目前,,ChatGPT 編寫一個簡單插件倒是沒問題,,整個過程還是讓他眼前一亮的。
不過這仍是個簡單任務,,相當于一次大學生作業(yè),,與之對比下,維護 50000 個用戶的開源插件肯定更為復雜,。
網友:可能插入惡意代碼
值得一提的是,,這位老哥還問過網友 —— 對用 ChatGPT 生成代碼擔心什么,并自己給出看法,。
有人擔心,,AI 會冷不丁在程序中加入惡意代碼或促銷信息,對此,,測試者補充道,,至少在上述編程中,ChatGPT 生成代碼是干凈的,。
也有人認為,,它無法給出最佳代碼,測試者針對該問題認為功能性能滿足即可,,足夠好就足夠了,。
還有人擔心它會替代人類程序員的工作,此番測試的 David 也有同感,。
最后問問,,你讓 ChatGPT 敲過代碼么?效果如何,?
更多信息可以來這里獲取==>>電子技術應用-AET<<