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