9月14日、Sourcegraphが「Introducing Agentic Batch Changes: the frontier agent for code change at scale」と題した記事を公開した。この記事では、自然言語で指示するだけで数千リポジトリにまたがるコード変更を自律的に実行するAIエージェント「Agentic Batch Changes」の正式提供開始について詳しく紹介されている。
「1人で数千リポジトリを変更する」を現実にする
大規模なコードベースには必ず「やらなきゃいけないが誰も手をつけられていない変更リスト」がある。.NETのバージョンアップ、廃止予定のAPIを未だに呼び出している十数のサービス、いつの間にか各所で乖離したCIの設定——。1つのリポジトリなら対処できる。しかし数百・数千のリポジトリに横断展開しようとすると、ある場所で動いた修正が別の場所では動かず、「本当に全部直ったか」を誰も自信を持って答えられない状態になる。
Sourcegraphはこの問題に長年取り組んできた。既存のBatch Changesは、変更スクリプトを書けば対象リポジトリへの一括プルリクエスト作成・マージ追跡を実現するツールで、すでに世界最大級のエンジニアリング組織に導入されている。Batch ChangesはSourcegraphが持つコード検索・インデックス基盤と密接に連携しており、数千のリポジトリを横断して対象コードを高精度に特定できる点が強みだ。これまでに数十万件のチェンジセット・数千万行のコードがマージされており、単一のBatch Changeで2,200件以上のチェンジセットがマージされた事例も存在する。
今回発表されたAgentic Batch Changesは、そのBatch ChangesにAIエージェントを組み合わせ、「スクリプトを書く」工程ごと自動化したものだ。Sourcegraphのコード検索基盤が持つリポジトリ全体のインデックスをエージェントが活用することで、変更対象の特定から実装の差異吸収まで、コードの文脈を踏まえた自律的な処理が可能になっている。
仕組み:スクリプト生成とコーディングエージェントの使い分け
ユーザーが行うのは、変更内容を自然言語で伝えることだけだ。あとはエージェントが以下を自律的に進める。
- インデックス済みコードベースから対象スコープを特定し、変更計画を立案
- まず1リポジトリで変更を試し、その結果をもとに他のリポジトリへ展開
- リポジトリごとの差異に合わせて変更内容を適応
- CIが失敗した場合はその内容を解析して対処
- レビュー・マージ可能な状態になるまで作業を継続し、マージ状況を一元管理
技術的に面白いのは、エージェントが「判断が必要な箇所」と「単純な繰り返し作業」を使い分ける設計になっている点だ。大規模マイグレーションの大半は「同じ変更を何百回も繰り返す作業」であり、そこにコーディングエージェントを毎回起動するのはコスト的に非効率だ。Agentic Batch Changesは判断不要な箇所にはスクリプトを生成して実行し、文脈の読み取りが必要な箇所だけClaude CodeやCodexにリポジトリを渡す。これがスケール時の効率を保つ鍵だという。
差分はリアルタイムで確認でき、途中でユーザーが介入することも可能。エージェントが判断を必要とする場面では処理を止めて確認を求める。
単一リポジトリで1つのコーディングエージェントが実行できることを、Agentic Batch Changesはすべてのリポジトリで同時にオーケストレーションできる。
ベータでの実績:MercariとCanvaの事例
ベータ期間中、顧客は約1,000件のチェンジセットをAgentic Batch Changesを通じてマージした。
Mercari(日本のマーケットプレイス)では、GitHub Actionsの環境変数インジェクション脆弱性の修正に活用された。Team LeadのPatrick Klitzke氏はこう述べている。
「環境変数を正しく設定する必要があるGitHubのインジェクション問題を調べていました。ヘルプセンターのフロントエンドとバックエンドの両方を1つのプロンプトで修正し、Mercariの全リポジトリに展開しました。影響を受けるリポジトリが約80件見つかりました。通常のスクリプトによる変更はテキスト検索と置換になりますが、Agentic Batch Changesはコードが実際にどう使われているかという文脈を持った変更ができます。」
セキュリティ修正の場面でこの「文脈を理解した変更」が効いた、という点は重要だ。単純な文字列置換では対応できない、リポジトリごとの実装差異をエージェントが吸収している。これはSourcegraphのコード検索基盤がリポジトリ全体の構造・依存関係をインデックスしているからこそ実現できる動作であり、汎用的なコーディングエージェントを単体で使う場合との大きな差別化点となっている。
Canvaではライブラリ移行に使用。50件以上のPRをAgentic Batch Changesで一括作成・追跡し、Senior Software EngineerのWilliam L.氏はこう評価している。
「これがなければ、巨大なPRか、追跡用のスプレッドシートを管理していたはず。Agentic Batch Changesはその両方を不要にし、レビュアーにとっても自分にとっても作業を楽にしてくれた。」
他にも依存関係のアップグレード、廃止API置換、フレームワーク展開、CIパイプラインの近代化、EOL対応といったユースケースが確認されている。
価格モデル:マージされたチェンジセット単位の成果報酬型
料金設計も特徴的だ。トークン数・シート数・試行回数ではなく、コードベースにマージされたチェンジセット1件ごとの課金となる。PRが作成されても、チームがマージしないと決めた場合は費用が発生しない。
提供状況
Agentic Batch ChangesはSourcegraph Cloudユーザー向けに、9月14日よりデフォルト有効で提供開始されている。デモや詳細は公式ページまたはアカウントチームへの問い合わせで確認できる。
詳細はIntroducing Agentic Batch Changes: the frontier agent for code change at scaleを参照していただきたい。