chatGPT 问答13 - 教你几分钟做一个网站?
作者:
| 更新日期:真的可以做到吗?
本文首发于公众号:天空的代码世界,微信号:tiankonguse
0. 背景
尝试每天问 chatGPT 一些问题,并分享出来,今天询问的主题是:教你几分钟做一个网站?
相信大家看了很多 ChatGPT 几分钟给你做一个网站或者系统的宣传了。
那你有没有想过,下面几个问题?
ChatGPT 做出一个完整事真的吗?
做出来的功能到底怎么样呢?
几分钟做出来的网站可用吗?
我带着这个疑问,尝试让 ChatGPT 帮我做了一个网站。
一、提出需求
做一个网站,分为前端网站和 nodejs 后台,使用 redis 当做数据库。
做的第一个功能是注册登录功能。注册时需要填写邮箱、密码、手机号、可选的邀请码。邮箱当做用户的唯一标识。
redis数据库使用 redis hash 来储存账户信息,其中还有一个积分字段,新账户默认是3。
后台 Nodejs 支持注册和登录功能,邮箱和手机号只能注册一个账户。
注册用户时,如果填写了邀请码,则邀请码对应的用户积分加1.
注册时,也会对每个账户计算出一个唯一的邀请码。
不到 3 分钟分钟,GPT4 确实确实输出了第一版网站,不过很多地方不符合需求,还有不少 BUG。
所以,我让 GPT4 先自己检查是否有错误。
他回答没错误,但是自己进行了重构优化,补充了错误处理的逻辑。
显然,这个是因为我提问的关键词里有错误,所以回答的重心放在了错误处理相关逻辑。
二、加密需求
由于我的需求还没提完,错误就先不反馈了。
我又补充了一个密码加盐加密的诉求。
由于 ChatGPT 是一个字一个字蹦出来回答的,到目前为止,已经过了差不多 7 分钟了。
由于我不了解 nodejs,对于加密的逻辑感觉不对,就提出这个问题。
ChatGPT 告诉我没问题,但是没告诉我这个加密的算法工作原理,所以我还是不理解。
我具体指出我的疑问,ChatGPT 告诉我了这个加密算法的原理,我明白了,确实没问题。
三、逻辑错误
第一个错误逻辑是 redis 读写的操作类型不匹配。
由于 GPT4 只回答了部分功能的代码,我们可以让 GPT4 再输出完整的函数。
四、启动服务
我是 nodejs 小白,所以怎么运行代码都不清楚,这个也需要问下 GPT4。
由于后台使用 redis 储存数据,也需要问下 redis 怎么部署和启动。
五、前端网站
后台服务起来了,前端网站还没开发。
这个需要 GPT 帮我们来操作。
GPT4 画了一个登录 UI 和注册 UI,但是一个页面同时显示出来了。
于是让 GPT4 修复一下,默认显示一个,点击切换到另外一个。
六、数据库调试
网站写好了,后台服务起来了,数据库也部署了,最后就是联调了。
不出意外,结果报错了。
PS:没想到已经把 GPT4 额度用完了,自动切换到了 GPT3.5。
切换后,回答竟然变成英文的了。
后来刷新了页面,自动切换到 GPT4 了。
当然,看回答的内容,实际上答非所问。
问的是具体的函数找不到,回答是可以把这个函数映射为另外一个函数。
在这个问题上和 GPT 拉扯了 十几分钟,最后我去 Google 了一下,找到了原因。
原因是版本不对,新版本与旧版本的 API 不同。
就这样,数据库成功连接上了。
七、重构,进入无底洞深渊
重构之前,使用 GPT4 做这个网站已经投入了 40 分钟了。
登录查询确实可用了,注册功能还没有实现。
当我开始加需求以及要求重构时,就进入了无底洞。
首先是网页加了一个需求,后台也加了登录态的需求。
接着,我要求把注册功能的接口补上。
注册功能补上后,一个代码文件就有好几百行了。
所以我要求 GPT4 进行重构。
重构后的代码,中间有大量的重构原因的解释,我回答了十几次 continue
才输出完整。
所以我让 GPT 重新梳理下,完整的输出代码。
输出代码,又是几十次 continue
才输出完整。
于是我想到一个方法,输出目录,一个文件一个文件的来让 GPT4 输出代码。
重构后的代码启动不起来,原因是依赖库没安装。
尝试运行几次,安装几次库后,我想到可以让 GPT4 把所有依赖库打印出来。
中间我又问了几次某些文件的代码。
结果运行的时候,发现报错了,原因是 GPT4 还在持续的重构,持续的调整目录结构,持续的自己加功能。
导致代码无法运行起来。
期间,和 GPT4 拉扯了有一个小时。
最后,我想到可以让 GPT 停止重构,禁止再调整目录结构。
虽说不要 GPT 重构了,但是后面让他打印某个文件的代码,还是一直在变化。
这样就导致整体代码无法运行起来,就这样我又和 GPT 拉扯了几个小时。
八、最后
最后我还是放弃 GPT4 来写代码了。
根据我的实际实战,总结如下:
如果只需要写一两个文件三四百行的代码,那可以一次就输出来,从而做到可以运行与使用。
网站的功能一旦增大,代码量自然也就增多,GPT4 需要很多次才能输出代码。
这样前后的代码就会存在很多不一致,从而导致网站始终无法运行起来。
总结简化一下就是 GPT 可以做简单的事情(几次问答即可解决),复杂的事情(至少几十次问答)就会前后不一致,从而无法解决我们的问题。
PS:看了下统计,周五我和 GPT4 对话,问和答总共用了124717字。
考虑到问答会带上上次的上下文,消耗的 token 应该有千万级别了。
《完》
-EOF-
本文公众号:天空的代码世界
个人微信号:tiankonguse
公众号ID:tiankonguse-code
本文首发于公众号:天空的代码世界,微信号:tiankonguse
如果你想留言,可以在微信里面关注公众号进行留言。