Cursor进阶技巧:我是怎么把AI对话变成自动化流水线的

0 阅读8分钟

Cursor进阶技巧:我是怎么把AI对话变成自动化流水线的

用Cursor三个月,我从"问一句答一句"进化到了"丢需求等结果"。这个转变花了我不少时间踩坑,今天把经验整理出来。

先说个真实的场景

上周五下午,我要给团队接一个海外商超小程序,需求文档写好了,后端接口定义好了,唯独没人手写前端。

怎么办?按照老思路,我得自己写,或者把需求拆成几十个小任务,一个个问AI。

但我没有。我新建了一个cursor聊天窗口,丢进去:

  • 完整的PRD文档
  • 设计稿截图(截图,不是Figma链接)
  • 后端接口文档
  • 我自己写的组件命名规范

然后问了一句:"先帮我把登录注册模块做完,其他的我按优先级列好了,你按顺序来就行。"

三小时后,登录注册做完了。

两小时后,商品列表页做完了。

我没有盯着屏幕,每隔五分钟切过去看进度。Cursor自己知道上下文,自己往下推进。

这就是我今天要说的:怎么把Cursor从问答工具,变成自动化流水线


核心思路:一次性给够上下文

Cursor的Chat和Compose是两个不同的工具,用法完全不一样。

Compose是用来改代码的,你需要先选中代码,再告诉它改什么。适合局部优化、bug修复、函数重构。

Chat是用来聊需求的,你可以丢文档、截图、代码片段,让它帮你理解项目。但问题在于,很多人用Chat的方式跟用Compose一样——问一句答一句,问完就结束。

这不是Cursor的问题,是使用方式的问题。

我的经验是一次性给够上下文,让AI自己推演后续任务。

具体怎么做?

1. 建立项目知识库文档

我会在项目根目录放一个cursor-context.md,内容是这样的:

# 项目技术栈
- 前端:Taro + React
- UI组件库:TDesign
- 状态管理:Zustand
- 接口请求:Taro.request

# 目录规范
- src/pages/ 页面
- src/components/ 公共组件
- src/store/ 状态管理
- src/utils/ 工具函数
- src/api/ 接口定义

# 命名规范
- 组件名:PascalCase(如 UserCard)
- 工具函数:camelCase(如 formatDate)
- API函数:api + 业务名(如 apiGetUserInfo)

# 已有组件
- components/Button 基础按钮(已封装 loading、disabled 状态)
- components/Card 卡片容器(支持 title、extra、children)
- components/Empty 空状态组件

# 接口规范
- 所有请求走 /api 前缀
- 统一响应格式 { code, data, message }
- 错误码:401未登录,403无权限,500服务端错误

这个文件不用写得太详细,关键信息列清楚就行。

每次新开Chat,我第一件事就是把cursor-context.md的内容丢进去。然后才是需求。

2. 用"任务列表"模式推进

很多人在Cursor里问问题是一个个来的:

  • "帮我写个登录页面"
  • "登录页面做好了,接下来写注册"
  • "注册写完了,写个找回密码"

这样效率很低,因为每次对话结束,上下文会丢失一部分。而且你得一直盯着,等它做完才能推进下一步。

我的做法是:一次性把任务列表丢给它,让它按顺序做。

我有一个海外商超小程序的完整需求,PRD和接口文档都准备好了。

按这个顺序帮我实现:
1. 登录注册模块(登录、注册、找回密码)
2. 首页模块(轮播图、分类入口、推荐商品)
3. 商品详情页(图片、规格选择、加购)
4. 购物车模块(列表、数量编辑、结算)
5. 订单模块(下单、列表、详情、取消)

每次做完一个模块,告诉我你做了什么,我确认没问题再继续下一个。

这样做有几个好处:

第一,上下文不会断。Cursor可以记住之前做的东西,继续往下做。 第二,有检查点。每个模块做完你能review,不会出现做完了才发现方向跑偏。 第三,你可以随时插队。如果做到一半有紧急需求,直接插入,Cursor会记住当前进度,做完紧急任务继续回来。

3. 善用"继续"指令

Cursor有个隐藏功能:当一长段代码输出到一半停下来的时候,你输入"继续",它会接着往下写。

这个功能太有用了。

有时候Cursor要写的代码很长,会超过输出限制,它就会停下来等你的下一步指令。这时候直接说"继续",不要重新描述需求,它会接着之前的上下文继续。

