一个真实项目里的 Cursor 工作流
把 Cursor 用在真实项目:只读理解、计划、小步修改、验证、审查、沉淀规则。
真实项目里的 Cursor 工作流不是"让 AI 一次性做完"。商业级用法是一条可观察闭环:读现场、定边界、写计划、小步改、跑验证、看 diff、做 review、沉淀规则。
本章目标:你会把前面 11 篇串成一个可以直接落地的项目流程,并知道每一步用哪个 Cursor 入口、留下什么证据、什么时候停止。
1. 开始前:先看现场
不要在未知工作树上直接启动 Agent。
先确认:
- 当前分支是什么。
git status里有哪些已有改动。- 哪些改动不是你或 Cursor 做的。
- 任务允许修改哪些目录。
- 验证命令是什么。
- 是否有其他人或其他 agent 同时在改。
如果有并行改动,任务 prompt 必须写清“不触碰某些路径”。提交时也要精确 stage,不能 git add .。
2. 第一步:Ask 只读理解
第一条 prompt 不要要求修改:
只读分析这个任务,不要修改文件,不要运行写入命令。
目标:[描述问题]
请输出:
1. 相关文件和调用链
2. 当前行为
3. 可能原因
4. 最小修改范围
5. 建议验证命令
6. 风险和停止条件这一步用 Ask 或 Agent 的只读约束都可以。核心是先把项目现场从“感觉”变成“文件、命令、风险”。
3. 第二步:Plan 先审方案
只要任务跨多个文件、影响公共模块、涉及认证、支付、数据、权限、部署、Cloud Agent、MCP 或 CI,就先进 Plan。
Plan 里必须有:
- 改动目标。
- 涉及文件。
- 不会改的边界。
- 实现顺序。
- 验证命令。
- 回退方式。
- 需要人工确认的点。
如果 Plan 没写清这些,不要 Build。让 Cursor 修改计划,比在错误实现上修修补补更稳。
4. 第三步:Agent 小步执行
批准执行时,把范围压小:
按已确认计划执行第一步。
只允许修改:
- src/components/LoginForm.tsx
- src/components/LoginForm.test.tsx
不要修改 package.json、lockfile、认证 schema、环境变量和路由配置。
完成后运行 pnpm test -- LoginForm,并输出 diff 摘要。小步执行的标准:你能完整审查这次 diff。如果 diff 大到看不完,就说明任务拆得不够——遇到这种情况立即停下,把"改文件 + 改测试 + 改类型"拆成 3 个独立任务再继续。
5. 第四步:Terminal 和 Browser 验证
代码改完必须跑证据。
后端 / 库代码常见验证:
- lint。
- focused tests。
- type check。
- build。
- migration dry-run。
前端 / 文档站常见验证:
- build。
- 本地预览。
- console error。
- network error。
- mobile / tablet / desktop viewport。
- 横向 overflow。
- 长代码块、表格、Cards、details、Mermaid。
Browser 验证 prompt 示例:
启动本地预览,只打开 localhost。
检查这些 viewport:390、768、1024、1440。
重点看横向溢出、导航遮挡、代码块、Cards、details 和 Mermaid。
输出 URL、viewport、问题和证据。6. 第五步:Review 不只看总结
Cursor summary 只是索引,不是验收。
提交前看:
git diff。- 测试输出。
- build 输出。
- browser 检查结果。
- 是否改了无关文件。
- 是否引入格式化大面积重排。
- 是否碰了 secrets、凭据、生产配置、lockfile。
可以用 Agent Review 或独立 verifier subagent(验证子 agent,专责验证已完成工作而不动手实现),但结论仍要回到 diff 和命令输出。
7. 第六步:沉淀规则和流程
如果同一类问题反复出现,不要每次重新靠 prompt。
沉淀方式:
- 一句长期约束:Project Rule。
- 多步流程:Skill。
- 独立验证角色:Subagent。
- 固定事件检查:Hook。
- 对 PR 审查:
.cursor/BUGBOT.md。 - 对团队统一策略:Team Rules 或 dashboard controls。
沉淀标准:重复三次、边界清楚、验收明确、失败可回退。
8. 一个完整登录模块例子
任务:登录后偶发不跳转。
正确流程:
flowchart TD
A1["1.Ask 只读分析"] --> A2["2.Debug 加 instrumentation"]
A2 --> A3["3.用户复现 + Cursor 读 logs"]
A3 --> A4["4.Plan 写根因和修复范围"]
A4 --> A5["5.Agent 只改登录组件 + 测试"]
A5 --> A6["6.Terminal 跑 focused test"]
A6 --> A7["7.Browser 检查 console / network"]
A7 --> A8["8.Agent Review 做 Deep review"]
A8 --> A9["9.人工审 diff 决定是否提交"]
A9 --> A10["10.沉淀 Project Rule"]
逐步说明:
- Ask 只读分析登录组件、auth API、路由和测试。
- Debug Mode 根据复现步骤添加最小 instrumentation。
- 用户复现,Cursor 读取 logs。
- Plan 写出根因、修复范围、验证命令。
- Agent 只改登录组件和相关测试。
- Terminal 跑 focused test。
- Browser 检查登录流程和 console / network。
- Agent Review 对本地 diff 做 Deep review。
- 人工审 diff,决定是否提交。
- 如果发现"不要改 auth schema"是长期边界,写入 Project Rule。
这个流程看起来比"一句帮我修"长,但每一步都有证据和停点。
9. 停止条件
出现这些情况就停:
- Agent 开始修改未授权文件。
- 任务范围从 2 个文件扩到 20 个文件。
- 测试失败但 Agent 想跳过。
- 它修改测试来迎合错误实现。
- 需要生产密钥、账单、删除、数据库写入。
- 其他人或其他 agent 正在同一文件上改。
- 你看不懂 diff。
停止不是失败。停止是把风险重新拉回可控范围。
10. 最终交付清单
一个 Cursor 任务完成时,至少留下:
- 修改文件清单。
- 关键实现说明。
- 已运行验证。
- 未运行验证和原因。
- 断点 / UI 检查结果。
- 剩余风险。
- 若任务走的是 Cloud Agent,PR、artifacts、远端桌面录像也要进交付物。
- 是否沉淀 Rules / Skills / Hooks / Bugbot rules。
- commit 是否只包含本任务文件。
官方来源
- Cursor Agent Overview:Agent tools、checkpoints、queued messages 和执行模型。
- Cursor Plan Mode:复杂任务先计划再构建。
- Cursor Debug Mode:基于运行时证据定位 root cause。
- Cursor Agent Review:本地 diff 提交前 review。
- Cursor Browser Tool:Browser 截图、console、network 和 UI 验证。