

ChatGPT驱动开发
source link: https://qingwave.github.io/chatgpt-driven-development/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Oct 30, 2023 · 工具
ChatGPT驱动开发
最近公司在搞头脑风暴,研究如何将项目与AIGC结合起来。平常也经常使用New Bing
、ChatGPT
做一些辅助开发,大部分是作为一个更智能点的搜索引擎,这次想做个更有意思的尝试,看看能不能通过ChatGPT
完全独立地实现一个可用的前后端项目。
没有什么特别明确地需求,也是灵光一闪,决定让ChatGPT
写一个自己的套壳网站。
首先提了个很概括的需求,ChatGPT(3.5)回复的很详细,包含了python
的后端和前端的代码,还额外提供了安装依赖、运行方式等。
![]() | ![]() |
我对Flask
并不熟悉,运行直接报错,继续提问,根据回复添加了模板目录可以正常运行。

第一次运行结果如下图,可以正常调用openai API并在界面上显示:

第一版界面太简单了,所以我提出了页面美化已经连续对话的需求,ChatGPT
基本能够根据需求做一些调整,但也会遇到一些报错,比如引用过期的API、函数未定义等,通过不断询问也基本能够修复。
添加CSS后,界面如下:

界面做了一些调整,比如居中,按钮的颜色等。但还需要更精准的调整,提出的需求如下:
- 聊天框占宽度屏幕的1/2,左右
padding 80px
,输入回车可发送消息 - 激活聊天框 button显示为绿色,默认是灰色
- 输入框和对话框对齐,高度和屏幕一致,显示内容包括用户名
- 界面满屏,用户输出背景的是白色,gpt输出的是灰色
调整UI的过程,非常痛苦,必须给出精确的描述,ChatGPT才有可能生成符合预期的代码,一些非常小的修改需要好几轮对话才能解决,最终效果如图:

相对于UI修改,添加逻辑相对简单,也比较符合预期,需求如下:
Chatgpt web
应用增加左边栏,显示对话列表,可以创建新对话,每个对话需要存储到浏览器- 实现点击
New chat
按钮,添加一个对话到侧边栏,多个对话时,最多只有一个对话的edit、delete按钮是激活的 conversationList
旁边显示编辑和删除按钮,可以编辑title,删除item
![]() | ![]() | ![]() |
多次调整后得到,还是比较符合预期的

示例中生成的代码都放在了Github中,甚至项目中的ReadMe
都是由ChatGPT
生成的。
通过这次实验,我们确实可以通过ChatGPT
来开发一些小型项目,不断地通过需求 -> 验证 -> 修改,虽然中间可能会出了不少小错误,但最终达到一个可用状态。
当然前提是需要一个明确地需求,或者说对于ChatGPT
驱动开发我们唯一要做的就是写一个合适prompt
。对于逻辑型的功能来说相对好描述,但是对于UI之类的,如果没有量化的数据,很难达到预期,但设想以后是不是可以通过一些原型工具一键生成代码了。
那么,有了类似ChatGPT
的工具,我们离失业还有多远呢…
Explore more in https://qingwave.github.io
</div
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK