【awesome-AI-tools】【Cursor】Cursor快速入门
笔记
AI问答、或使用Cusor的Chat、Composer功能进行编程时非常重要的四个点
掌握这四点,可以助你有效规避AI对你的问题的表达产生误解,而作出不够精准的,甚至是牛头不对马嘴的回答。
第1点:让AI复述需求指令
这样做的好处是,我们能快速确认AI是否精准理解了我们描述的需求。
示例:
基于XXXX,请帮我实现 YYYYYY..... 需求。请你先复述一遍我的需求再进行答复,让我能确认你真的理解了我的需求指令。
第2点:明确需求辐射范围
无论是用Cursor的Chat还是Composer功能,在发出一个需求指令之前,一定要尽可能地让这个需求指令足够小,足够单一化。不要让AI猜你要做什么,要有足够的针对性,并且要明确这次指令的范围,最大程度上缩小这个指令的辐射范围。
特别是在AI编程领域,我们提出一个问题或者说需求指令时,应该尽可能的携带上相关的代码或文件,并告诉AI要在什么范围内做修改,让AI能针对性去判断并修改。这样明确范围的指令,AI的答复会准确很多,作出的修改也不会影响到一些不该修改的地方。可以一定程度上规避一些乱改的问题,这也是Cursor在AI输入框内置很多功能的原因,比如可在Cursor的输入框选择一个或多个代码块、文件、文件夹等,或使用@Codebase
让AI基于项目去检索。
示例:
是的,你对我的需求理解正确。你可以在 @lib 中写接口,在 @locale 中写posts页面,在 @components 中写组件,
在 @messages 中添加国际化的语言数据,在 @types 中写类型文件。接下来,你可以帮我生成代码了。
第3点:需求拆解
如果你的需求指令不方便细粒度到足够小,一个个单元地去提问,比如你有一个比较大的需求,但又不方便把它拆开一步一步地去问Composer,那这个时候你可以在一次问答中,把这个需求一条一条地写清晰,作个排序,然后用无序或有序列表的这种方式给AI,这种结构能让AI更清晰地理解你的需求。
第4点:把AI当成小孩子
虽然AI模型在知识领域非常强,但在沟通理解能力上,只是个小孩子。特别是中文,要知道中文的表达,经历了上下五千年的持续变更,想要让AI的理解达到一个成年人的地步,并不简单。因此在跟AI沟通时,我们应尽可能的逻辑清晰,描述问题时要加以引导,像我们前面提到的第1点,让AI复述需求指令其实也是这个意思。
比如我们在描述一个需求时,除了清晰有逻辑地表达需求点,让AI复述之外,还可以将自己的解决思路也一并发给AI,必要时,你还可以给他发送一些示例参考。这样的表达,会引导AI向自己想要的结果靠拢。
小结
以上4点,在与AI对话的过程中,其实也是在锻炼大家的解决问题的思路,通过不断地尝试,我们也可以从中学到更清晰表达需求的能力。这也可以回答为什么在使用AI编程的用户中,对AI有更深层次的使用理解的人里,大部分不是程序员,而是产品经理的原因之一。产品经理对问题、对需求的理解往往更全面,表达也会更清晰一些。
Cursor的整体使用思路
在使用Cursor时,如果对需求不是很明确,不应该直接使用Composer生成代码。
而是要现在Chat模式中和AI交流你的想法,先向AI描述你的需求,让AI对你的需求有个基础了解,
然后去问AI如果想要完成自己的需求,可以选择哪些方案,并且可让AI阐述一下,各个方案的优缺点,选择了对应的方案之后,
你就可以在Composer中,重新编辑你的需求(或者也可以在Chat模式中,让AI帮你整理你的需求并给出一份提示词),让AI在你的需求和方案框架内生成代码。
比如我想做一个官网,如果你直接在Composer中说想做一个官网,这是一句很泛化的指令,明显是不合适的,我们应该先使用Chat模式跟AI沟通需求、拆解需求,比如拆解成一个个功能Feature,把这些Feature通过Notepad单独记录下来,然后按照需求步骤,在Composer输入框中,选择对应的 Notepad去完成需求。在这个过程中,如果Composer的生成有问题,你可以新建一个Notepad记录问题,在Chat聊天框中,可选中这个Notepad去询问,得到方案之后再更新Notepad,最后回到Composer中,选中该Notepad去做代码生成。这样虽然麻烦些,但对项目的把控程度是很高的。
如果你已经有了一个已知项目,想使用Cursor辅助开发这个项目的后续需求,包括改一些BUG等等。
那在Cursor打开项目之后,
- 第一,应先让Cursor检索整个项目,帮你生成一个
.cursorignore
文件,然后再.cursorignore
文件中编辑一下,添加上你想要索引忽略掉的文件。然后再点击设置->Features->Codebase indexing->Resync Index
重新索引下; - 第二,应把项目相关的在线文档,比如一些需求文档、接口文档及其它开发相关的一些技术文档,全部录入到Docs里以作备用;
- 第三,应在项目根目录下,新建一个
.cursorrules
文件,并且去设置你的项目规则,所谓项目规则,本质上相当于一份Prompt前置词,如果不知道怎么写,你完全可以在Chat模式中,@
对应的文档,比如一些项目文档、需求文档等这些,然后让Cursor检索整个项目,帮你生成一个.cursorrules
文件,最后你再根据AI生成的.cursorrules
文件,自行修改下即可。
这里的.cursorrules
,其实只是为了让AI在回答问题之前,都参考一下.cursorrules
文件中的内容,作为上下文贯彻到AI回答中。所以你只需要想如何基于项目束缚AI,让AI的生成范围尽可能小,把这些东西写进.cursorrules
文件中就可以了。
这里讲的都是根据需求生成代码的工作流程,如果是Bug修复,也是同样的,需要你在Chat模式跟AI沟通一下,通过对Bug的描述,
获得一些Bug产生的可能性和修复方案。
如果之前没有这个Bug,因为某次代码提交而产生了这个Bug,你就可以在Chat模式下使用@Git
,选中没有Bug的那次提交,加上一些描述,就可以让Cursor AI检索差异,更精准地获得一个Bug产生的原因和修复方案。
沟通完后,如果是一个简单的Bug修复,直接向Cursor阐述,让它修改即可。如果是一个相对复杂的Bug修复,则还是创建一个Notepad,在这个Bug修复的Notepad中,详细阐述Bug产生的可能性和修复方案,然后在Composer中@
对应的Notepad,让AI生成代码修复这个Bug。
综上,你会发现,无论是根据需求进行开发,还是相对复杂的Bug修复,都选择了创建Notepad。
这样做的好处有很多,Notepad中你可以直接写Markdown格式,按照步骤,罗列你的需求,比你在AI输入框中写需求要清晰很多。
不要觉得写文字太麻烦,因为AI编程,就是使用自然语言去编程。
而且Notepad文件我们可以反复修改,并且可以保存。每次重大修改都会有记录。如果将来有一些联动性的问题产生,这些Notepad记录,都是提供给AI理解的最好的素材。
项目开发完后,可以统一将项目的这些Notepad记录归纳到一个文档中封存,如果有一天再次打开该项目,那我们就可以直接导入Docs文档,通过这个Docs文档,可以让AI快速理解这个项目。一定要记得及时归纳保存,因为Notepad并没有存储在你的项目文件夹中,而是存储在Cursor的缓存中,你换个设备就没了。
总结起来就是:有任何不懂得东西都在Chat模式问AI,沟通清楚了,再在Composer中进行代码生成。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了