Cursor 真正难的不是安装,是别把 Agent 用成自动补全
Cursor 的门槛不在按钮和快捷键,而在上下文、计划、验收和回滚。用一个最小登录页实测,讲清楚怎样把 Agent 放进可控开发流程。
你只是想让 Cursor 改一个登录页。
它很积极。顺手改了组件结构、路由命名、校验逻辑,还帮你重排了几个文件。
diff 很长,像是干了很多活。问题是你不敢合并。
这就是很多人用 Cursor 的真实卡点。不是不会安装,不是不知道 Chat 在哪,也不是模型不够强。
难的是:你得学会管住一个会主动行动的 Agent。
Cursor 的价值不在“让 AI 多写几行代码”。它真正改变的是开发者和代码库之间的关系。过去你是在编辑器里写代码,现在你是在编辑器里指挥一个会读文件、改文件、跑命令、解释 diff 的执行者。
如果还把它当成更聪明的自动补全用,结果通常只有两种:要么大材小用,要么放它乱跑。
低门槛,反而容易误判
Cursor 对 VS Code 用户很友好。
打开项目,侧边栏聊天,选中文件提问,让它解释一段代码,或者直接让它改一个小功能。这些动作都很自然。Cursor 官方文档里也把 Agent 定义得很直接:它可以完成复杂编码任务,可以运行终端命令,也可以编辑代码。
这很方便,但方便会制造一个错觉:装上就会用了。
实际上,装上 Cursor 只是打开了入口。真正决定结果的,是你怎么给它上下文、怎么限制改动范围、怎么验收输出。
很多人第一次用 Cursor,都会写这种 prompt:
| |
这句话看起来没问题,实际问题很大。
“优化”是什么意思?改视觉,还是改交互?能不能动接口请求?能不能改路由?能不能顺手抽组件?改完怎么判断对不对?
你没说,Agent 就只能猜。
Agent 的可怕之处不是它不会做事,而是它太愿意做事。你给一个含糊任务,它会补齐你的空白。补得对,是惊喜;补得错,就是事故。
不要直接让它改,先让它只分析
我做了一个最小实测项目:一个纯 HTML/CSS/JS 登录页。
项目很小,只有这几个文件:
| |
任务也很小:只调整登录页的视觉层,不改变字段、表单 action、请求路径和校验逻辑。
这类任务很适合练 Cursor。因为它足够小,小到你能看完全部 diff;它又不是玩具,因为真实项目里的很多事故,恰好就是从这种“小改一下样式”开始的。
我会先给 Cursor 这样的指令:
| |
注意第一句:先不要改代码。
这不是客气话,是边界。Cursor 官方的 Plan Mode 文档也强调,计划模式适合复杂任务或需求不够清楚的任务:Agent 会先研究代码库、提出问题、生成可审查的实现计划,然后再进入构建。
小任务不一定非要走完整 Plan Mode,但“先分析,不改代码”这个习惯应该保留。
你先看它怎么理解项目,再决定要不要让它动手。
好 prompt 的重点,是写清楚禁区
很多人写 prompt,只写目标,不写禁区。
目标当然重要,但禁区更重要。因为 Agent 一旦开始行动,最容易出问题的不是“少做了”,而是“多做了”。
坏 prompt 是这样:
| |
好一点的写法是这样:
| |
这个 prompt 并不花哨,也没有什么神秘技巧。它只是把几件事讲清楚了:
- 只改视觉层;
- 不改业务契约;
- 先计划,后执行;
- 小步修改;
- 改完必须说明验证方法。
这比“帮我优化”啰嗦,但安全得多。
Cursor 官方文档里提到,Agent prompt 可以通过 @ 引用文件、文件夹、终端输出、历史对话、git diff,甚至可以附加图片。这个能力很强,但它不是让你把整个项目一股脑塞进去。
上下文不是越多越好,而是越准越好。
如果你知道相关文件,就明确 @index.html、@style.css、@login.js。如果你不知道相关文件,可以先让 Agent 搜索和解释,而不是马上授权它全项目修改。
diff 很长,不等于做得对
在这个最小项目里,验收口径被压得很窄:只允许改 style.css。
改完以后,验收不是“页面看起来更漂亮”。那只是第一层。
真正要看的是:
| |
测试输出是:
| |
再看 git 状态:
| |
输出应该只出现样式文件变化:
| |
最后看 diff,确认改动确实集中在视觉层:背景、卡片边距、圆角、阴影、边框。
这套动作很笨,但有用。
因为 Agent 最容易让人失去耐心。它给你一大段 diff,你很容易被“它做了好多”骗过去。可软件开发里,勤奋不是指标,正确才是。

我更建议你养成一个固定顺序:
| |
这才是 Cursor 应该进入的工作流。
Checkpoint 不是后悔药,是安全网
Cursor 官方视频素材里反复提到 checkpoints。这个点很容易被低估。
很多人把 checkpoint 当成“万一错了再退回去”的后悔药。这个理解太轻了。
更好的理解是:checkpoint 是你允许 Agent 继续之前的安全网。
只要 Agent 会主动改代码,你就必须有回滚点。不管是 Cursor 的 checkpoint,还是 Git commit,还是至少保留一个干净的工作区,本质都一样:你不能在一团乱的状态上继续授权。
一个可用的检查清单长这样:
| |
如果这五个问题回答不了,就别点 continue。
“继续”是 Cursor 里最容易被滥用的动作。它看起来只是让 Agent 往下做一点,实际上是在把更多上下文、更多假设、更多未验证改动叠到一起。
坏结果往往不是一步跑偏的,是连续几次“继续”叠出来的。
Cursor 不是 Claude Code 的替代品
写到这里,很容易滑向另一个话题:Cursor 和 Claude Code 到底谁更强?
这个问题不该在这篇里展开太多。我更愿意把它说成入口差异。
Cursor 是 IDE-first。它的优势是你能看着文件、看着 diff、看着上下文和模型互动。它适合边看边改,适合对 UI、组件、局部功能做可视化控制。
Claude Code 更偏 terminal-first。它适合跑命令、批量处理、修测试、做更自治的任务代理。
这不是谁赢谁输。
你要问的是:这件事需要我盯着文件和 diff 逐步收口,还是可以交给命令行代理跑一段再回来验收?
如果是前者,Cursor 很顺手。如果是后者,Claude Code 可能更自然。
别把工具对比写成宗教战争。工具的形态,会决定你的工作流。
一个可以直接复制的 Cursor 使用模板
如果你现在就想在项目里试,可以从这个模板开始:
| |
你也可以把它固化成项目规则。Cursor 官方文档里说,Rules 可以给 Agent 提供系统级指令;项目规则可以放在 .cursor/rules,AGENTS.md 也可以作为一种简单的指令文件形式。
对团队来说,最值得沉淀的不是“神级 prompt”,而是项目里的固定边界:哪些目录不能随便改,哪些命令必须跑,哪些行为需要先问人。
AI 编程最后拼的不是谁会喊“帮我实现”。
拼的是谁能把任务切小,把边界写清,把验收做完。
收住:Cursor 是工具,不是替你兜底的人
下次 Cursor 又给你一大段 diff,不要急着夸它聪明。
先问四个问题:
| |
能回答这四个问题,Cursor 才是工具。
回答不了,它只是一个很勤奋的风险放大器。