本文へスキップ

【Meta事例】数百人規模の労力を削減?AIエージェントによるリファクタリング自動化の効果

公開日

開発生産性
【Meta事例】数百人規模の労力を削減?AIエージェントによるリファクタリング自動化の効果
•••

近年、生成AIはコードの自動補完やテスト生成など、ソフトウェア開発の様々な場面で活用されています。しかし、人間が指示を出すだけでなく、AI自身が改善すべき箇所を発見し、自律的にコードを修正する段階へと開発支援の形は進みつつあります。

本記事では、Meta Platforms, Inc.の研究者らによって発表された論文「Autonomous Refactoring for Perfective Maintenance at Scale: The Agentic RACER System and its Empirical Evaluations」(2026年)に基づき、完全化保守を自律的に行うシステム「RACER」のアーキテクチャとその実証評価の結果について解説します。

RACERとは?大規模環境での完全化保守を自動化する仕組み

技術的負債を解消する完全化保守の重要性

ソフトウェア開発において、コードの複雑性を下げたり、使われていない関数を削除したりする作業は「完全化保守(Perfective Maintenance)」と呼ばれます。これは長期的な保守性を維持するために不可欠な作業ですが、短期的な機能開発の圧力に押され、後回しにされがちです。

完全化保守は対象が明確であり、指標(複雑度やカバレッジなど)に基づいて進めることができるため、自動化に適しています。そこでMeta社は、人間の介入を最小限に抑え、非同期で自律的にコード改善タスクを実行するAIエージェントシステム「RACER(Risk Aware Code Enhancement via Refactoring)」を構築しました。

タスク発見からレビュー提出までを担うアーキテクチャ

RACERは、単にコードを生成するだけのツールではありません。大規模なコードベースの中から改善の機会を見つけ出し、優先順位をつけ、パッチを生成し、人間のレビュアーに提出するまでの工程を一貫して行います。

図表1:RACERのアーキテクチャ構成

RACER architecture

上の図表1は、RACERの全体的な構造を示しています。システムは主に以下のコンポーネントで構成されています。

  • 発見モジュール(Discovery Layer): BigGrep(パターンベースの問題検出)やDeadCode(未使用コードの検出)などの社内データソースを活用し、改善すべきタスクを特定します。
  • 実行レイヤー(Execution Layer): Confuciusというフレームワーク上で動作するCodingAgentが、コードを生成し、コンパイルやリファクタリングのテストを反復して行います。
  • 管理および品質管理レイヤー: 修正されたコード(Diff)は、CI/CDパイプラインを通したテストや事前の品質チェックを経て、適切な人間のレビュアーに割り当てられます。

このように既存の開発インフラと密接に統合することで、RACERは大規模環境での自律的な運用を実現しています。

RACER導入による開発者の生産性向上と純労力削減効果

本研究では、Meta社内の大規模リポジトリを対象に、RACERが本格稼働した期間(運用開始から6ヶ月目〜10ヶ月目)に承認・マージされたすべてのコード変更データを収集し、分析を行いました。今回は「 Diff Authoring Time(DAT) 」という開発にかかる時間を測る社内指標を用い、純粋な労力削減効果を算出しています。

人間とAIの差分作成時間の比較

まず、人間が手作業で行った場合と、RACERを活用した場合の労力(DAT)を比較します。

図表2:1つのDiff(コード変更)あたりのDATと参加者の比較(一部抜粋)

カテゴリAverage DAT/Diff
手動による通常の変更1.000
手動による保守作業(RACERなし)0.760
RACERによる変更(人間が一部修正)0.337
RACERによる変更(無修正で承認)0.042

図表2は、手動による通常の変更にかかる労力を基準(1.000)とした場合の比較結果です。人間が手作業で行う保守作業(リファクタリングなど)は、通常の機能開発よりも少し低い0.760の労力を要します。

これに対し、RACERが作成したパッチを人間が一部修正して適用した場合、労力は0.337まで低下します。さらに特筆すべきは、RACERが作成したコードがそのまま無修正で承認された場合、その労力はわずか0.042となり、手動基準の4%の労力でタスクが完了していることです。

エージェント開発・維持コストを上回る大幅な労力削減

RACERを活用することで1件あたりの作業時間は大幅に減少しますが、真の生産性向上を確認するには、RACERシステムの開発や維持に費やされた時間も計算に含める必要があります。

図表3:エージェントの維持労力を考慮した推定削減効果(一部抜粋)

項目DATの範囲推定エンジニア数
RACER使用による労力削減分[111, 126][7.14, 8.15]
RACERの開発・維持に費やした労力-36.4-2.36
合計の純労力削減[39, 57.4][2.51, 3.71]

図表3が示すように、運用期間(6〜10ヶ月目)におけるRACERの自動化によって節約された労力から、RACERの開発・保守にかかった労力を差し引いても、明らかなプラスの純削減効果が確認されました。論文内では、この削減効果はエンジニア数百人分の4ヶ月の作業量に匹敵すると報告されています。

AIによるリファクタリングは将来の保守性を高めるか?

AIが自動生成したコードが、単にその場しのぎの修正になっていないかを確認することも重要です。リファクタリングの真の価値は、改善されたコードを将来メンテナンスする際の負担が減ることにあります。

Difference-in-Differences(DiD)分析を用いた検証

研究チームは、RACERによってリファクタリングされたファイルと、人間の開発者によってリファクタリングされたファイルについて、その後のメンテナンス作業にかかる労力(DAT)の変化を比較しました。この比較にはDifference-in-Differences(DiD:差分の差)分析という統計手法が用いられています。

人間と同等以上の保守労力削減効果を確認

分析の結果、人間によるリファクタリング後も、RACERによるリファクタリング後も、対象ファイルに対するその後の作成労力(DAT)は大幅に減少していることがわかりました。

さらに、ファイルの複雑さや変更履歴などの変数を制御した上で比較すると、RACERがリファクタリングしたファイルは、人間が手掛けたファイルと同等、あるいはそれ以上に将来のメンテナンス労力を削減する効果があることが確認されました。これは、RACERが複雑さの高い問題箇所を的確に見つけ出し、将来の摩擦の原因となる部分を効果的に取り除いていることを示唆しています。

まとめ

Metaの事例からわかるように、完全化保守のような対象が限定されたタスクにおいては、AIエージェントによる自律的なシステム構築がすでに現実のものとなっています。

RACERのようなシステムは、コードベースの健康状態を保ちながら、開発者がより複雑で創造的な業務に集中するための時間を生み出します。ツールの開発や運用にかかるコストを考慮しても十分な見返りが得られており、さらなる品質保証やフィードバック機能の強化によって、自律型ソフトウェア保守の適用範囲は今後さらに広がっていくと考えられます。


生成AIの導入や活用にお困りですか? 弊社のサービス は、開発チームが抱える課題を解決し、生産性と幸福度を向上させるための様々なソリューションを提供しています。ぜひお気軽にご相談ください!

参考資料:

Author: vonxai編集部

Google Scholarで開発生産性やチーム開発に関する論文を読むことが趣味の中の人が、面白かった論文やレポートを記事として紹介しています。