网上查了很多Cursor使用说明和使用技巧,自己从注册一个账号到账号限额用完,总共体验了一个星期左右。我使用Cursor基于已有的一个uni-app项目做功能扩展,大模型使用的是网上评价最好的claud3.5,总体感觉不错,节省了一行行敲代码改代码的时间,也有些不足。
先说说好的方面:
1.自然语言理解能力:不管是英文还是中文,只要表达正确,大模型基本都能理解你的字面意思,就算有个别字打错,也不影响。当然,网上技巧文章里有很多固定的句式表达,比如:在xxx页面,我发现xxxx问题,期望是xxxx表现,请修改。这些句式能够帮助我们把问题和需求描述清楚,尽量按这些句式去沟通,应该会提高效率。
2.构建代码框架能力:只要描述清楚所需要的功能,大模型能够很快生成所需的多个程序文件,而且大都能够编译通过,没有语法错误,有些细节的功能也会帮我们考虑到。如果需求简单,有可能一次性完成。
3.代码文档理解能力:尝试让大模型通读一个中等规模的论坛类Uni-APP代码并编写readme文件,发现很快就能生成流畅而且条理清晰的文档,对APP的作用概述、功能构成、整体代码文件结构有非常准确的描述,而且还能给出改进建议。另外,在使用外部组件、API时,只要给出相应使用文档的访问地址和示例代码,大模型会自动阅读文档和示例代码,并结合项目需求生成相应的代码。
4.细节特征修改能力:只要提要求时描述得足够清楚细致,大模型基本可以完成细节特征的修改。比如我希望大模型帮我改一个树形结构,在不同类型的节点前增加相应的图标,只要让大模型读一遍树形结构组件的代码,给出不同节点图标的网址,大模型一次性就完成了。
再谈谈不足的地方:
1.知识面不足:我使用uni-app框架编程,目的是以后能够多端部署,发现大模型两个知识点不足,一是一开始就把我代码里面的script整个删了,后面深入开发偶尔也会给我整没掉,给他说这是vue语法的必要组成后,有段时间就不删了。二是不太了解uni-app插件,我用了UV的UI组件,在使用UV-ICON图标时,大模型反复提示我要在代码中增加组件的引用说明,其实没必要。
2.记忆力不足:对话上下文很重要,每次重新登录Cursor,都需要让它重新阅读代码和以前的对话上下文,不然前面刚改好的错误,它可能再犯:前面实现的特性,它会在实现其它要求时,把前面已经做好的特征给冲掉。有时读了以前存的对话上下文,读了整个代码也会犯错,就像脑容量不足,记忆力不佳的人一样。还是拿UV-ICON组件为例,就算通读了代码,让它自己添加组件引用说明,仍然把组件文件的路径弄错。这个问题可能是给使用者造成最大的困扰之一。你需要保存好每一条对话记录,说不定什么时候就得重新用一遍。
3.结果感知不足:我使用cursor写代码,编译通过uni-app官方的HBuilderX,模拟运行使用微信小程序开发工具,Cursor并不能直接获取编译警告、报错信息,以及模拟运行时的控制台信息、APP运行界面等,需要人工拷贝或进行描述,而且经过编译后转到小程序运行的代码又与uni-app代码不一样,拷贝过去错误的定位也不准确,存在信息差,影响工作效率。
4.整体贯通性不足;这可能也跟记忆力不足有关系,有时候改一个组件的特性,它就只改这个组件,然后提醒你要改调用代码,明明可以一次性改掉,它就不做,就算你提要求了也会漏掉。这也体现在改bug能力方面,经常是改一个问题,引起另外一个问题,产生一些报错,而且要改的这个问题还往往解决不了,把报错信息贴给它继续改,还是搞不定,这时你就得自己动手去加调试打印信息,可能只加一个简单的条件判断语句就能搞定。
最后给出三个建议:
1.版本管理很重要。一定要安装版本管理工具,比如git,随时保存能用的版本,不然啥时候一个新要求、一个小bug会产生颠覆性的变化,形成一堆无用代码。
2.自己要懂代码结构。主要代码框架可以让AI去快速生成,但自己一定要大概了解整体功能框架,主要函数和数据结构,在AI错乱的时候,还得自己上。
3.叙事能力很重要。一定要准确提要求,越细越好,不仅可以从功能层面提,也可以从代码、数据层面提,比如告诉它改哪个函数,某个字段怎么构成等,不描述清楚要求,AI会自己发挥,再结合一个记忆力不佳的脑容量,会给你惹出很多麻烦,有时候半天一天生成的代码都得推倒重来。
我也是Cursor的小白新手,对它的驾驭还在探索中,以上只是一些初步体验,希望大家多多指点。
先说说好的方面:
1.自然语言理解能力:不管是英文还是中文,只要表达正确,大模型基本都能理解你的字面意思,就算有个别字打错,也不影响。当然,网上技巧文章里有很多固定的句式表达,比如:在xxx页面,我发现xxxx问题,期望是xxxx表现,请修改。这些句式能够帮助我们把问题和需求描述清楚,尽量按这些句式去沟通,应该会提高效率。
2.构建代码框架能力:只要描述清楚所需要的功能,大模型能够很快生成所需的多个程序文件,而且大都能够编译通过,没有语法错误,有些细节的功能也会帮我们考虑到。如果需求简单,有可能一次性完成。
3.代码文档理解能力:尝试让大模型通读一个中等规模的论坛类Uni-APP代码并编写readme文件,发现很快就能生成流畅而且条理清晰的文档,对APP的作用概述、功能构成、整体代码文件结构有非常准确的描述,而且还能给出改进建议。另外,在使用外部组件、API时,只要给出相应使用文档的访问地址和示例代码,大模型会自动阅读文档和示例代码,并结合项目需求生成相应的代码。
4.细节特征修改能力:只要提要求时描述得足够清楚细致,大模型基本可以完成细节特征的修改。比如我希望大模型帮我改一个树形结构,在不同类型的节点前增加相应的图标,只要让大模型读一遍树形结构组件的代码,给出不同节点图标的网址,大模型一次性就完成了。
再谈谈不足的地方:
1.知识面不足:我使用uni-app框架编程,目的是以后能够多端部署,发现大模型两个知识点不足,一是一开始就把我代码里面的script整个删了,后面深入开发偶尔也会给我整没掉,给他说这是vue语法的必要组成后,有段时间就不删了。二是不太了解uni-app插件,我用了UV的UI组件,在使用UV-ICON图标时,大模型反复提示我要在代码中增加组件的引用说明,其实没必要。
2.记忆力不足:对话上下文很重要,每次重新登录Cursor,都需要让它重新阅读代码和以前的对话上下文,不然前面刚改好的错误,它可能再犯:前面实现的特性,它会在实现其它要求时,把前面已经做好的特征给冲掉。有时读了以前存的对话上下文,读了整个代码也会犯错,就像脑容量不足,记忆力不佳的人一样。还是拿UV-ICON组件为例,就算通读了代码,让它自己添加组件引用说明,仍然把组件文件的路径弄错。这个问题可能是给使用者造成最大的困扰之一。你需要保存好每一条对话记录,说不定什么时候就得重新用一遍。
3.结果感知不足:我使用cursor写代码,编译通过uni-app官方的HBuilderX,模拟运行使用微信小程序开发工具,Cursor并不能直接获取编译警告、报错信息,以及模拟运行时的控制台信息、APP运行界面等,需要人工拷贝或进行描述,而且经过编译后转到小程序运行的代码又与uni-app代码不一样,拷贝过去错误的定位也不准确,存在信息差,影响工作效率。
4.整体贯通性不足;这可能也跟记忆力不足有关系,有时候改一个组件的特性,它就只改这个组件,然后提醒你要改调用代码,明明可以一次性改掉,它就不做,就算你提要求了也会漏掉。这也体现在改bug能力方面,经常是改一个问题,引起另外一个问题,产生一些报错,而且要改的这个问题还往往解决不了,把报错信息贴给它继续改,还是搞不定,这时你就得自己动手去加调试打印信息,可能只加一个简单的条件判断语句就能搞定。
最后给出三个建议:
1.版本管理很重要。一定要安装版本管理工具,比如git,随时保存能用的版本,不然啥时候一个新要求、一个小bug会产生颠覆性的变化,形成一堆无用代码。
2.自己要懂代码结构。主要代码框架可以让AI去快速生成,但自己一定要大概了解整体功能框架,主要函数和数据结构,在AI错乱的时候,还得自己上。
3.叙事能力很重要。一定要准确提要求,越细越好,不仅可以从功能层面提,也可以从代码、数据层面提,比如告诉它改哪个函数,某个字段怎么构成等,不描述清楚要求,AI会自己发挥,再结合一个记忆力不佳的脑容量,会给你惹出很多麻烦,有时候半天一天生成的代码都得推倒重来。
我也是Cursor的小白新手,对它的驾驭还在探索中,以上只是一些初步体验,希望大家多多指点。