AI Agent 可跨数百仓库自动执行代码迁移并保证 PR 可合并,直接解决大规模重构的效率瓶颈。对基础设施升级团队价值巨大。
Agentic Batch Changes 现已进入公开 Beta:这是一个 AI Agent,能够确定范围、执行并交付跨数百个代码仓库的大规模代码迁移,持续推进,直到每个 PR 都具备可合并条件。
一次迁移,覆盖所有代码仓库。
大规模代码变更,是工程团队所从事的工作中成本最高、最容易出错,也最为繁琐的任务之一。并不是因为变更本身有多难,而是因为要在数百个代码仓库中完成变更、覆盖每一种差异、应对 CI 失败,并让每个 PR 都达到可合并状态,这本身就是一个极其复杂的协调问题。
每个工程团队最终都会遇到类似的问题:某个依赖需要升级;某个 API 发生变化,所有调用方都需要更新;某个安全漏洞突然暴露,而修复必须在下一次审计窗口到来之前覆盖所有受影响的代码仓库。困难之处不在于知道应该进行什么变更,而在于如何安全地大规模执行这些变更。
在此之前,工程团队只有四种选择:手动完成;构建脆弱的一次性自动化脚本;让某个 coding agent 在本地克隆数百个代码仓库,然后寄希望于它能够完成整个发布过程;或者干脆回避这次发布,让积压任务越堆越多。
今天,我们正式推出 Agentic Batch Changes 的公开 Beta。当迁移复杂到难以自行实现自动化时,就可以使用它。
Agentic Batch Changes 是一个构建在 Sourcegraph Batch Changes 执行引擎和代码搜索能力之上的 AI Agent。你只需要用自然语言描述想要执行的迁移,剩下的工作由 Agent 接手完成。
确定范围。 Agent 使用 Sourcegraph search 和 Deep Search,找出所有需要变更的代码仓库,理解每个仓库会受到怎样的影响,并制定执行计划。
执行。 Agent 通常会先在一个代码仓库中反复迭代,完善处理方案,然后再将其扩展到其余仓库。如果变更能够通过确定性脚本完成,它就会编写脚本;如果不能,它会将任务交给 coding agent 步骤,通过 Claude Code、Codex,或者经由 Sourcegraph Model Provider 接入的任意 coding agent,结合具体情况完成变更。
响应。 当 CI 失败时,Agent 会读取日志、分析失败原因,并推送后续修复 commit。你可以教它如何获取所使用平台的 CI 日志,无论是 BuildKite、GitHub Actions,还是其他系统。
迭代。 Agent 会持续工作,直到 pull request 的 CI 状态正常,可以交由人工审批。
确认。 当 Agent 遇到阻碍或需要你做出决定时,它会停下来询问。你也可以随时介入,纠正执行方向、补充上下文或改变方案。
工程师会在每个 changeset 合并之前进行审查和批准。目标始终是让它具备可合并性:不只是创建一个 PR,而是创建一个真正可以合并的 PR。
凡是单个 coding agent 能够在一个代码仓库中完成的工作,Agentic Batch Changes 都能同时在你的所有代码仓库中进行编排。
总部位于日本的电商平台 Mercari,在实验性预览阶段就开始使用 Agentic Batch Changes。Mercari Help Center 团队负责人 Patrick Klitzke 使用它在整个代码库中识别 GitHub Actions 环境变量注入漏洞,并开始大规模修复。
“我研究了一个 GitHub 注入问题,它要求正确设置环境变量。我只用一个 prompt,就同时修复了 Help Center 的前端和后端,随后又将修复扩展到 Mercari 的全部代码仓库。我发现大约有 80 个代码仓库可能受到影响。”Klitzke 表示。
真正引人注目的并不是速度,而是 Agent 在无须人工干预的情况下展现出的判断能力。Mercari 各个代码仓库的配置彼此相似,却并不完全相同。脚本化自动方案一遇到第一个差异就会失效,而 Agent 能够分别处理每个代码仓库。
“借助 Agentic Batch Changes,你可以处理那些配置相似但并不完全相同的代码仓库。普通的脚本化变更很可能只是进行文本搜索和替换,完全不了解相关代码在实际环境中是如何使用的。”Klitzke 表示。
Canva 也参与了预览,使用它按照代码所有权拆分 Bazel monorepo 中的 Batch Changes。
Agentic Batch Changes 专为那些过去复杂到难以自动化的代码变更而设计。目前效果较好的使用场景包括:
包含 breaking changes 的依赖升级。 在升级 major version、API surface 发生变化时,Agent 可以处理不同服务、不同代码仓库之间的差异。
有把握地修复 CVE。 Sourcegraph search 可以识别存在漏洞的 library 的每个实例。Agentic Batch Changes 会将修复交付到所有受影响的代码仓库中,Code Insights 则会跟踪修复进度,直至全部完成。
需要判断能力的代码模式更新。 这类重构需要理解上下文,而不是使用 regex。包括内部代码风格迁移、替换已弃用 API、移除 Go ioutil,以及处理 Java primitive constructor 弃用问题。
针对不同服务进行差异化的新 API 或 library 发布。 包括新的身份验证契约、替换第三方 library,以及 service mesh 变更。每个代码仓库通常都需要略有不同的更新。
CI pipeline 现代化。 包括构建系统变更、测试基础设施改造,以及统一整个仓库集群的 CI 配置。
生成文档和 AGENTS.md。 为每个代码仓库生成文档或指导文件,让代码库为 agentic tooling 做好准备。
我们很高兴今天能与你分享这款产品,也希望你能帮助塑造它!目前它仍处于公开 Beta 阶段,可能还有一些不够完善的地方。我们正在快速迭代,因为它的核心能力已经在真实客户环境中运行,并且已经产生了实际影响。在过去几周里,我们每天都在使用这个工具。
Agentic Batch Changes 面向跨多个代码仓库、覆盖整个仓库集群的变更,而不是单一代码仓库中的任务。它专门用于编排大规模变更,适合那些由你亲自协调会非常繁琐的场景。对于单一代码仓库中的 coding 任务,Claude Code 或 Cursor 会是更好的选择。
我们很想了解你的迁移需求,也相信这个工具能帮助你执行真正的迁移。如果遇到无法正常工作的情况,请告诉我们。你的反馈将直接影响我们接下来构建的功能。
Agentic Batch Changes 现已面向 Sourcegraph Cloud 客户提供公开 Beta,Beta 期间可以免费使用。Self-hosted 版本将于 2026 年 7 月 8 日随 Sourcegraph 7.5 一同推出。
访问 sourcegraph.com/agentic-batch-changes 或联系我们,即可开始使用。
扫清组织阻碍,更快完成交付。
Sourcegraph,面向企业的代码理解平台。