以下是关于如何用 prompt 使 Cursor 变得更好用的相关内容:
多一句嘴,在prompt方面,Devin有[一个文档](https://docs.devin.ai/learn-about-devin/prompting),我感觉特别有帮助,他会教你什么样的prompt在与Devin沟通的时候是最有效的。比如你需要明确定义成功的标准,比如要跑通某个测试,或者访问某个链接能对得上等等。这个和我们在[builder's mindset课程](https://maven.com/kedaibiao/genai)里面的观点不谋而合,而且当你把同样的原则应用到使用Cursor的过程中间的时候,也会发现Cursor一下子也变得聪明了很多,可以自主验证有没有完成任务并且进行迭代。
这是一个非常非常有用的特性,过往我在接手一个旧项目,或者学习一些开源项目的时候,不得不逐行主句地理解整个项目的代码,而现在我可以跳过许多细节,让Cursor帮我更快地理解仓库代码。1.生成单测很多LLM工具、平台都能生成单测,但Cursor表现的会更好一些。相对而言,GPT等工具的交互形式过于简单,只能一段一段将代码复制粘贴进对话框请求生成单测,这会导致两个问题:一是上下文缺失,难以正确推断下游模块的实现细节,进而影响生成效果;二是很难实现增量更新,例如你已经为你的代码模块生成过一份单测代码,但后续迭代维护导致单测过时后,很难借助GPT针对发生变化的这部分代码调整单测。而Cursor显然已经解决了这些问题。如前文所言,Cursor可以向量化整个代码仓库,因此它有能力自由索引仓库内的所有文件,在生成单测代码时,可以同时将目标模块以及模块对应的上下游模块代码同时提供给LLM,上下文信息越充分其势必生成的结果会更精确一些。举个具体例子,我在使用GPT等工具生成单测时,由于缺少Vitest相关语料,无论怎么调整Prompt,大多数时候都会返回基于Jest的测试代码,而我更喜欢用Vitest,所以每次都需要把代码复制出来,一通调整后才能放入仓库内运行;而在使用Cursor时,只要使用适当的Prompt,多数时候都能返回基于Vitest的结果,调整成本要小的多,例如我常用的Prompt:
大模型有了,特色功能有了,还差什么呢?当然就是,提,示,语!用好了提示词还能给大模型提提神!Cursor支持使用.cursorrules文件设定项目的系统提示词,也就是说针对python、java、vue不同的语言可以设定不同的Prompt。但当做的项目多起来之后,管理那么多的提示语就不太方便了,又回到复制黏贴的无限循环了。那怎么能行!@AIChain花生做了一个Cursor插件解决这个问题,按照插件之后就可以为每个项目选择不同的.cursorrules文件,现在已经支持:如果你觉得这些提示语还不能完全cover你的需求,你还可以把插件下载到本地,替换成自己喜欢的提示语。也可以从下面这两个网址淘淘宝:提示词1:https://cursor.directory/提示词2:https://cursorlist.com/这里我还想额外介绍一个提示语小技巧:给已有的提示语追加上下面一个规则这样一来,模型在搜索资源和思考时会默认使用英语,回复就转换成中文。如果想再灵活一点,那就reply in query language,这样你问其他语言的时候,模型照样能Cover。(技巧来源@eviljer)[heading1]