Cursor 3 的直接结论

Anysphere 在 2026 年 4 月 2 日发布 Cursor 3,它把 IDE 从"以文件为中心、叠加 AI 助手"的形态,改造成一个编码 Agent 控制面。新的工作空间可以协调多个本地与云端会话、跨仓库工作、在本地与远程执行之间交接会话,并把结果带回为 diff、commit 或 PR。编辑器仍然保留,因为调查、调试和精确修正依旧需要开发者直接操作。

这就是"Cursor 3 是什么"最有用的答案。它不能证明自治 Agent 会让每位开发者在每种任务上都更快,也不能证明生成的改动已经可合并,更不能证明隔离虚拟机消除了模型自主选择命令所带来的安全风险。这些结论必须在你的仓库、控制措施和审查流程中实测。

因此,本文不做功能清单,而把 Cursor 3 当作一套工程系统来分析。你将掌握:

  • 工作空间、Agent Runtime、仓库与审查者的边界分别在哪里;
  • 本地到云端的交接和并行执行在运维层面改变了什么;
  • Rules、代码智能、浏览器、插件、MCP 与 Hooks 如何组成上下文;
  • Cursor 当前文档对数据、Secret、保留期限和网络访问有哪些说明;
  • 如何跑两周试点,并以"可合并成果"作为扩大使用范围的门禁。

如果你还不熟悉 Agent 的执行机制,可以先读 Agent Loop:架构、恢复与生产评测。

控制面、执行面与证据面

"Agent-first"只有落实到架构边界才有意义。团队实际上在操作三个平面:

flowchart LR U[开发者或审查者] --> C[Cursor Agent 工作空间] C --> L[本地 Agent 会话] C --> R[云端 Agent 会话] L --> W1[本地检出与工具] R --> W2[隔离云端 VM] W1 --> G[Git 仓库] W2 --> G W1 --> T[测试、LSP、浏览器、MCP] W2 --> T G --> E[Diff、Commit、PR、日志、产物] T --> E E --> U

控制面是开发者启动、观察和纠正会话的工作空间;执行面是实际运行命令与工具的开发者电脑或隔离云端 VM;证据面则是用于判断工作能否验收的 diff、提交历史、测试输出、产物、远程桌面和 PR。

这个区分能避免一种常见误判:流畅的 Agent 对话属于控制面输出,并不是仓库正确性的证据。批准改动应依赖证据面与常规工程控制。

统一工作空间改变了什么

工作空间把本地与云端 Agent 放在同一处,并支持跨多个仓库工作。当任务横跨 API、客户端和公共 Schema,或开发者想把耗时迁移派发到远端、同时继续本地开发时,这种统一视图很实用。

瓶颈也随之转移:敲代码可能更便宜,但任务定义、冲突治理、审查与恢复更重要。无法陈述验收标准、无法复现环境的团队,放大的会是歧义,而不是交付能力。

本地与云端 Agent 属于不同信任区

本地会话继承开发者电脑上的文件、网络路由、凭证和已安装工具;Cloud Agent 获得的是为该次远程运行选择的环境与凭证。会话可以在两者之间交接,但两边的权限不应被默认视为等价。

应使用显式交接契约:

交接字段 需要记录什么 为什么重要
基线版本 仓库与 Commit SHA 防止基于错误源代码状态审查结果
验收契约 可观察行为、测试和禁止改动 给远程运行划定边界
环境 搭建方式、Runtime 版本、依赖服务 让失败可以复现
权限 仓库、Secret、工具和网络目标 限制故障半径
完成证据 Diff、命令、测试结果、产物、未解决风险 区分"运行结束"与"可以合并"

云端交接不能悄悄放大权限。如果本地会话能查询生产环境,不要为了方便就把同一凭证复制到远程环境;应创建受限测试身份,或从任务中移除该能力。

Cursor Cloud Agent 如何运行

Cursor 已将 Background Agents 更名为 Cloud Agents。根据当前官方文档,每次运行使用隔离虚拟机,可以操作一个或多个仓库、执行终端命令、使用支持的 MCP Server 与 Hooks,并通过 Artifacts 或远程桌面提供检查证据。

典型生命周期如下:

  1. 开发者选择仓库、基线版本与任务。
  2. Cursor 创建或恢复一个隔离环境。
  3. Agent 获得仓库上下文和已配置能力。
  4. Agent 修改文件并调用命令或工具。
  5. Agent 通过会话与 Git 工作流报告证据。
  6. 人工与 CI 决定结果是否可以继续流转。

