最近cursor很火,作为一个用了多半年的深度用户,快速谈下我的感受。
我是去年先付费买的github copilot,后来切换到cursor,我现在的代码八九成都是AI写的,做为一个程序员,说下我是怎么用AI辅助编程工具的:
1、自从有了AI编程工具,我基本上很少大块大块的亲自写代码了。最早的时候我是用github copilot+chatgpt,因为copilot补全能力还可以,但是大块代码的生成能力不行,还是用付费GPT4写的更好。而且同样的提示词,在copilot上写出来的效果就是没有chatgpt好。
2、代码补全是一个很重要的能力,cursor最早没有代码补全能力,所以我没有用。后来cursor单独拉了分支cursor++,新增了代码补全,所以我才有了尝试一下的动机。最近几天cursor新版本有bug,我们的代码补全一直有问题,搞得写代码都没有乐趣了。
3、尝试后发现cursor两个能力很重要:有GPT4、能够修改整块代码并且标注修改点。用了之后不错,所以就彻底切换到cursor了。
4、现在基本写代码都在cursor,基本不用chatgpt,因为cursor上代码生成的能力,和chatgpt差不了多少,并且cursor还有上下文,不用我把上下文拷贝到chatgpt上了。
现在在cursor上写代码,我的原则是,能用AI完成的,我绝对不动手,程序员一般都比较懒。现在我的代码,应该百分之八九十都是AI写的,包括一些小的调整,我现在也不动手,让AI来做。
5、大家都说claude的模型代码能力更强,官方默认也用了claude,但是就我自己的体验,代码生成能力两个差别不大,但是gpt4o对人的意图理解非常强。有一次一个修改,提示了三次claude都没理解我的意图,同样的提示词gpt4o立即就能够理解。
6、有些人说AI写的代码有很多的bug,就我自己的经验,AI写的代码bug数比人少。
7、为什么AI编程工具大家都喜欢?我一直在给我身边的程序员推荐用cursor,主要有两个原因:
一个是超值,之前要一两天完成的工作,特别是我不熟悉的领域,用AI几分钟十几分钟搞定;
另外一个,也是最重要的一个,就是心流,程序员都知道,写程序是一项让人沉浸其中、给人带来高质量心流体验的工作(否则就没有那么多人喜欢编程了),而AI编程工具的作用,是尽量的保护心流的连续性,不让他断掉。
8、AI编程工具对职业的影响:现阶段,我认为AI编程工具利好老程序/架构师、没有编程经验的人,而对初级程序员不怎么友好:
AI编程工具现在还解决不了架构的问题,一个复杂项目,还需要有一个很好的架构师来把关。但是这个架构师可以用AI编程工具提高自己的生产力,或者就不需要那么多的程序员来辅助他了,毕竟增加一个人,沟通成本也会相应增加。
没有编程经验的人,比如产品经理、运营或者编程爱好者,都可以很快的用这个工具来做一个完整的应用,快速的验证demo,而之前他可能需要程序员的支持才可以。
对初级程序员,最直接的影响是岗位需求可能没有那么多了。这些人要想不被淘汰,要么赶快学习架构,要么赶快学习业务。
最后谈一下,我理想中的工具应该是什么样子的:
1、复杂工程的理解和支持。用cursor来开发一个小项目是很爽的,但是对大型工程,特别是动辄几十万百万的代码,cursor发挥的作用就会降低。做过复杂工程的人都知道,真正写代码的时间,是非常少的,很多的时候都是在分析、定位问题,写代码可能就一会会。
2、全链路支持。开发的链路其实非常长的,代码只是其中一环。从需求、设计、代码、测试到上线后的运维,每个环节都有大量的工作。比如,增加一个需求,是否能够自动找到相关的数据库增加字段?再根据数据库的处理代码修改代码逻辑?最后修改前端展现。
对,我想说的是,相对于AI辅助编程,AI辅助软件工程更能解决问题,同时难度也更大。期待未来会有这样的产品。