cursor懒人开发的一点思路

53 阅读5分钟

用了 cursor一个多月了,有一点使用心得分享一下。

如何写好一份提示词

收束

cursor,感觉你让他干啥他都能干,但是想要符合你的预期,还是需要下点功夫的。 之前组长在分享一个使用 ai 的经验时说,你得先把 ai 当成人,比如把他当个实习生,如果是你让他做一件事,你会怎么和他说?

  • 你可以:这段代码你可以参考一下**文件;
  • 你还可以:这个功能的可以这么实现,第一步先***,之后***,最后***就好了。

我觉得提示词更像是是写给 ai的工作指南,因此你需要把之前,存在你脑子中的方案,工作流程。生成一份提示词。这份提示词里应该包含丰富的上下文,任务目标、详情等。而这些内容的作用就是收束。

提示词的作用不是让它更聪明,而是让他更可控。而想要让它变得可控,那我们就得收束它能做的选择。通过具体的约束条件,将 ai 尽可能的从无限的选择里,引导到你期望的范围内。

比如你只告诉他,让它画一个图表,他的框架选择、库选择、数据选择、样式选择等都有很多,而当你明确告诉它需要使用react+g2画一个展示月度销售数据的柱状图之后,他的选择就被大大收束了。输出也就更可控了。

基于这个原则,提示词应该:

  • 背景收束:给它提供全面、详细的初始上下文如当前项目技术栈、业务背景等。
  • 步骤收束:将复杂任务分解成ai 更容易执行的小步骤,明确每一步的输入、输出和验收标准
  • 输出收束:明确代码语言、文件结构、开发规范

image.png

但是像上面这样,把要做的每一步都写出来,ai 的输出可能是符合预期了,但是这也太费人了, ai 也就没有存在的意义了,有这功夫还不如自己写。

开发方案版提示词

假设一下人与人的工作流程,代入我和组长的交流场景:

人人协作流程:

  • 组长:说:你把项目的 react库从 17 升到 18,先写个方案,统计下成本。

  • 多轮循环

    • 我:库吃库吃进行需求调研,搜集信息,写方案。提交复审(可能存在遗漏,偏差)
    • 组长:复审方案,交流细节。
  • 多轮循环结束。

  • 组长:拍板,说:就按这个干吧。

基于这个思路,代入到现在的开发模式。在面临较复杂需求时,如果要写几百字的提示词,一步一步的告诉 ai 该怎么做也是很得不偿失。这个时候,我们可以让 ai 发动他的主观能动性。模拟上面的工作流程,先用元提示,让它出一个方案提示词,咱们来复审。

人 + AI协作流程:

  • 我:说:你把项目的 react库从 17 升到 18,先做个调研,写个方案出来。

  • 多轮循环

    • ai:写方案,搜集信息。提交复审(可能存在遗漏,偏差)
    • 我:复审方案,细节交流。
  • 我:拍板,说:就按这个干吧。

当然,这份方案针对的对象变了,它的作用也变了,我们需要这份方案着重描写具体的执行部分。收束 ai 的行为。确保到了真正开发时,ai 不会跑偏。

开发方案提示词的优点

  • 避免理解偏差,提高可控性:迫使 ai 深入思考实现细节,方案中需要提供实现这个需求的详细流程,足够我们收束 ai 的行为。明确需求边界,避免理解偏差。
  • 参与方案指制定,便于代码审查:当ai 的代码编写提升到一定行数之后,复审 ai 写的代码是一件很头疼的事情,而因为ai 的不靠谱性,又不得不详细审查。而当我们参与了方案的拍板,使我们对实现流程有了一定的了解。对我们审查代码也提供了不小的便利。

开发方案提示词的缺点

  • 费 token:多轮交互会消耗更多的API调用
  • 费时间:相比直接开发,增加了方案制定和审查的时间成本

方案规则的使用场景

以前的开发中,开发方案也不是每个任务都要写的,只有有足够收益的时候,比如说一些较为复杂或影响面较大的需求,用在这里也一样,我们需要在需求的复杂度和效率之间找一个平衡点。

cursor 论坛上找到的规则模板: riper-5

在 cursor 中看到有大佬提个了一个规则,这份规则具有'研究'、'创新'、'计划'、'执行'、'审查'5 个顺序步骤模式:

  1. 研究步骤:基于提出的需求对项目进行调研,并抛出调研结果,告诉你它了解了哪些东西,并且根据需求初步规划方案;
  2. 创新步骤:基于上一个步骤,提出多个思路;
  3. 计划步骤:基于上一个步骤以及你的反馈,制定详细计划。
  4. 执行步骤:基于上一个步骤,按计划编写代码。
  5. 审查步骤:审查代码是否符合预期。

每个步骤需要确认没问题后,手动按顺序进行切换,确保最终的代码是你想要的样子。

forum.cursor.com/t/i-created…

例子

项目中 react-dnd 库升级(riper 规则案例)涉及 5 个文件;+68 行;-56 行;

检查 项目连通性优化(riper 规则案例)涉及 7个文件,+180 行; -16 行;

总结

作为现阶段ai的使用者,ai的聪明程度不是我们控制的,或者说它已经很聪明了,而我们要做的也不是让他变得更聪明,而是更稳定,更可控。因此我们要收束它的选择。

最后

提示词这种东西,感觉自己琢磨的话属于闭门造车,容易钻死胡同,你们有什么写好提示词的方法,可以一起沟通一下。