VM 是执行隔离边界,不是正确性边界。它可以避免一个任务直接改坏另一个任务的文件系统,却无法阻止 VM 内代码对外请求、泄漏已注入的 Secret、修改错误文件,或执行来自仓库内容的恶意指令。

三种环境搭建策略

Cursor 文档提供三种 Cloud Agent 环境准备方式:

策略 适用场景 主要故障模式
Agent 自主搭建 早期探索、不熟悉的仓库 搭建慢或不确定;Agent 猜测缺失步骤
Snapshot 稳定、依赖较重的仓库 快照与锁文件、镜像或迁移状态发生漂移
.cursor/environment.json 希望环境配置随仓库审查的团队 配置仍需维护,而且绝不能包含 Secret

可以先用 Agent 自主搭建发现前置条件,再把稳定步骤固化;只有明确快照刷新负责人和失效条件后才使用 Snapshot。不要照抄第三方文章中自创的配置 Schema,必须以 Cursor 当前环境文档校验文件。

并行 Agent 必须划分冲突域

只有当任务足够独立、结果容易集成时,并行 Agent 才能缩短墙钟时间。十个 Agent 同时修改一个包、锁文件、数据库迁移序列或生成客户端,带来的协调成本可能高于并行收益。

派发前定义冲突域:

  • 仓库与基线 SHA;
  • 各自拥有的目录或接口;
  • Schema 与生成代码的所有权;
  • 禁止修改的文件;
  • 依赖与迁移的协调方式;
  • 预期集成顺序。

优先并行只读调查、独立测试、文档、隔离适配器和边界清晰的模块。共享 Schema、鉴权中间件、依赖清单、构建系统和迁移应串行处理,除非其中一个任务被明确指定为集成负责人。

吞吐量要在合并结果层面计算:

text
有效吞吐量 =
  已验收任务数
  /(Agent 运行 + 人工审查 + 冲突解决 + 故障恢复时间)

统计并发会话数或生成代码行数,只是在奖励活动量,不是交付。

上下文是一条供应链

Cursor Agent 并不只依赖 Prompt 推理。它的上下文还可能包含仓库文件、语言服务器信息、历史会话状态、浏览器页面、插件能力、MCP 返回、Hook 输出、终端结果与项目规则。每种来源有不同的所有者和信任等级。

应把上下文当作供应链管理:

上下文来源 主要用途 必须具备的控制
文件与 LSP 符号、引用、类型、诊断 固定仓库版本;按需排除生成文件或敏感路径
集成浏览器 复现 UI 行为、读取应用状态 使用测试账号与非生产数据
插件 封装领域工作流 审查发布者、请求能力与更新策略
HTTP 或 stdio MCP 外部工具与结构化数据 认证调用方、逐次授权操作、验证返回内容
Hooks 确定性搭建或策略检查 脚本纳入版本管理、限制执行边界并可观测
会话历史 决策与中间发现 交接或压缩后重新声明影响正确性的关键约束

一个符合 JSON Schema 的 MCP 返回仍可能包含恶意指令或错误数据。Schema 校验只能证明形状合法,不能证明内容可信。协议层边界可继续阅读 MCP:架构与安全边界。

Cursor Rules 提升一致性,但不提供权限

Cursor 支持 .cursor/rules/*.mdc 项目规则,也可以读取 AGENTS.md。这类文件适合承载长期约定:构建命令、架构边界、测试要求、审查清单,以及需要特殊处理的路径。

有用的规则应短而且可验证:

markdown
---
description: API change contract
globs: services/api/**/*.go
alwaysApply: false
---

- Preserve backward compatibility for public JSON fields.
- Run `go test ./services/api/...`.
- Do not modify generated clients directly.
- Report changed endpoints and migration requirements in the final summary.

规则应指向可执行检查,不要重复整本手册。"运行这个测试并报告证据"强于"写高质量代码"。

但规则仍然只是 Prompt 上下文,无法强制租户隔离、限制网络出口、保护分支或阻止 Secret 泄漏。不可妥协的控制应放在 IAM、仓库权限、CI、网络策略和应用自身。这个区别也是上下文工程的核心。

安全与数据边界

Cloud Agent 会在云端执行终端命令,而且设计目标就是减少同步监督,因此 Cursor 的安全文档不是采购附件,而是产品能力的一部分。

截至 2026 年 10 月 1 日,官方文档所描述的边界可概括为:

