核心摘要

Cursor 3 的 Background Agent 将 AI 编程从"实时对话"推向"异步委派"——你分配任务,Agent 在后台自主完成,像给团队成员发了一张 Ticket。本文是上手实战指南,聚焦五大工作流模式、环境配置和集成策略。

  • 异步执行:关机也不影响,Agent 在云端/后台持续工作
  • 并行能力:同时运行多个 Agent 处理不同任务,互不干扰
  • 78.13% Bug 解决率:Bugbot 在 SWE-bench 上远超 Copilot Agent(46.69%)
  • 多入口触发:IDE、手机、Slack、GitHub、Linear 均可分配任务
  • 模型竞速/best-of-n 让不同模型同时解题,选最优方案

本文专注 Background Agent 的实战工作流。关于 Cursor 3 的整体架构变革(Composer 2 模型、Canvases 画布等),请参阅 Cursor 3 深度体验:Cloud Agent 与自驱动代码库

后台 Agent 核心概念:像分配工单一样编程

Background Agent 的本质是将编程任务从"实时交互"变为"异步委派"。理解这个范式转换是用好它的前提。

从对话到委派

传统 AI 编程(包括 Cursor 的前台 Agent)是一种同步模式——你提出需求,AI 实时响应,你检查输出,继续指导。这就像跟一个资深同事结对编程。

Background Agent 更像是给团队里的初级开发者分配了一张 Ticket

graph LR A["你:分配任务"] --> B["Agent:理解需求"] B --> C["Agent:克隆代码"] C --> D["Agent:实现功能"] D --> E["Agent:运行测试"] E --> F["Agent:提交 PR"] F --> G["你:审查结果"]

在这个流程中,你不需要全程盯着。Agent 遇到问题会自己尝试解决——如果测试失败,它会修复代码再跑;如果依赖缺失,它会自己安装。只有真正需要决策的时候才会通知你。

与前台 Agent 的关键区别

维度 前台 Agent Background Agent
交互模式 实时对话 异步委派
运行环境 你的本机 独立 VM / worktree
关闭 IDE 后 停止 继续运行
适合任务 探索性编码、细节调优 明确的功能开发、重构
心智模型 结对编程 分配工单
反馈周期 秒级 分钟到小时级

这意味着一个根本性的使用策略变化:你分配给 Background Agent 的任务需要足够清晰。模糊的需求在同步模式下可以通过来回对话澄清,但异步模式下会导致 Agent 走偏。

🔧 立即体验:使用 JSON Formatter 格式化你的 .cursor/environment.json 配置文件,确保语法正确。

Agents Window 操作指南

Agents Window 是管理所有 Background Agent 的统一界面。掌握它是高效使用后台 Agent 的基础。

打开与布局

通过 Cmd+Shift+P(macOS)或 Ctrl+Shift+P(Windows/Linux)打开命令面板,输入 Agents Window 即可切换到 Agent 视图。

typescript
// 通过快捷键启动 Agent 的等效操作
// Cursor 内部的 Agent 启动逻辑简化示意

interface AgentTask {
  id: string;
  description: string;
  model: 'composer-2' | 'claude-sonnet' | 'gpt-4.1';
  worktree: string;
  status: 'queued' | 'running' | 'completed' | 'failed';
  createdAt: Date;
}

function launchBackgroundAgent(task: AgentTask): void {
  // 1. 创建独立 worktree
  const worktree = createIsolatedWorktree(task.id);
  
  // 2. 在隔离环境中启动 Agent
  const agent = spawnAgent({
    model: task.model,
    cwd: worktree.path,
    instructions: task.description,
    autoFix: true,     // 测试失败自动修复
    autoPR: true,      // 完成后自动提 PR
  });
  
  // 3. 注册完成回调
  agent.onComplete(() => {
    notifyUser(task.id, 'Task completed');
  });
}

多 Agent 平铺视图

Agents Window 支持平铺布局(Tiled Layout),你可以同时监控多个 Agent 的实时状态:

  • 左侧面板:Agent 列表,显示任务摘要、状态和耗时
  • 中间区域:选中 Agent 的实时日志和代码变更
  • 右侧面板:diff 预览,展示 Agent 当前对文件的修改

每个 Agent 标签页顶部有状态指示器:🟢 运行中、🟡 等待确认、🔴 出错。

控制命令

在 Agent 对话框中,以下命令控制 Background Agent 的行为:

bash
# 创建新后台任务
/background "实现用户头像上传功能,支持裁剪和压缩"

# 在隔离 worktree 中执行
/worktree "尝试用 Rust 重写这个解析模块"

