Cursor Agent 是什么?和 Chat 差在哪、什么时候开

Cursor 的 Agent 能跨文件改代码、还能跑命令,Ask 更适合问一句、改一小块。讲清两者边界、什么任务才值得开 Agent,以及任务怎么写才不会让它在无关文件里乱翻。

Agent 不是 Ask:跨文件改动再上场

你让它「顺手把这个函数改一下」,结果它翻了七八个文件、还想跑 npm install,这多半是因为你开在了 Agent,而这活儿其实用 Ask 就够。Cursor 聊天面板顶部有个模式下拉,常见是 Agent 和 Ask;把这两个搞混,是新手最常见的别扭。

Agent 和 Ask 到底谁干什么

Ask(也就是老习惯里的「问一句」)只读你给的上下文,回你文字或一段代码,改不改由你复制。它不会自己动文件,也不会跑命令。适合「这段报错什么意思」「帮我写个正则」这种。

Agent 不一样:它会自己读多个文件、直接改,必要时申请跑命令(跑之前会让你按 y 确认)。你要的是「把登录报错的提示改得和后端返回一致」,它能一路做完再给你 diff。代价是上下文吃得多、额度掉得快,翻错文件的概率也在。

终端里也是同一套东西,入口命令就叫 agent,模式用 Shift+Tab 轮换,细节见 CLI 指南。顺带说一句,很多人搜 Agent 是因为一开 Cursor 就掉进那个占满屏幕的 Agents 窗口,那是界面壳的问题,不是模式,去 启动窗口排查

什么任务才值得开 Agent

三个信号,凑齐两个再开:改动会碰到多个文件;你说得出「怎样算做完」(比如「补上测试并让 pytest 全绿」);你愿意逐行看它的 diff。少一个,用 Ask 或者自己写更快。

反面教材是「优化一下项目」这种任务。Agent 会很热心地到处动,然后你花更长时间收拾。把话说死:改哪个文件、别碰 src/legacy、跑哪条命令验证。我自己的经验是,一句写清楚的任务,比换个更贵的模型管用得多。

开跑前后各花两分钟

开跑前:分支干净或能丢,大改动单开一个 feature 分支,别在 main 上让它撒欢。团队有约定就先把 Rules / Skills 放好(见 Rules、Skills、MCP)。如果模型下拉是灰的、或者发出去报错,先别怀疑 Agent,多半是区域或额度,去 Model not available 排查

开跑后盯两样:它读了哪些文件、要跑什么命令。看着不对就按 n 拒掉。跑完自己过一遍测试或类型检查再提交,它给的 diff 不等于能合并。日常我还是拿补全和 Ask 打底,真要成片改动才叫 Agent 上场,顺序见 日常使用教程