ChatGPT 写代码,水平究竟如何?
不到 5 分钟,做出一个 WordPress(一款内容管理系统软件)插件,且代码很干净。
测试者名叫 David Gewirtz,是一位 1982 年进入 IT 行业的老炮,供职过的公司包括:赛门铁克、苹果、Pyramid Technology。
即使拥有 40 年从业经验,他在见识 ChatGPT 能力之后,还是不禁发出感慨:
本以为不会有太多惊喜,没成想,还是吓了一跳。
在评测文章中,他还表示这一切既令人着迷,又令人惊讶,同时还令他恐惧。
所以,他具体是怎么做的测试?
我们一同来看下。
此番 David 老哥之所以要用 ChatGPT 写代码,源于他妻子在运营电商网站,每月,她需要根据客户群组名单随机选出一部分名字,生成轮播动画。
过去,David 老哥的妻子用一个网站生成随机名单,不过,该服务要收费,且不便宜。于是,老哥决定发挥“技术功力”,自己写一个 WordPress 插件,帮助妻子“降本增效”。
那么问题来了 —— 即便是小小 WordPress 插件,也需要好几天去完成,这当中需添加用户界面元素,也要编写逻辑代码,鉴于自己实在太忙,于是,David 想到 ——
最近 ChatGPT 不是很火么?要不试试?
说干就干,他先写了第一个提示,描述想要的文字(代码)到底是什么。
具体如下:
编写一个 PHP 8 兼容的 WordPress 插件,它提供一个文字输入区域,可将列表粘贴进去,还带有一个按钮,按下可将输入条目随机排列再显示出来。
不到一分钟,代码就生成出来了:
测试者将上述代码复制到一个.php 文件中,压缩并上传服务器。
唔,亲测有效。
当他将该插件拿给妻子看,对方一脸惊讶,不过,她马上加了新需求:重复的名字不能挨着。
于是,码农 ChatGPT 有了新任务。
需要保证相同条目不会挨着(除非没有其他选项)… 此外,输入条目数与结果条目数得相同。
30s 后,结果来了。
老样子,上传服务器并测试 —— 有效,但输出包含了空行。
那提示它一下。
… 不能有空行…
A Few Moments Later……
结果又来了,测试结果没问题。
继续加大力度,测试者希望该插件能统计一下处理了多少行数据。
结果 ChatGPT 照样能完成。
让我们一起看看,这款插件的最终形态,功能还挺完善:
总结一下。
老哥认为,ChatGPT 生成代码亲测有效,满足了需求,其中编写了 UI 界面及处理逻辑,从代码本身看也很干净。
不过,问题也不是没有。
其中一个瑕疵是 —— 代码里面并未包含 WordPress 的全部最优 / 最标准的实现方法,如未进行清理用户输入,此项处理意味着,黑客无法在字段中填充或破坏数据,在 WordPress 社区也有严格要求。
为此,作者尝试让 ChatGPT 调整下。结果它调了,但又没完全调…… 代码只清理了 PHP 函数输入端,但并未清理用 HTML 调用 PHP 时的输入,这会让黑客仍能钻空子。
另一个问题是,作者要求 AI 编程同时为插件命名,它却生成了一个完全不同的插件。
且后续测试者试图添加更多功能,也无法实现,说明代码维护方面 ChatGPT 也不是很擅长。
最后,测试的老哥谈了谈自己的感想。
目前,ChatGPT 编写一个简单插件倒是没问题,整个过程还是让他眼前一亮的。
不过这仍是个简单任务,相当于一次大学生作业,与之对比下,维护 50000 个用户的开源插件肯定更为复杂。
值得一提的是,这位老哥还问过网友 ——对用 ChatGPT 生成代码担心什么,并自己给出看法。
有人担心,AI 会冷不丁在程序中加入恶意代码或促销信息,对此,测试者补充道,至少在上述编程中,ChatGPT 生成代码是干净的。
也有人认为,它无法给出最佳代码,测试者针对该问题认为功能性能满足即可,足够好就足够了。
还有人担心它会替代人类程序员的工作,此番测试的 David 也有同感。
最后问问,你让 ChatGPT 敲过代码么?效果如何?
参考链接:
[1]https://www.zdnet.com/article/i-asked-chatgpt-to-write-a-wordpress-plugin-i-needed-it-did-in-less-than-5-minutes/
[2]http://davidgewirtz.com/
[3]https://twitter.com/DavidGewirtz
本文来自微信公众号:量子位 (ID:QbitAI),作者:詹士
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。