代码写得快,PR 不一定合得快。
Cursor 官网把产品定位为 AI coding agent,产品页同时列出 Agents 和 Tab。2026 年 3 月 9 日,智源社区收录的一篇报道转述 Cursor CEO 的说法:云端 Agent 已经可以规划、编码、调试,并交付“可评审工件”,已有 35% 的代码由 AI 完成。
这个比例来自公司方面的公开表述,不是行业平均值。它更值得注意的地方,是代码的交付单位变了。开发者收到的不再只是几行补全,而可能是一整份等待合并的改动。
放到 Cursor V4 这类更强调 Agent 的版本上,问题已经不是它会不会写某个函数,而是它交来一份跨文件改动后,人能不能在合并前真正看懂。
PR 变大了,理解速度没有
补全模式下,开发者仍然握着主要意图。AI 写下一行,人在当前上下文里判断对错,发现问题也容易回退。
Agent 接手任务后,情况不同。假设指令是“把基于 Session 的校验改成基于 JWT 的无状态校验,并清理冗余中间件”,改动可能涉及鉴权入口、中间件、API 调用、测试和文档。每个文件单独看都说得通,但评审者必须重新拼出完整行为:旧接口是否继续兼容,权限边界有没有变化,失败路径是否仍然成立,出了问题又该怎样回滚。
大 Diff 难审,不只是因为行数多。更麻烦的是,机械改名、接口调整、业务规则和测试更新往往混在一起。评审者看到的是一套前后自洽的修改,却未必能立刻发现某个业务约束已经消失。
可以把这种风险叫作“逻辑漂移”:实现大体沿着任务前进,局部行为却悄悄偏离了原始要求。代码能编译,基础测试也能通过,但产品规则已经不是原来的规则。
测试绿了,不代表需求没跑偏
当同一个 Agent 同时修改实现和测试时,CI 通过只能证明这两部分暂时一致,不能证明原始需求被完整保留。
例如,旧测试里原本有一条权限断言。Agent 修改实现后,如果顺手删除或放宽这条断言,流水线依然可能显示绿色。问题不在测试有没有运行,而在谁检查了测试本身为何变化。
这要求团队把验证拆得更清楚:
- 先保留并运行原有回归测试,再检查哪些断言被新增、删除或改写;
- 实现和测试尽量分开审,尤其关注被删除、放宽的校验;
- 接口契约、权限边界、兼容行为和失败路径交给独立检查覆盖;
- 暂时无法验证的部分直接写进 PR,不用一段顺滑的 Agent 总结带过。
独立检查不一定要再启动一个 Agent。已有的回归测试、契约测试、集成测试,以及熟悉模块的工程师,往往比多生成一份文字结论更有用。
DevOps 要交付证据,不只是跑完流水线
过去的 CI/CD 更关心代码能不能构建、测试能不能通过。面对 Agent 生成的大规模修改,流水线还要回答另外两个问题:这次到底改变了什么,还有什么没有验证。
一份真正可评审的工件,至少应当让审查者快速找到这些信息:
- 本次修改的目标,以及必须保持不变的业务约束;
- 受影响的模块、公开接口和调用关系;
- 被修改或删除的测试,以及修改原因;
- 已执行的验证、尚未覆盖的风险和回滚路径。
PR 也要按意图拆,而不是按 Agent 一次完成了多少来提交。机械重命名和行为变更最好分开,接口迁移和大面积测试改写也不宜全部塞进同一份 Diff。只要改动已经超过团队一次能够理解的范围,就应该继续拆。
AI 生成的变更说明可以充当导航,但不能充当证据。说明里的每个判断,最好都能落到对应代码、测试结果或接口差异上。
在使用 Agent 的任务里,工程师确实会少写一部分代码,但不会因此只剩下点击 Approve。约束怎么定义、结果如何验收、故障怎样回退,仍然要由最终点击合并的人负责。
Cursor 的优势,也会放大这个问题
一份关于 Cursor 创始团队播客的笔记提到,Cursor 选择基于 VS Code 分支开发,而不是只做一个扩展,原因是团队希望控制完整的代码编辑体验。
这种产品路线有明显好处。Agent、补全、代码修改和 Diff 可以被放进同一套工作流,开发者不必频繁在编辑器与对话框之间切换。但生成和接受修改越顺滑,大改动进入 PR 的门槛也越低。编辑器是在帮助人理解变更,还是只让“全部接受”变得更方便,会直接影响使用结果。
Cursor 的迭代速度一直很快。一份版本整理资料记录,2023 年 Cursor 有 3 次重大版本更新和近 40 次功能迭代,涉及模型、界面、性能和安全。工具不断提速并不意外,难点是团队的评审机制能否同步更新。
竞争对手也在推高代码产出速度。钛媒体的相关报道提到,OpenAI 推出 Codex Agent 编程模式,微软开源 GitHub Copilot Extension for VS Code,谷歌公布 Jules 私有预览版,Anthropic 则发布 Claude Opus 4 和 Claude Sonnet 4。
这些产品的路径不同,却都在把 AI 编程从“给出建议”推向“完成任务”。如果竞争只停留在谁写得更快,压力最终都会落到同一个地方:谁来解释、验证并承担这份代码。
下一代编辑器要回答“为什么”
传统 Diff 擅长展示哪些行被增加或删除,却不擅长解释行为为何变化。面对仓库级修改,评审界面还需要回答:哪些业务约束必须保持不变,哪些测试与实现一起被改了,哪些路径尚未验证,出现问题时如何撤回。
在这些信息成为标准交付物之前,整库重构都应该被看作一份待验证的草稿,而不是已经完成的工作。
Cursor V4 可以缩短生成 Diff 的时间,却不会替人承担理解 Diff 的责任。敲键盘的时间省下来了,工程师要把更多精力放在约束、证据和回滚上。代码写得越快,这部分工作越不能省。