更进阶的用法是,你可以在一个Chat里多次使用"继续",让它连续输出很长的内容。这样做的好处是上下文完全不会断,AI对你的项目有持续的理解。


场景化技巧:我是怎么用这些方法的

场景一:接手别人的项目

上个月接手了一个离职同事的微信小程序项目,代码写得比较乱,没有注释,文档也没有。

我在根目录建了cursor-context.md,把技术栈、目录结构、业务逻辑梳理进去,然后丢给Cursor让它帮我做code review。

Cursor花了几分钟读完了整个项目的代码,然后给出了一份结构化的分析报告:

  • 哪些模块可以复用
  • 哪些地方有潜在bug
  • 哪些逻辑写得复杂可以简化
  • 代码风格不一致的地方

我按照它的建议,用两周时间把项目重构了一遍。接手一个陌生项目,从来没有这么快过。

场景二:快速出原型

跟客户沟通需求的时候,传统的做法是等产品经理出原型设计,开发再介入。

我换了流程:产品经理写完PRD,我直接丢给Cursor,让它生成一个基础的页面原型。

代码可能不完美,但足够用来演示。

客户看完原型提出修改意见,我当场在Cursor里改,改完刷新页面让客户看。

以前改原型要两三天,现在半小时搞定。

场景三:批量处理重复任务

上周需要给项目加15个页面的骨架屏(loading状态)。

如果是以前,我要一个个页面去加,每个页面都要写一段差不多的代码。

我直接在Cursor里说:"给我写一个Skeleton组件,然后在所有用到List的页面引入它。"

Cursor帮我:

  1. 写了一个可复用的Skeleton组件
  2. 在15个页面里都加了骨架屏
  3. 统一了loading状态的样式

整个过程不到一小时。


避坑指南:这些坑我踩过

坑一:上下文丢失

Cursor的Chat有上下文长度限制,超过一定量之后,它会开始忘记之前说过什么。

我的解决方案是:长任务分阶段做,每完成一个阶段,我主动总结一下进度,下个阶段开始时再把总结丢进去。

# 第一阶段总结
已完成:
- 登录注册模块全部完成
- 用户信息模块完成80%,头像上传接口还没接

待做:
- 用户信息模块剩余20%
- 首页模块

# 第二阶段开始
基于上面的进度,继续做用户信息模块,完成后进入首页模块。

坑二:AI写的代码跑不起来

Cursor有时候会写一些看起来对但实际跑不通的代码,比如用了不存在的API,或者引用的组件没有导入。

我的做法是:关键代码让Cursor解释一下实现逻辑,我自己判断是否可行。

如果是涉及第三方库的部分,我会让Cursor给我代码,然后我去官方文档验证一下方法名和参数是否正确。

不要完全相信Cursor的输出,尤其是不熟悉的领域。

坑三:代码风格不统一

Cursor写的代码跟我项目原有风格不一致,看起来像两个人写的。

解决方案是:在cursor-context.md里加一节代码风格规范,比如:

# 代码风格
- 组件用函数式写法,不用class
- 状态用useState,副作用用useEffect
- 条件渲染用三元,列表渲染用map
- 样式用行内style或TDesign组件,特殊情况才用className
- 注释:复杂逻辑必须加注释,简单逻辑不加

这样Cursor输出的时候会自觉遵循你的规范。


进阶:让Cursor理解你的项目架构

cursor-context.md只是基础玩法。更进阶的做法是,让Cursor定期帮你梳理项目结构。

比如每隔一周,我会问Cursor:"帮我梳理一下当前项目的架构,有什么可以优化的地方。"

它会分析:

  • 目录结构是否合理
  • 模块之间的依赖关系
  • 是否有循环依赖
  • 哪些文件太大需要拆分
  • 哪些代码重复可以抽象

这是一个持续迭代的过程。项目在长大,Cursor对它的理解也在加深。


最后

把Cursor变成自动化流水线,关键不是技巧,是思路的转变。

从"问一句答一句"到"一次性给够上下文",从"盯着它做完"到"丢任务等结果",这个转变花了我大概一个月时间。

现在的感受是:我更像一个项目经理,把任务丢给AI,让它按我的规范推进。我负责review和决策,它负责执行。

效率提升了多少我没细算,但可以确定的是,同样时间内我能推进的项目数量比以前多了不少。

如果你也在用Cursor,不妨试试这个思路,看适不适合你的场景。