# 多模型竞速
/best-of-n composer, sonnet, gpt "修复这个 flaky test"

# 暂停/恢复 Agent
/pause agent-id-xxx
/resume agent-id-xxx

# 查看 Agent 日志
/logs agent-id-xxx

环境配置:让 Agent 拥有完整工作台

Background Agent 需要一个可运行的开发环境。环境配置的质量直接决定了 Agent 的成功率。

声明式配置:.cursor/environment.json

这是推荐的配置方式,Agent 启动时会自动读取并按顺序执行设置命令:

json
{
  "setup": {
    "commands": [
      "nvm install 20",
      "npm ci",
      "npx prisma generate",
      "npm run build:deps"
    ]
  },
  "services": {
    "database": "postgres:16",
    "cache": "redis:7",
    "search": "elasticsearch:8.12"
  },
  "env_file": ".env.agent",
  "secrets": ["DATABASE_URL", "OPENAI_API_KEY"],
  "test_command": "npm test",
  "lint_command": "npm run lint"
}

Dockerfile 方式:完全自定义

对于复杂项目,可以提供一个 Dockerfile 让 Agent 在自定义镜像中运行:

dockerfile
FROM node:20-slim

# 系统依赖
RUN apt-get update && apt-get install -y \
    python3 \
    chromium \
    && rm -rf /var/lib/apt/lists/*

# 项目依赖
WORKDIR /workspace
COPY package*.json ./
RUN npm ci

# Playwright 浏览器
RUN npx playwright install chromium

# 环境变量
ENV CI=true
ENV NODE_ENV=test

.cursorrules 项目规范

Background Agent 会读取项目根目录的 .cursorrules 文件来理解编码规范。这对异步任务尤为重要——Agent 无法实时问你"这里该用什么命名风格":

markdown
## 代码规范
- 使用 TypeScript strict mode
- 组件使用函数式 + Hooks
- API 路由使用 zod 校验入参
- 测试文件与源文件同目录,命名为 *.test.ts

## Git 规范  
- commit message 使用 conventional commits
- 每个 PR 只解决一个问题

## 禁止事项
- 不使用 any 类型
- 不使用 class 组件
- 不直接操作 DOM

多仓库支持

Background Agent 支持跨仓库工作。在 .cursor/environment.json 中声明依赖仓库:

json
{
  "repositories": [
    {
      "url": "github.com/your-org/shared-types",
      "path": "./packages/shared-types",
      "branch": "main"
    },
    {
      "url": "github.com/your-org/api-sdk",
      "path": "./packages/api-sdk",
      "branch": "v2"
    }
  ]
}

🔧 立即体验:使用 YAML to JSON 转换器 将你现有的 Docker Compose 配置转为 JSON 格式,方便迁移到 Cursor 环境配置。

五大实战工作流模式

这是本文的核心部分。每种模式解决不同场景的问题,掌握它们能让你的 AI 编程效率提升数倍。

模式一:分配并遗忘(Fire and Forget)

适用场景:明确的重构任务、代码迁移、格式标准化

这是最简单也最常用的模式。你描述清楚任务,Agent 自主完成,你之后审查 PR 即可。

python
# 示例:批量重构 API 路由(分配给 Background Agent 的任务描述)

"""
任务:将所有 Express 路由迁移到 Fastify

要求:
1. 保持所有路由路径和 HTTP 方法不变
2. 将 Express middleware 转换为 Fastify 插件
3. 将 req.body 验证从手动检查改为 JSON Schema
4. 确保所有现有测试通过
5. 更新 package.json 依赖

范围:src/routes/ 目录下所有文件
参考:docs/migration-guide.md 中的 Fastify 迁移规范
"""

关键技巧

  • 明确定义"完成"的标准(所有测试通过、lint 无报错)
  • 指定范围边界(哪些文件要动,哪些不能动)
  • 提供参考文档链接

模式二:并行 Agent 冲刺(Parallel Sprint)

适用场景:测试覆盖率冲刺、多模块同步开发

同时启动多个 Agent,每个负责不同模块的同类任务:

graph TD A["开发者分配任务"] --> B["Agent 1: auth 模块测试"] A --> C["Agent 2: payment 模块测试"] A --> D["Agent 3: notification 模块测试"] A --> E["Agent 4: user 模块测试"] B --> F["PR #101: auth tests +45%"] C --> G["PR #102: payment tests +38%"] D --> H["PR #103: notification tests +52%"] E --> I["PR #104: user tests +41%"] F --> J["人工审查合并"] G --> J H --> J I --> J
typescript
// 并行 Agent 启动脚本示例
const modules = ['auth', 'payment', 'notification', 'user'];

const tasks = modules.map(mod => ({
  description: `
    为 src/modules/${mod}/ 编写单元测试:
    - 目标覆盖率 > 80%
    - 使用 vitest + @testing-library/react
    - mock 所有外部 API 调用
    - 包含边界条件和错误路径
  `,
  model: 'composer-2',
  worktree: `test-sprint-${mod}`,
}));

// 每个 Agent 独立的 worktree,互不冲突
tasks.forEach(task => launchBackgroundAgent(task));

关键技巧

  • 确保各 Agent 的工作范围不重叠(否则合并 PR 时会有大量冲突)
  • 给所有 Agent 相同的代码规范指令(通过 .cursorrules)
  • 设置相同的"完成"标准便于统一审查

模式三:审查预处理(Review Prep)

适用场景:PR 审查加速、代码质量门控

让 Agent 先审查代码变更,生成结构化报告,你再做最终决策:

python
# Agent 审查预处理任务描述

"""
任务:审查 PR #287 并生成报告

审查维度:
1. 安全性:是否有注入风险、敏感信息泄露
2. 性能:是否有 N+1 查询、内存泄漏风险
3. 可维护性:命名是否清晰、是否有魔数
4. 测试覆盖:新增代码是否有对应测试

输出格式:
- 每个问题标注严重等级(Critical/Warning/Info)
- 提供修复建议的代码片段
- 总结一句话评价

完成后将报告作为 PR comment 发布。
"""

这个模式特别适合团队场景——Agent 做初筛,人类审查者只需关注 Critical 级别的问题。Bugbot(Cursor 的内置代码审查 Agent)就是这个模式的产品化实现。

模式四:/worktree 隔离实验

适用场景:技术选型验证、高风险重构、原型探索

/worktree 命令让 Agent 在完全隔离的 Git 分支中工作,不影响你的当前代码:

bash
# 实验:用不同状态管理方案重写购物车模块
/worktree "用 Zustand 重写购物车状态管理,替换现有的 Redux Toolkit 实现"

# 实验:尝试新的数据库方案
/worktree "将用户模块从 Prisma/PostgreSQL 迁移到 Drizzle/Turso"

# 实验:架构重构
/worktree "将单体 API 拆分为 auth、billing、core 三个微服务"

每个 /worktree 任务创建独立的 Git branch,完成后你可以:

  • diff 对比实验分支与主分支的差异
  • /apply-worktree 将实验结果合并到主分支
  • 直接丢弃(不影响任何现有代码)

模式五:/best-of-n 多模型对比

适用场景:关键算法实现、性能敏感路径、需要最优解的场景

让不同 AI 模型竞速解决同一问题,然后选择最佳方案:

bash
/best-of-n composer, sonnet, gpt "
实现一个高性能的 JSON diff 算法:
- 支持嵌套对象和数组
- 输出 RFC 6902 JSON Patch 格式
- 对 10MB JSON 文件的处理时间 < 500ms
- 包含完整的单元测试
"
graph TD A["同一任务"] --> B["Composer 2"] A --> C["Claude Sonnet"] A --> D["GPT-4.1"] B --> E["方案 A: 递归 + memo"] C --> F["方案 B: 扁平化比较"] D --> G["方案 C: LCS 算法"] E --> H["性能对比"] F --> H G --> H H --> I["选择最优方案"] I --> J["/apply-worktree 合并"]

对比维度建议

  • 代码质量(可读性、测试覆盖)
  • 性能指标(运行基准测试)
  • 方案优雅度(抽象是否合理)
  • 边界处理(异常情况覆盖度)

想了解提示词如何影响 Agent 的输出质量?推荐阅读 Prompt Engineering(提示词工程) 了解基本原理。

性能数据与基准对比

Background Agent 的实际表现如何?以下数据来自公开基准测试和社区实测。

SWE-bench Verified 成绩

工具 解决率 平均耗时 每次运行发现 Bug
Cursor Bugbot 78.13% ~3 min 0.7 bugs/run
Claude Code (Opus 4) 72.0% ~5 min
GitHub Copilot Agent 46.69% ~4 min
Devin 26.2% ~12 min

实际项目数据(社区反馈汇总)

场景 成功率 典型耗时 建议
单文件 Bug 修复 ~90% 1-3 min 非常适合 Background Agent
多文件功能开发 ~70% 5-15 min 需要清晰的任务描述
跨模块重构 ~55% 15-45 min 建议拆分为多个子任务
架构级变更 ~30% 30-60 min 不建议直接委派,改用 /worktree 实验

关键发现:任务描述的清晰度是影响成功率的首要因素,其次才是任务复杂度。一个清晰描述的中等复杂任务,成功率远高于模糊描述的简单任务。

集成生态:无处不在的 Agent 入口

Background Agent 的价值在集成场景中被放大——你不必坐在电脑前才能让 Agent 工作。

GitHub 集成

在仓库中安装 Cursor GitHub App 后,Agent 可以被 Issue 和 PR 触发:

typescript
// GitHub Issue 自动触发 Agent 的 Webhook 处理逻辑
interface GitHubIssueEvent {
  action: 'opened' | 'labeled';
  issue: {
    title: string;
    body: string;
    labels: Array<{ name: string }>;
  };
}

// 当 Issue 被打上 "cursor-agent" 标签时自动触发
function handleIssueLabeled(event: GitHubIssueEvent): void {
  if (event.issue.labels.some(l => l.name === 'cursor-agent')) {
    launchBackgroundAgent({
      description: `Fix: ${event.issue.title}\n\n${event.issue.body}`,
      model: 'composer-2',
      autoPR: true,
      targetBranch: 'main',
    });
  }
}

Slack 集成

在 Slack 频道中直接 @Cursor 分配任务:

code
@Cursor 修复 #auth-service 中的 JWT 过期判断逻辑,
用户反馈 token 刷新后仍然报 401。
相关代码在 src/middleware/auth.ts

Agent 完成后会在同一频道回复 PR 链接和摘要。

Linear / Jira 集成

从项目管理工具直接派发开发任务,Agent 完成后自动关联 Issue 并更新状态。

手机端访问

通过 Cursor Web App 或移动端,你可以:

  • 查看所有 Agent 的运行状态
  • 审查 Agent 提交的 PR diff
  • 批准或要求修改
  • 启动新的 Background Agent 任务

这意味着通勤路上、等咖啡时都可以推进开发进度。

横向对比:Background Agent vs Claude Code vs Copilot Agent

选择哪个 AI 编程工具取决于你的工作流偏好和团队场景。

维度 Cursor Background Agent Claude Code GitHub Copilot Agent
运行环境 云端 VM + 本地 worktree 终端 CLI GitHub 云端
触发方式 IDE / Slack / GitHub / Linear 终端命令 / GitHub Actions GitHub Issue / PR
多模型支持 ✅ Composer 2 + Claude + GPT ❌ 仅 Claude ❌ 仅 GPT
并行能力 ✅ 多 Agent 平铺 ⚠️ 多终端手动管理 ✅ 多任务队列
自定义环境 ✅ JSON 配置 + Dockerfile ✅ CLAUDE.md + 本地环境 ⚠️ 有限配置
代码审查 ✅ Bugbot 内置 ✅ SDK 自建 ✅ 内置
可视化反馈 ✅ Agents Window 实时视图 ❌ 纯文本日志 ⚠️ GitHub UI
SWE-bench 成绩 78.13% 72.0% 46.69%
定价 Pro $20/月起 API 按量计费 含在 Copilot 订阅中
最适合 IDE 重度用户、团队协作 终端党、CI/CD 自动化 GitHub 深度用户

想了解更多 AI 编程工具对比?参阅 2026 AI 编程工具全面对比

选择建议

graph TD A["你的主要工作环境?"] --> B{"IDE 为主"} A --> C{"终端为主"} A --> D{"GitHub 生态"} B --> E["Cursor Background Agent"] C --> F["Claude Code"] D --> G["GitHub Copilot Agent"] E --> H["适合:可视化管理 + 多模型对比"] F --> I["适合:脚本化工作流 + CI 集成"] G --> J["适合:Issue 驱动开发 + 低配置"]

深入了解 Claude Code 的终端工作流?阅读 Claude Code 实战指南

局限与注意事项

Background Agent 不是万能的。了解其局限才能更好地利用它。

当前局限

1. 上下文窗口限制

Background Agent 受 上下文窗口 大小约束。超大仓库中,Agent 可能无法一次理解所有相关代码,导致修改遗漏关联文件。

2. 无法处理需要人类判断的任务

产品决策、UX 取舍、架构权衡——这些需要理解业务上下文和用户意图的工作,Agent 无法代替人类。

3. 安全边界

Agent 有权限执行 Shell 命令和访问网络。对于涉及生产数据库、支付接口等敏感操作,必须配置权限白名单:

json
{
  "permissions": {
    "network": ["api.stripe.com", "*.amazonaws.com"],
    "filesystem": {
      "read": ["src/", "tests/", "docs/"],
      "write": ["src/", "tests/"]
    },
    "shell": {
      "allow": ["npm test", "npm run lint", "npx prisma"],
      "deny": ["rm -rf", "DROP TABLE", "curl * | bash"]
    }
  }
}

4. 调试困难

异步执行意味着你无法实时干预。Agent 走偏后可能浪费大量计算资源。建议对不确定的任务先用前台 Agent 验证思路,再委派给 Background Agent。

成本考量

方案 月费 并行数 适合
Pro $20 3 个 Agent 个人开发者
Pro+ $60 5 个 Agent 高频使用者
Ultra $200 10 个 Agent 专业团队
Teams $40/人 5 个/人 协作团队

🔧 立即体验:使用 正则表达式测试器 验证你的 .cursorrules 中的文件匹配模式是否正确。

最佳实践

经过大量实战总结,以下实践能显著提升 Background Agent 的成功率。

任务描述模板

好的任务描述应该包含以下要素:

markdown
## 目标
[一句话说清楚要做什么]

## 上下文
[为什么要做这个?有什么前置背景?]

## 具体要求
1. [具体要求 1]
2. [具体要求 2]
3. [具体要求 3]

## 范围
- 需要修改:[列出文件/目录]
- 不要修改:[明确排除项]

## 完成标准
- [ ] 所有测试通过
- [ ] lint 无报错
- [ ] [其他验收条件]

## 参考
- [相关文档链接]
- [示例代码位置]

渐进式委派策略

python
# 推荐的 Agent 使用渐进策略

TASK_COMPLEXITY = {
    "simple": {
        "examples": ["修改错误提示文案", "添加日志语句", "更新依赖版本"],
        "strategy": "直接 /background,无需额外指导",
        "success_rate": "~90%"
    },
    "medium": {
        "examples": ["实现新 API 端点", "添加表单验证", "编写测试套件"],
        "strategy": "提供明确规范 + 参考示例",
        "success_rate": "~70%"
    },
    "complex": {
        "examples": ["跨模块重构", "性能优化", "新架构引入"],
        "strategy": "先用前台 Agent 验证思路,拆分为多个子任务后并行委派",
        "success_rate": "~55%"
    },
    "exploratory": {
        "examples": ["技术选型", "架构设计", "方案对比"],
        "strategy": "使用 /worktree 或 /best-of-n,人工最终决策",
        "success_rate": "取决于评估标准"
    }
}

五条黄金法则

  1. 写任务描述,不写实现步骤——告诉 Agent "要什么",而非"怎么做"
  2. 一个 Agent 一个职责——避免在单个任务中塞入多个不相关目标
  3. 提供"完成"的定义——明确的验收标准让 Agent 知道何时停下
  4. 先前台验证,再后台委派——不确定的任务先用对话模式摸清方向
  5. 定期检查而非持续关注——每 10-15 分钟瞄一眼状态即可,除非收到通知

想系统性了解 AI 时代开发者角色的转变?阅读 从程序员到 Agent 牧人:开发者角色演变

效率提示:在配置后台 Agent 访问外部服务时,通常需要处理各种 JSON 响应。你可以使用 JSON 格式化工具 来快速验证数据结构的正确性。

延伸阅读

常见问题 (FAQ)

Background Agent 的代码质量可靠吗?

对于明确规范的任务,Bugbot 在 SWE-bench 上的 78.13% 解决率已经证明了可靠性。但你仍需审查 PR——把 Agent 当作需要代码审查的初级开发者,而非无条件信任的高级工程师。

Token 消耗如何控制?

Background Agent 的 Token 消耗取决于任务复杂度和代码库大小。Pro 计划的月度额度足够日常使用。如果频繁触发大型重构,考虑升级到 Pro+ 或 Ultra。

与 Vibe Coding 的关系是什么?

Vibe Coding 是一种前台实时的 AI 编程风格,强调"感觉对了就继续"。Background Agent 则是结构化的异步委派。两者互补:用 Vibe Coding 快速原型,用 Background Agent 完成生产级实现。

总结

Cursor 3 的 Background Agent 将 AI 编程从"实时助手"升级为"异步团队成员"。核心思维转变是:你不再是写代码的人,而是分配和审查代码的人

五大工作流模式覆盖了从简单 Bug 修复到架构探索的全场景。选择哪种模式取决于任务的确定性——越确定越适合"分配并遗忘",越探索越适合"隔离实验"。

78.13% 的 Bug 解决率、多模型竞速、全平台触发入口——这些能力组合在一起,让开发者的产出可以超越物理时间的限制。你的 Agent 在你睡觉时仍在写代码。

相关资源