用 Cursor 重构遗留代码库:从 PHP 到 React 的完整工作流

Amrita · Cursor 现场工程师 · 2026-09-13
听中文精华AI 合成朗读00:00
这是 Cursor 内部的一个巨大差异化优势——多仓库云端智能体,因为现实是,除非你有 monorepo 或者在小仓库里工作,你很可能确实希望一个仓库的上下文进入另一个仓库。
— Amrita

关联

这一集是 Cursor 官方的一场实操研讨会,主题是「用 Cursor 重构遗留代码库」。主讲人是 Amrita,她在加入 Cursor 做现场工程师之前是一名软件工程师,今天她用真实的 WordPress 开源仓库做演示——那里面大量组件还是 PHP 写的老代码——现场跑一遍完整的迁移流程,把 PHP 组件迁移到 React。她开场抛出的钩子很具体:同样的迁移,云端智能体可以合上笔记本让它自己干,一次完整迁移可能只花三四美元。

先说为什么是 Cursor。它有四种使用形态:IDE(VS Code 的一个 fork,喜欢原版调试器和扩展的人可以留下)、独立的智能体窗口(你的智能体按仓库排在旁边,是官方眼中的发展方向)、cursor CLI(适合保留 TMUX 工作流、或在 Android Studio/Xcode 这类没有原生 Cursor 方案的 IDE 里干活),以及今天的主角 Cursor Cloud Agents——运行在远程 Linux 虚拟机上的自主智能体,你可以启动任务后合上笔记本,它继续跑,完成后用视频、截图和测试证明自己确实做完了。云端智能体还能接进 Slack(比如自动检查在线文档和实现是否脱节、开 PR 供人审查)和 iOS 移动应用(可以从手机启动智能体、从本地转到云端继续处理)。

模型灵活性是另一个卖点。Cursor 聚合了各大前沿实验室的模型加开源模型(Kimi、GLM、自家的 Composer,以及刚发布的 Grok 4.6),但真正的价值在于组合:官方做过一个从零重建 SQLite 的案例研究,用一个更重型的模型做规划、一个更偏执行的模型写代码,总成本比单用 Fable 或单用 GPT-5.5 便宜得多。

Amrita 自己的选择是:写计划用 GPT-5.6 Sol,因为它「写得比 Grok 好」;云端批量执行用 Grok 4.6,因为她「通常避开 Anthropic 模型,它们往往比较贵」。而且模型不是全部——模型之上还有 Cursor 的 harness(工具执行、缓存管理、动态上下文管理、上下文组装这一层),这才是重构大代码库时真正发力的地方。

第一步:用 Canvas 审计 + Plan 模式定策略

方法论一共四步:审计、规划、拆工单、云端执行,最后加一层自动化防回潮。

审计用内置的 slash canvas:一句话让它分析代码库的测试覆盖率、标出缺口、并展示迁移到 React 后应在哪里补测试。Canvas 会生成可交互的可视化——按管理后台页面列出覆盖情况、标注「建议接下来迁移的」「之后的」「已在 React 里的」,还能一句话改成柱状图。

Canvas 可以发布成链接分享给同团队的人(团队外打不开),也能下载成 PDF。Amrita 把它当作迁移前快速「可视化代码库」的标准动作。

规划切到 plan 模式(输出是 markdown 文档,它永远不会在 plan 模式里写代码),并让她把要求写具体:迁移遗留组件、加测试验证无回归、画出当前架构图和迁移后的目标架构图(Cursor 用 mermaid 画图,也可以连到 Lucidchart、FigJam 输出)。关键动作是让智能体尽早来问你:它内置 Ask Question 工具,会追问「遗留组件太模糊,范围是什么?

」,你可以配置成至少问五个问题再动笔。计划遵循存在 Confluence 里的统一模板,产出包含功能/非功能需求、高层方案、现状与目标架构图、API 设计、数据模型和 feature flag 变更。

第二步:用插件把计划拆成 JIRA 工单

计划写好后,让她「把计划拆分为 JIRA 工单,发布到 Atlassian 的 WordPress 空间」。这靠的是 Cursor 的插件体系:Atlassian(Jira)、Datadog、Figma,以及新上的 Google Drive / Google Calendar / Gmail 都能直接接。

生成的每个工单自带目标、范围、验收标准、测试、依赖和备注,并自动分成多个阶段。多个不相关的任务还能开多任务模式并行处理。

第三步:交给云端智能体,合上笔记本

接下来是本场最有含金量的部分:在 cursor.com/agents 里,她只说「找到 WordPress 看板上所有指派给我的 JIRA 工单并全部处理,每个工单单独开一个 PR,并用截图或录像验证更改」。

