Chapter 04

Agent 模式:自主完成复杂任务

Agent 模式是 Cursor 的皇冠功能。AI 不再只是建议者,而是真正的执行者——搜索代码、修改文件、运行命令、调用工具,自主完成完整的工程任务。

本章目录

  1. 什么是 Agent 模式
  2. Agent vs Ask 模式的本质区别
  3. Agent 的工具箱
  4. Yolo 模式:全自动执行
  5. Agent 循环与任务分解
  6. Checkpoint 与回滚
  7. 实战案例
  8. Agent 的局限与注意事项

什么是 Agent 模式

在 AI 领域,Agent(智能体)指能够感知环境、制定计划、采取行动并根据反馈调整策略的 AI 系统,区别于只能"问答"的普通语言模型。

Cursor Agent 模式将 LLM 的推理能力与一系列 工具(Tools)结合:AI 不只是给你看代码建议,而是直接调用工具去做事——读取文件、写入代码、运行测试、搜索代码库,直到任务完成。

名词解释 — Tool Use / Function Calling:现代 LLM(如 Claude、GPT-4o)支持"工具调用"能力:模型在推理过程中可以暂停,调用外部函数(如读文件、执行命令),获取结果后继续推理。Cursor Agent 正是基于这个机制实现自主执行能力。

Agent vs Ask 模式的本质区别

Ask 模式(被动)

  • AI 只回答你提供的上下文
  • 代码修改需要你手动 Apply
  • 无法主动搜索项目
  • 不执行任何命令
  • 适合:探索、学习、审查

Agent 模式(主动)

  • AI 主动搜索代码库获取上下文
  • 直接修改文件(可预览)
  • 可运行终端命令(如测试)
  • 多步骤自主规划执行
  • 适合:实现功能、重构、修 bug

一个类比

Ask 模式就像请一位专家 出谋划策:他告诉你应该怎么做,但动手的是你自己。 Agent 模式就像雇用一位 全职工程师:你描述需求,他自己找代码、写代码、运行测试,完成后给你看结果。

Agent 的工具箱

Cursor Agent 内置了以下核心工具:

工具调用的可见性

在 Agent 执行过程中,Chat 面板会实时展示 AI 的每个工具调用(工具名称 + 参数 + 返回值),你可以全程监控 Agent 在做什么。 展开工具调用条目可以看到完整的输入输出,便于理解 AI 的推理过程。

Yolo 模式:全自动执行

默认情况下,Agent 每次修改文件或执行终端命令都会先展示预览,等待用户确认。 Yolo 模式(Yes to All)打开后,Agent 可以不等待确认直接执行所有操作,实现真正的全自动运行。

开启方式:Chat 设置 → Enable Yolo Mode,或在 Agent 运行时点击"允许所有操作"。

Yolo 模式注意事项:
  • 开启前确保代码已提交到 Git,或使用 Checkpoint 功能保存快照
  • 避免在生产相关目录开启
  • 可以配置"允许的命令白名单",限制 Agent 能执行的操作范围
  • 推荐仅在明确任务范围的情况下使用

Yolo 模式配置

// Cursor Settings → Features → Agent → Yolo Mode
// 可以限制允许的命令类型:

{
  "cursor.agent.yolo.allowedCommands": [
    "npm test",
    "npm run build",
    "npm run lint",
    "npx prettier",
    "git status",
    "git diff"
  ],
  "cursor.agent.yolo.blockedCommands": [
    "rm -rf",
    "sudo",
    "git push",
    "git reset --hard"
  ]
}

Agent 循环与任务分解

Agent 的工作方式是一个 推理-行动循环(ReAct Loop)

  1. 思考(Reason):分析当前情况,规划下一步行动
  2. 行动(Act):调用工具执行操作(读文件、写代码、运行命令)
  3. 观察(Observe):获取工具调用的结果
  4. 循环:基于观察结果更新理解,继续推理…
  5. 完成:任务达成后输出最终结果

任务分解的最佳实践

