低人工开发 Django 项目

感受 AI 时代的魅力!
你能获得什么?
如何使用 AI 工具,在几乎再自己不下场写代码的情况下,完成一个项目。
技术背景
典型 Java 开发猿。没有任何 Django 背景,Python 用的不多,没有配置过 GitHub actions,有 docker 基础,有 Linux 基础。
以上就是我的技术背景,接下来我们就尝试在没有任何 Django 知识和少量的 Python 基础的情况下,来开发一个 Django 项目,并使用 GitHub actions 部署到服务器上,使用 cloudflare 等配置域名和 https。
项目背景
我希望能够自动拉取我的主页 pinterest 图片,并提供提供接口可以获取我的今天的主页 feeds 图片。
技术调研,这个就不展示了,可以自己去用 ChatGPT 去调研各种爬取 pinterest 的项目,选择自己喜欢的即可。
我这次选择的是 https://github.com/sean1832/pinterest-dl
如何更好的使用 Cursor?
- 对于统筹全局的,或者改动比较大的,比如我要初始化项目、部署项目、完成一个比较大的功能、或者重构一个比较大的功能等等,都应该先让 AI 做规划,写出文档,然后我们人工去 check 文档,一步步于 AI 配合,做出适合我们需求的计划文档。
- 对于比较小的需求,我们自然可以直接告诉 cursor 我们想要什么。如果 cursor 不能够一次性写对,那么或许我们应该@更多文件,更清晰的描述自己的需求。该描述的“多清晰”,或许在我们使用 cursor 的过程中,慢慢会形成一种感觉。
- 抑制自己亲自动手的冲动。大胆让 AI 去改 bug,不要看到报错,就自己手痒,自己亲自动手改,把错误贴出来,让 AI 自己手动修改,并且如果这个错误是通用的,比如工具类的使用等等,我们可以让 cursor 自己总结 cursor rule 文件。
- AI 瞎写、乱写,鬼打墙。有些工具库,网上的资料不多,那么 AI 就很容易瞎写。这时我们应该帮助AI,或者说提醒 AI,让他先去网络上爬取这个工具库相关的文档,然后放到本地项目中,每次在生成代码时,都应该参考本地的工具库文档。
- 过于勤奋、过于懒惰。有时 AI 会过于勤奋,比如生成 test 时,搞出一大堆。有时又会过于懒惰,让他精简文档,把应该写的,都不写了。这个只能自己慢慢磨,自己慢慢总结出各种 cursor rule 之后,我们会配合的更好。
视频描述的项目地址:
视频地址:

缺点
关于视频制作,如果我想要得到更短的视频,更清晰的视频骨架,那么我需要提前排除各种坑,然后录出来完美视频。这个视频是如此丝滑,好像 AI 非常厉害,总能一步到位的把所有事情都做好。或者使用者非常厉害,总能一步到位的吧 prompt 写完美。
实际上这已经是我第二次再写这个项目了,我仍然会遇到不少坑。即使我提前预判 AI 可能出幻觉,提前把项目文档下载下来,但是仍然会遇到 AI 乱写的情况。当项目的文档没有介绍到的使用方法,AI 就不知道怎么使用了,然后开始各种胡乱的尝试,这时我们应该看看项目的源码来排查问题。当 AI 遇到 ssl 问题时,仅仅只看到当前项目,然后就各种尝试,没有看到有用户的电脑是什么系统,在这个系统下会出现怎样的问题。不知道用户默认使用的 zsh 而不是 bash,导致很多时候安装了依赖,然后总是报错。有时还很很倔强,我告诉他应该用 CLI 的方式,他还是会用 api 的方式,仅仅是因为我切换了新的 chat。
这不是一个好的教学视频,这是一个充满坎坷的视频。我也完全不知道到下一步会是怎样,我只是随机应变。
我想大家应该能看到,当前人类仍然要做决策者、修复 bug 等工作,cursor 还是太局限了,当出现 bug 的时候,他太着急于各种尝试,他应该仔细想想自己应该怎么做,而不是各种随机的尝试。比如我们在遇到各种 api 报错时,他应该提议让我们去现在那个项目的源码,然后让 AI 自己去看看源码然后给出解决方案。当出现 ssl 报错时,不应该局限于当前项目,而应该看看用户的电脑环境,命令行环境是怎样的,然后给出方案。
但即使如此,AI 仍然极大的加快了我们的开发进度、极大的增强了我们的开发信心。以前不敢开动的项目,现在完全有自信开启,因为即使知道 AI 可能出错,但是我们坚信问题最后都能解决。主要给他合适的上下文,加上我们做程序员的养成的直觉,问题总是能够解决的。