Agent 模式是 Cursor 区别于普通 AI 辅助编程的核心能力。与侧边栏问答或行内补全不同,Agent 不仅能生成代码,还能自主规划步骤、跨文件编辑、调用终端命令并验证结果,将一句需求拆解为一系列自动执行的开发动作。
3.5.1 Agent 模式适用场景
Agent 模式最适合需要多步骤联动、人工逐步操作反而低效的复杂任务:
- 跨文件功能落地:例如"给用户模块增加邮箱验证功能",Agent 会自动找到相关 Model、Service、Route 文件,补充字段、接口和校验逻辑;
- 批量重构与迁移:如"把项目里所有
var改成const或let,并修复因此导致的潜在重复声明问题",Agent 能遍历全库并处理连锁反应; - 项目脚手架搭建:根据技术栈描述自动创建目录结构、配置文件和基础代码;
- Debug-修复闭环:运行测试命令,读取终端报错,定位错误文件并尝试修复,再重新运行验证。
不适合的场景:涉及核心业务安全策略判断、需要人工审批的变更,或需要与外部真实支付/生产环境交互的操作。
3.5.2 任务提交与自动执行流程
开启入口
在侧边栏 AI 面板顶部,将模式从 "Chat" 切换为 "Agent"(部分版本显示为 "Agent Mode" 或图标形式)。注意,该功能通常需要 Pro 订阅权限,免费版可能无法使用或受额度限制。
执行流程
- 提交任务:用自然语言描述目标,建议尽可能具体。例如:
> "在 /src/utils 下新建一个 dateHelper.ts,导出 formatDisplayDate 函数,使用 Day.js 将 ISO 字符串转为 'YYYY-MM-DD HH:mm',并在 package.json 里检查是否已安装 dayjs,如果没有就模拟安装命令。"
- 分析阶段:Agent 会先读取项目结构,列出它打算修改的文件和要执行的终端命令,形成执行计划;
- 逐步确认:对于文件修改,Agent 通常先展示 Diff(差异视图),由你决定是否 "Apply"(应用);对于终端命令,首次执行前大多需要点击 "Run" 授权,避免误删数据;
- 自动迭代:如果你同意了"自动运行模式"(Allow auto-run),后续同类低风险操作(如只读命令、非破坏性写入)会跳过确认,连续执行直到任务完成。
安全底线:Agent 在删除文件、覆盖关键配置或执行
rm、drop等高危命令前,几乎都会强制弹窗确认。建议首次使用时保持手动确认习惯,熟悉其风格后再考虑开启自动运行。
3.5.3 执行过程干预与结果调整
随时接管
Agent 的执行并非黑箱。每一步完成后,你都可以:
- 拒绝单步操作:如果某次文件修改不符合预期,点击 "Reject",Agent 会跳过该步骤继续后续任务,或暂停等待你给出新指令;
- 中途修改指令:任务执行到一半时,你可以在输入框追加补充条件,例如"刚才生成的函数不要用类,改用纯函数导出",Agent 会基于最新指令调整剩余计划;
- 查看上下文:Agent 在思考过程中会显示它正在读取哪个文件,帮助你判断它是否找对了位置。
防止循环与出错
Agent 有时会在同一个报错上反复尝试相似修改(俗称"钻牛角尖")。如果你发现它在两三轮迭代后仍未解决,建议手动点击 "Stop" 终止当前任务,人工介入处理关键逻辑,或把大任务拆成更小的子任务重新提交。
版本控制是必选项
使用 Agent 前,务必确保项目已提交 Git。Agent 的跨文件修改范围大,虽然 Cursor 自带历史记录,但 Git 才是最可靠的回滚手段。执行前保持工作区干净,任务完成后Review Diff再统一提交,能有效避免意外污染代码库。