Agent 对 具体、可验证的任务效果最好。过于模糊的任务会导致 Agent 方向偏移或反复确认。

// ❌ 太模糊,Agent 不知道"优化"的标准是什么
"帮我优化这个项目"

// ✅ 具体、有明确的成功标准
"帮我完成以下任务:
1. 在 src/hooks/ 下创建 useDebounce.ts hook,支持泛型和自定义延迟
2. 在 src/components/SearchBar.tsx 中使用这个 hook 替换现有的 setTimeout 逻辑
3. 运行 npm test 确认所有测试通过
4. 如果有测试失败,修复后再次运行"

任务规模建议

任务规模示例Agent 效果
小(推荐)创建一个工具函数 + 测试极好
中等实现一个 API 端点含验证很好
重构整个认证模块需要监督
超大"重写整个项目"不建议

Checkpoint 与回滚

Checkpoint(检查点)是 Cursor Agent 的安全网机制。在 Agent 开始执行任务时,Cursor 自动保存当前所有文件的快照。 如果 Agent 的修改不符合预期,可以一键回滚到 Checkpoint 状态。

操作方式:在 Agent 对话的顶部工具栏,点击"Checkpoint"图标,选择"Restore to this checkpoint"。

最佳实践:除了 Cursor 的 Checkpoint,养成在 Agent 执行前先 git commit 的习惯,提供额外的安全保障。Checkpoint 是会话级别的快照,关闭 Cursor 后可能无法访问历史快照。

实战案例

案例一:实现新功能(含测试)

// 向 Agent 发送:
"在 src/services/ 下创建 EmailService.ts,需要:
1. 使用 nodemailer 发送邮件,从 process.env.SMTP_* 读取配置
2. 实现 sendWelcomeEmail(user: User) 和 sendPasswordReset(email: string, token: string) 方法
3. 所有方法返回 Promise,失败时抛出自定义 EmailError
4. 在 src/services/__tests__/EmailService.test.ts 编写单元测试,mock nodemailer
5. 运行 npm test src/services 确认通过"

// Agent 的执行步骤(可在 Chat 中看到):
// 1. list_directory: 查看 src/services/ 的结构
// 2. read_file: 读取现有 Service 文件了解项目规范
// 3. read_file: 读取 User 类型定义
// 4. edit_file: 创建 EmailService.ts
// 5. edit_file: 创建测试文件
// 6. run_terminal_command: npm test src/services
// 7. (如果测试失败) edit_file: 修复错误
// 8. run_terminal_command: npm test src/services (再次验证)

案例二:代码库分析与重构

// 向 Agent 发送:
"分析项目中所有的 API 调用,找出没有错误处理(没有 try/catch 或 .catch())的地方,
列出文件名和行号,然后逐一修复,添加统一的错误处理逻辑"

// Agent 会:
// 1. search_codebase: 搜索 "fetch(" 和 "axios." 等 API 调用模式
// 2. 分析每个文件中的错误处理情况
// 3. 列出问题清单并展示给你确认
// 4. 逐文件修复(你可以逐个接受)

案例三:调试运行时错误

// 向 Agent 发送,并粘贴错误堆栈:
"运行 npm start 后出现以下错误,帮我定位并修复:

Error: Cannot find module '@/components/Layout'
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1083:15)
    at ...

当前的 tsconfig.json 路径别名配置和 next.config.js 请一并检查"

// Agent 会:
// 1. read_file: 读取 tsconfig.json
// 2. read_file: 读取 next.config.js
// 3. search_codebase: 搜索 Layout 组件的实际位置
// 4. 发现是路径别名配置不一致,修复后运行 npm build 验证

Agent 的局限与注意事项

本章小结

Agent 模式将 Cursor 从"AI 助手"升级为"AI 工程师"。通过工具调用链,Agent 能自主搜索代码、修改文件、运行测试,完成完整的工程任务。关键是给 Agent 具体可验证的任务描述,配合 Checkpoint 安全机制,在合适的场景使用 Yolo 模式提升效率。