尝试使用一门没接触过的技术,用 cursor 来开发,就知道 cursor 的能力如何了。
我是学 Vue 开发的,这两天为了体验 cursor ,就尝试着用从没接触过的 React 技术栈进行开发:React+NextJS+TaildwindCSS+shadui/cn
体验是:
先讲 cursor 和 vscode+copilot 的对比。
1. cursor 的 AI 能力是基于整个文件库的,他能够自己创建所需要的文件,文件夹,能够生成脚本命令让你安装所需要的库,要实现某个功能,能够多文件地进行操作生成代码。这一点已经吊打 vscode+copilot 了,几年前体验 copilot 的时候确实被惊艳到了,然而这么久,copilot 的操作仍然只是局限于单个文件内的代码生成。这就意味着它注定被 cursor 碾压。
2. cursor 的许多功能细节也比 vscode+copilot 方便,无论是编辑器中的代码错误,还是终端里的运行报错,都能直接拖拽选中,然后一键丢进 chat ,以内置好的 prompt 解决问题。在这样的诸多细节上,cursor 的整合做的很好,让 AI 功能很好地整合进了编辑器中。不过这一点只是些小细节,并不是重点。
然后从开发体验来谈,近期有很多那种零基础用 cursor 做出某某产品的说法,因此我才决定用 cursor 试着做一个从未接触的技术栈的产品看看效果。
做一个英语听写网站,并不是什么功能很复杂,代码量很大的项目,目前用 cursor 开发到大概 40%,前面 20%,就从 0 开始用 cursor 编写功能代码的体验非常舒服,纯自然语言编写程序,按 cmd+i 打开 composer 后大概描述一下需求和功能细节后就能自动完成开发,基本没有问题。前 30%的开发,我甚至完全只看 cursor 的 composer 对话框,一点代码编辑都不用看,对话完按 tab 直接生成文件直接修改代码就完事,一两个小时就给我写了林林总总各个文件加起来共六七百行的代码,完成了 40%的功能开发,但慢慢的开始自动生成就不好用了,六七百行也不算很多代码,但就已经开始容易出 bug 了。
感觉问题主要还是对话上下文的理解,对代码的理解还是不够完善。接下来就开始要看代码,手动调整代码逻辑,人工介入编写代码了。并且接下来想要生成可用的代码,就要依靠更技术性的语言才能实现了,比如开始直接说想要设计一个什么什么样的功能,而现在的代码量,我必须说想要设计一个什么样什么样的功能,你需要用什么什么状态和什么什么变量来怎么怎么操作。不这么具体地描述的话,它就会自作主张新建一些用来控制状态的变量,然后没用上原有的状态,功能变得割裂冲突。
![image.png](
https://image-1251127356.cos.ap-guangzhou.myqcloud.com/202409091739690.png)
具体问题细节见图。
这次这个项目算是彻底使用 AI 从头到尾实现的一个项目,靠 claude+GPT 写产品稿,写数据库结构,做技术选型,用
v0.dev 做前端界面,用 cursor 写功能实现。目前还没完全写完,但也已经有了不少感想,后面完全写完以后再好好整理整理感想。
目前总体感想就是:现有的一大批 AI 开发产品并不完全是噱头,
v0.dev,cursor 等,对程序员进行开发能起到很大的效率提升,但想要靠它替换专业开发是痴人说梦,零基础用它只能实现简单基础的产品,复杂的代码还是需要专业的知识,哪怕能用自然语言开发,那也得靠开发的经验用更专业的技术实现思路来引导 AI 。纯零基础想靠他们完成一个产品可能性太低,但并非不可能,就像开盲盒碰运气,一直用笼统的语言调教 AI 多次,运气好就能撞对一次。
取代开发不可能,但很多接单平台上的小单,已经能直接靠它们来解决了。