cursor rules 基础:Rules 的分类
AI 发展到今天,提示词工程仍然是很重要的一个命题,
特别是在代码开发这种场景下,我们对错误几乎是 0 容忍, 而 cursor 就是一个很好的被压榨对象
cursor 里的提示词体现为 rules,也就是规则 可以分为 2 种:[[Rules 的分类.canvas|Rules 的分类]]
- 一个是全局规则
- 另一个项目规则
咱们先看看全局规则
在用户设置完全局规则之后, cursor 在所有项目里的表现都会默认遵循这个顶层规则
例如我们想让它始终用中文输出,那么就在 cursor rule 里给它下达这个指令,然后 cursor 就会乖乖听话
我们还可以让它 cosplay 成大厂顶级工程师进行工作, 或者 pua 它,给它画大饼
你有没有发现,全局规则其实就是我们已经习以为常的系统提示词
那,项目规则又是什么呢?
他其实更像我们在使用 few shot 或者 思维链提示词的时候包含的回答示例, 那么在编程场景对应的就是各种代码示例、api 文档或者开发工作流
但由于在一个项目中,场景繁多,我们需要让 cursor 有针对性的使用项目规则, 而不是一顿乱用, 于是我们就可以自定义项目规则的使用时机, 比如,开发工作流时时时刻刻都要遵循的铁律,那么我们就设置为始终执行, 在基于 nextjs 框架进行开发时,识别到 tsx 文件时自动使用对应规则, 在处理与 supabase 交互的任务时,使用 supabase 规则, 而当开发进入测试阶段时,我们手动调用单元测试规则,
这样一来,针对性有了,对话上下文容量也省下了,一举两得
最后提一嘴,项目规则是放在项目根目录下的,这就意味着它会随着整个代码仓库被系统同步, cursor 在调用时会使用内置工具读取其内容,以判断是否使用,这就是它生效的逻辑
所以不必担心它是否过长, 它不会一下子把上下文撑爆,而是会被 cursor 阅读后,提取关键部分后使用