几个关键细节:

  • 多仓库:云端智能体可以一次连多个仓库跨服务工作,官方称之为巨大差异化优势——改一个内部 SDK 的字段,所有依赖的客户端服务都能一起更新。
  • 成本:云端智能体因为跑得久、还会回传截图视频,token 消耗比本地高,所以要选便宜快的模型(Grok 4.6、Composer 2.5、GPT-5.6),一次完整迁移约三四美元。
  • 环境:首次搭建约 10-20 分钟,之后以「build」保存,后续秒起;本地的 MCP(Atlassian、Datadog 等)可以直接搬进云端。
  • 自我验证:云端智能体跑在带鼠标的 Linux 虚拟机上,能自己打开应用点击测试。她展示了之前一次 PHP→React 迁移的成品视频——Cursor 自己点登录、看评论、看用户,给视频各段加标注,证明迁移没引入回归。不想等的话还有「长时间运行智能体」模式,适合依赖更新、Python 版本升级这类要跑到测完为止的活。
  • 多 PR 而不是巨型 PR:一个塞几千行的 PR 根本没法 review,正确姿势是一工单一 PR,然后在不同 PR 之间切换着看各自覆盖了什么。

Cursor 内部实际的用法:周五让 Cursor 清积压工单,周一回来 review PR;分布在不同时区的团队可以靠云端智能体异步接力——一个团队睡觉,另一个团队接上。

第四步:用自动化防回潮

自动化(Automations)本质上就是「被调度或被触发的云端智能体」,触发方式包括时间、事件(PR 被打开、标签变更)、Slack/Teams 新消息、自定义 webhook(常见用法:Jira 工单从 to do 拖到 in progress 就自动触发)。

Amrita 现场建了一个「feature flag 清理器」:每周扫一遍仓库,找出过去 30 天没被使用的陈旧 feature flag,和 Datadog、Sentry 交叉核对确认没有问题,提交删除的 PR 并附上确认无回归的测试,完成后 Slack 私信她 review。她点破了这步的意义:遗留代码库沦落到要大重构,往往就是因为不够主动——依赖没更新、事情没提前做。

自动化让你「防患于未然」,从被动救火变成主动维护。不想从零建的话有现成模板:补测试覆盖、扫漏洞、事件分流(他们自己 on-call 就在用类似的——凌晨三点不叫醒人,先自动初查再发简报给值班者)。

问答里值得记的几点

  • 云环境的 API 密钥、机密、IP 允许列表都在环境设置里配置;企业数据存哪、存多久有专门文档。
  • 私有网络接入:不在 AWS 用 Cloudflare Tunnel,在 AWS 用 PrivateLink,也有 Tailscale/VPN 方案;还有自托管云智能体选项,但他们更常看到安全要求最高的客户直接用托管方案。
  • 团队协作风格的学习:Continual Learning 插件会往 agents.md 里写你的写作/编码风格,可做团队级;automations 则各自有 memories.md 文件,每次运行后从你的反馈中学习、越跑越好。
  • 想了解 Cursor Cloud 能访问什么,有一个 Cursor Cloud MCP,可以用来诊断失败的 run 和环境配置问题。
  • 本地可以用「@ chats」引用过去的对话作上下文,但这套是否延伸到云端她当场测了、表示要再确认。

本集带走

  • 四步法:Canvas 审计覆盖率 → plan 模式定策略(要求画现状+目标架构图)→ Atlassian MCP 拆成带验收标准的分阶段 JIRA 工单 → 云端智能体逐单执行、每单一 PR。
  • 让智能体先问你:进 plan 模式后主动让它追问范围(可配置至少五问),比事后返工便宜得多。
  • 云端选便宜快的模型:云端跑得久、耗 token 多,规划用重型模型、执行用便宜的,SQLite 案例证明组合比单模型便宜得多。
  • 永远多 PR,不搞巨型 PR:几千行的 PR 没法 review;一工单一 PR 才能逐个核对覆盖范围。
  • 用自动化消灭未来的重构:feature flag 清理、依赖更新、漏洞扫描这类活交给定时/事件触发的智能体,遗留代码是「不够主动」攒出来的。
  • 让智能体自我验证:要求它交截图、录屏、端到端测试来证明没引入回归,你对它的信任才立得住。
全部金句 3 条

这是 Cursor 内部的一个巨大差异化优势——多仓库云端智能体,因为现实是,除非你有 monorepo 或者在小仓库里工作,你很可能确实希望一个仓库的上下文进入另一个仓库。
So this is a huge differentiator within Cursor, multi-repo cloud agents, because the reality is, unless you have a monorepo or unless you’re working in smaller repos, you probably do want context from one repo going into another.
—— Amrita · [30:16]

这些都是你只能在 Cursor 得到的模型,这些云端智能体能以非常快速高效的方式使用它们,而且一次完整的迁移可能只花你三四美元。
These are all models you can only get in Cursor because these cloud agents are able to use them in a really fast, efficient way and only cost you maybe like three or four dollars for an entire migration.
—— Amrita · [31:00]

我还想补充的一点是,Cursor 云端智能体可能是很长一段时间以来我在任何 AI 产品中见过的最好的功能之一。
Some things that I do like to add is Cursor Cloud Agents is probably one of the best features I’ve seen for any AI product in a while.
—— Amrita · [47:54]

接着看

顺着「AI 编程」挖下去

换个口味