领域 文档说明 工程含义
计算 代码运行在隔离的 AWS 虚拟机中 隔离限制跨任务影响,但不会验证命令或代码
网络 Cloud Agent 默认可以访问互联网 仓库文本、依赖和网页都应视为 Prompt Injection 输入
源代码数据 会话期间,代码必须可供 Cursor 云基础设施使用 Privacy Mode 不等于本地部署或零存储
训练 Privacy Mode 表示提交代码不会用于模型训练 使用前确认模式、组织策略与合同
保留期限 会话默认无限期保留;闲置快照最长可能保留 90 天 明确删除负责人,并审查法律与合规要求
Secret 构建期与运行期 Secret 分离;支持 OIDC 短期访问 优先使用受限、可过期凭证,绝不写入仓库配置
出网 可用域名控制约束目标地址 敏感仓库应从 Allowlist 起步,并记录拒绝事件

云端控制与保留条款会演进,采购或上线前必须再次核对。最终依据是 Cursor 当前安全文档和已签署合同。

Prompt Injection 攻击路径

一条现实的故障链是:

text
不可信 Issue、依赖、网页或仓库文件
  -> 指令进入 Agent 上下文
  -> Agent 选择终端或 MCP 动作
  -> 环境存在宽权限 Secret 或网络访问
  -> 数据或权限越过预期边界

逐段削弱这条链:

  1. 标记不可信输入,禁止其重新定义任务。
  2. 从常规环境移除生产凭证。
  3. 分离构建期与运行期 Secret。
  4. 在支持时使用 OIDC 等短期身份。
  5. 只允许访问必要域名。
  6. 高影响工具必须经人工批准。
  7. 对暴露凭证进行轮换,并保留事件证据。

完整威胁模型可参考 Prompt Injection:威胁模型与防御。

审查改动,不要审查表演

Cursor 可以提供 diff、commit、PR、Artifacts、日志和远程桌面。这些只是证据载体,只有与待证明结论绑定后才有价值:

声称 最低证据
"Bug 已修复" 修复前可复现、修复后回归测试通过
"API 契约没变" Schema 或 Golden File 差异 + 兼容性测试
"迁移安全" 在代表性数据上完成正向与回滚演练
"UI 正常" 确定性浏览器场景、断言与相关截图
"改动安全" 针对具体威胁的测试和人工审查,不能用模型自评

不要接受没有命令、版本和范围的"测试通过";不要把截图当作数据完整性证据;也不要因为 diff 很干净,就认定未修改文件一定不需要调整。

保留正常的分支保护和 CI 路径。Agent 可以准备 commit 或 PR,但不能自己给自己授予例外、批准自己的高风险改动,或削弱评判它的检查。

独立证据说明了什么,又没有说明什么

编码 Agent 的效率结论高度依赖工具代际、任务选择、仓库熟悉度,以及统计时是否包含审查与返工。

METR 在 2025 年完成了一项随机对照试验,覆盖 16 位熟悉目标仓库的开源开发者和 246 个任务,使用的是 2025 年早期工具。参与者预期 AI 会加快工作,但实测结果约为慢 19%。METR 现在明确提示:这只说明当时工具与实验条件,不能直接当作当前 Agent 的永久效率估计。

METR 在 2026 年 2 月的更新中解释,后续观察实验存在严重选择偏差:开发者可以自行决定什么时候使用 AI,导致使用与不使用 AI 的任务不再可比,无法可靠估计当前提升。这个案例说明,仪表盘里"用了 AI 的任务更快"不等于因果关系。

2026 年 3 月,METR 让维护者复核 296 个 Agent PR,关联三个仓库中的 95 个 Issue。自动 Grader 对这些改动的平均评分,比维护者实际合并决策高约 24.2 个百分点。样本只覆盖三个仓库,而且 Agent 没有获得人类贡献者通常能得到的迭代反馈,因此不能外推为普遍拒绝率;但它足以证明,Benchmark 通过与可合并是两种不同结果。

站得住的结论既不是"Agent 一定让开发者变慢",也不是"现在的 Agent 肯定更快",而是:用代表性任务评测当前工具,把审查和返工计入,并保留任务选择信息。

两周 Cursor 3 试点方案

把试点当作边界明确的工程实验,而不是一次全员 License 推广。

1. 建立任务集

在分配工具前,选择最近 24 至 40 个任务:

  • 30% 为低风险、规格清楚的维护;
  • 40% 为普通功能或测试工作;
  • 20% 为跨模块或有歧义的调试;
  • 10% 为安全、迁移或其他高后果任务,初期只观察、不授权执行。

