Agentic Batch Changes 现已进入公开测试阶段

Sourcegraph Blog 2026-07-29T23:42:28.657671

Agentic Batch Changes 现已进入公开 beta 测试:一个 AI 智能体,能够为横跨数百个仓库的大规模代码迁移划定范围、执行并交付,直到每个 PR 都达到可合并状态。

一次迁移,覆盖所有仓库。

大规模代码变更是工程团队最费钱、易出错且枯燥的任务之一。不是因为改动本身有多难,而是要在成百上千个仓库中执行,捕捉每一种细微差异,应对 CI 失败,并让每个 PR 都达到可合并状态——这本身就是一个巨大的协调难题。

每个工程团队最终都会遇到同样版本的问题:某个依赖需要升级;某个 API 变了,所有调用方都得更新;某个安全漏洞突然曝出,修复必须在下一次审计窗口前覆盖到所有暴露的仓库。真正难的并非知道要改什么,而是安全地大规模执行。

在此之前,工程团队通常只有四个选择:人工操作、编写脆弱的临时自动化脚本、让一个编码智能体在本地克隆数百个仓库并赌它能顺利完成整个部署,或者干脆推迟升级让积压问题越滚越大。

今天,我们正式发布 Agentic Batch Changes 的公开测试版。当迁移过于复杂、无法靠你自己自动化时,它就是你要用的工具。

它能做什么

Agentic Batch Changes 是一个基于 Sourcegraph 的 Batch Changes 执行引擎和代码搜索构建的 AI 智能体。你只需用自然语言描述想要执行的迁移任务,智能体就会接手后续工作。

它的工作循环如下:

  1. 划定范围。智能体利用 Sourcegraph 搜索和 Deep Search,找出所有需要变更的仓库,理解每个仓库会受到怎样的影响,并制定执行计划。

  2. 执行。智能体通常先在一个仓库上迭代,优化自己的方法,然后扩展到其余仓库。如果变更可以通过确定性脚本完成,它就直接编写脚本;如果不行,它会转交给一个编码智能体步骤(Claude Code、Codex,或通过 Sourcegraph Model Provider 接入的任何编码智能体),由智能体根据判断应用变更。

Agentic Batch Changes 现已公开测试

  1. React(反应):当 CI 失败时,智能代理会读取日志,找出原因,并推送后续提交。你可以教它如何获取你的 CI 日志:无论是 BuildKite、GitHub Actions 还是其他工具。

  2. Iterate(迭代):智能代理会持续工作,直到拉取请求(PR)通过 CI 检查、可供人工批准为止。

  3. Check in(检查确认):当智能代理卡住或需要决策时,它会停下来询问。你也可以随时介入,纠正方向、补充上下文或改变策略。

工程师会在每个变更集合并前进行审查并批准。目标始终是“可合并”:不仅仅是创建一个 PR,而是创建一个可以随时合并的 PR。

单个编码智能体在一个仓库里能做的事,Agentic Batch Changes 都能在你的所有仓库上同时编排完成。

Mercari 如何使用它排查全平台的供应链安全漏洞

日本电商平台 Mercari 在实验预览期间就已经使用了 Agentic Batch Changes。其帮助中心团队负责人 Patrick Klitzke 用它来发现整个代码库中 GitHub Actions 环境变量注入漏洞,并开始大规模修复。

“我处理了一个 GitHub 注入问题——你需要正确设置环境变量。我用一条提示就修复了帮助中心的前端和后端,然后把它扩展到 Mercari 的所有仓库。我发现了大约 80 个可能受影响的仓库。”Klitzke 说。

让人印象深刻的不是速度,而是智能代理在执行任务时展现出的判断力,几乎不需要人工干预。Mercari 的仓库配置相似但并不完全相同。如果用脚本自动化,遇到第一个差异就会崩溃。而智能代理会逐个处理每个仓库。

“借助 Agentic Batch Changes,你可以处理那些配置相似但不完全相同的仓库。普通的脚本化变更很可能只是文本搜索替换,完全没考虑实际的上下文。”Klitzke 说。

Canva 也参与了预览,他们用它在 Bazel 单仓库中根据代码归属来拆分批量变更。

查看原文