记录预估难度、仓库、任务类型和开发者熟悉度。除非团队平时交付的就是玩具任务,否则不要用玩具项目替代真实工作。

2. 冻结验收契约

每个任务提前定义:

  • 可观察的预期行为;
  • 测试与静态检查;
  • 允许范围与禁止改动;
  • 必须提交的证据;
  • 回滚或失败处理;
  • 谁做最终验收决策。

必须在 Agent 运行前完成。看到结果后再移动标准,会让评测失去解释力。

3. 比较工作流结果

可以使用近期同类任务建立基线,或把符合条件的任务随机分配到现有工作流与 Cursor 辅助工作流。开发者主动拒绝使用 Agent 的任务也要保留,因为选择信号本身就是结果的一部分。

跟踪以下指标:

指标 定义
无需大改验收率 无需重写架构或行为即可接受的改动
端到端周期 从任务开始到被接受合并,包含等待与恢复
审查分钟数 人工检查、修正和重建证据的活跃时间
回归率 验收后引发测试失败、事故、回滚或用户缺陷的任务比例
策略违规 Secret、权限、范围、数据或分支控制违规
每个验收任务成本 License 分摊、模型/工具、计算和审查人力除以验收任务数
恢复时间 失败运行从诊断、回退到安全恢复所需时间

按任务类别报告中位数和尾部值。单一平均数会隐藏昂贵失败。

4. 从窄权限开始

使用测试数据、只读外部系统、短期身份、域名 Allowlist、受保护分支和人工合并。只有任务集证明某项能力确实必要后,才逐项增加。

5. 扩大前先做决策

试验前约定阈值。例如:零策略违规、回归率不升高、无需大改验收率至少 75%、P95 周期低于团队目标,而且目标任务类别的每个验收任务总成本下降。

可运行的 Go 评测门禁

下面的程序读取经过独立审查的任务记录;只要试点未达到阈值,就让门禁失败。它刻意评测被验收的工作,而不是 Agent 的自我汇报。

go
package main

import (
	"encoding/json"
	"fmt"
	"os"
	"sort"
)

type Record struct {
	TaskID           string  `json:"task_id"`
	Accepted         bool    `json:"accepted"`
	DurationMS       int64   `json:"duration_ms"`
	CostUSD          float64 `json:"cost_usd"`
	PolicyViolations int     `json:"policy_violations"`
	ReviewerMinutes  float64 `json:"reviewer_minutes"`
}

type Report struct {
	Tasks                      int     `json:"tasks"`
	AcceptanceRate             float64 `json:"acceptance_rate"`
	P95DurationMS              int64   `json:"p95_duration_ms"`
	CostPerAcceptedTaskUSD     float64 `json:"cost_per_accepted_task_usd"`
	ReviewerMinutesPerAccepted float64 `json:"reviewer_minutes_per_accepted"`
	PolicyViolations           int     `json:"policy_violations"`
	Passed                     bool    `json:"passed"`
}

func main() {
	if len(os.Args) != 2 {
		fail("usage: go run gate.go records.json")
	}

	file, err := os.Open(os.Args[1])
	if err != nil {
		fail(err.Error())
	}
	defer file.Close()

	var records []Record
	if err := json.NewDecoder(file).Decode(&records); err != nil {
		fail(err.Error())
	}
	if len(records) == 0 {
		fail("records must not be empty")
	}

	latencies := make([]int64, 0, len(records))
	accepted := 0
	violations := 0
	totalCost := 0.0
	totalReviewMinutes := 0.0

	for _, record := range records {
		if record.DurationMS < 0 || record.CostUSD < 0 || record.ReviewerMinutes < 0 {
			fail("duration, cost, and reviewer minutes must be non-negative")
		}
		latencies = append(latencies, record.DurationMS)
		totalCost += record.CostUSD
		totalReviewMinutes += record.ReviewerMinutes
		violations += record.PolicyViolations
		if record.Accepted {
			accepted++
		}
	}

	sort.Slice(latencies, func(i, j int) bool {
		return latencies[i] < latencies[j]
	})
	p95Index := (95*len(latencies)+99)/100 - 1

	report := Report{
		Tasks:            len(records),
		AcceptanceRate:   float64(accepted) / float64(len(records)),
		P95DurationMS:    latencies[p95Index],
		PolicyViolations: violations,
	}
	if accepted > 0 {
		report.CostPerAcceptedTaskUSD = totalCost / float64(accepted)
		report.ReviewerMinutesPerAccepted = totalReviewMinutes / float64(accepted)
	}

	report.Passed = accepted > 0 &&
		report.AcceptanceRate >= 0.75 &&
		report.P95DurationMS <= 900_000 &&
		report.CostPerAcceptedTaskUSD <= 3.00 &&
		report.ReviewerMinutesPerAccepted <= 20 &&
		report.PolicyViolations == 0

	output, err := json.MarshalIndent(report, "", "  ")
	if err != nil {
		fail(err.Error())
	}
	fmt.Println(string(output))
	if !report.Passed {
		os.Exit(1)
	}
}

func fail(message string) {
	fmt.Fprintln(os.Stderr, message)
	os.Exit(2)
}

实际阈值应匹配你的服务等级与风险。保留原始记录、抽样规则、基线、评测人身份、Cursor 版本、模型策略和环境版本,结果才可复现。若使用模型辅助判断主观输出,应按 LLM-as-a-Judge 方法用人工标签校准,并为确定性需求保留确定性检查。

生产推广门禁

从试点到日常使用应逐级扩大:

阶段 允许工作 必要控制 晋级证据
观察 只读调查与方案建议 无 Secret,不写外部系统 发现有用且审查者无需大量重建
贡献 测试、文档、隔离低风险代码 受保护分支、受限身份、必需 CI 验收率与审查时间稳定
集成 跨模块功能、选定 MCP 工具 出网控制、审计日志、回滚演练 零策略违规且恢复成本可接受
高后果 鉴权、数据迁移、基础设施、生产动作 独立批准、最小权限、专项测试 风险负责人显式批准,不能从前序阶段自动推断

每个阶段都保持六条不变量:

  1. 任务有具名人类负责人。
  2. 环境能从已知版本复现。
  3. Secret 按范围授权、尽量短期有效,且不存入 Rules 或仓库配置。
  4. Agent 无法绕过评判其输出的检查。
  5. 失败运行可以停止、检查并在状态明确的前提下恢复。
  6. 会话与 Snapshot 的删除计划有负责人。

常见失败模式

优化生成量

更多 Token、文件或并发 Agent 可能只会增加审查负担。应优化验收结果和端到端交付时间。

把 VM 当作 Secret 沙箱

VM 间隔离不能阻止命令沿允许的网络路径发送 Secret。凭证权限和出网范围必须分别约束。

把本地权限原样复制到云端

开发者完整凭证通常远超单个任务所需。应签发任务身份,而不是复刻笔记本权限。

只在 Rules 里写策略

规则可能被忽略、被其他上下文挤出,或被错误解释。关键策略必须由确定性系统执行。

并行任务共享隐式状态

共享迁移、生成文件与依赖锁会把并行执行变成合并冲突和语义冲突。派发前先声明所有权。

把 Benchmark 通过率当作合并率

测试 Harness 无法覆盖全部可维护性、产品和运维问题。指标必须包含审查决策与返工。

永久保留所有会话

默认保留不等于记录管理策略。敏感使用前必须明确删除、Legal Hold 与审计要求。

Cursor 3 适合什么团队

当团队具备以下条件时,Cursor 3 值得进入候选:

  • 已习惯以 IDE 为中心的工作流;
  • 构建可复现,而且自动化检查有实际判别力;
  • 能划分任务,并通过 Git 审查改动;
  • 能从远程执行或多仓库协调中受益;
  • 能建立受限云端身份与数据控制。

如果构建依赖未记录的本地状态、开发者日常持有生产权限、大多数任务依赖隐性领域判断,或审查者本就过载,则应谨慎。Agent 工作空间会放大开发操作系统,但不会替团队补出一个不存在的系统。

与终端优先或平台集成型工具对比时,应使用同一任务集、控制条件和成本定义。我们的 AI 编程工具对比方法说明了如何避开功能数量竞赛。

最终判断

Cursor 3 的长期价值,不在于宣称编辑器已经消失,而在于更明确地区分了分配工作、执行工作与验收工作。本地和云端 Agent 扩大执行方式;文件、LSP、浏览器、插件、MCP、Hooks 和 Rules 扩大上下文;diff、测试、Artifacts 与 PR 则让审查成为可能。

只有当这些界面缩短了"从任务到验收改动"的时间,同时没有削弱安全、也没有把隐藏劳动转嫁给审查者时,系统才真正有价值。用代表性试点、最小权限环境、独立证据和显式发布门禁证明它,比任何演示、模型标签或 Benchmark 标题都更可靠。

来源与延伸阅读