はじめに
こんにちは。プロセス改善・アジャイルコーチで、Tech Blog編集長の高橋(@Taka_bow)です。
皆さんは、2021年6月に生まれたGitHub Copilotを利用していますか?
この生成AIベースのコーディング支援ツールは、コードの自動補完や生成、関数の自動生成、エラー修正支援など、開発者の作業を多面的にサポートします。
ファインディでは2023年3月から導入し、開発チーム全員が日常的に活用しています。Findy Team+で効果を測定した結果、コーディングの効率化やコミュニケーションコストの削減、さらには開発者の満足度向上など、多くの利点が確認されました。
今回は、このようなソフトウェア開発における生成AIの影響を分析した最新の論文を紹介します。GitHub Copilotが開発プロセスにもたらす変化や、開発者の生産性への影響についての研究が書かれた、興味深い論文です。
生成AIが高度なスキルを要する仕事に与える影響
2024年9月5日、GitHub Copilotに関する1つの論文がプレプリントサーバーのひとつSSRN(Social Science Research Network)に公開されました。
直訳すると
「生成AIが高度なスキルを要する仕事に与える影響:ソフトウェア開発者を対象とした3つのフィールド実験からの証拠」
といったところでしょうか。
査読前論文なので、現在は誰でも読むことが出来ます。
この論文は、Kevin Zheyuan Cui氏(プリンストン大学)、Mert Demirer氏(マサチューセッツ工科大学)、Sonia Jaffe氏(マイクロソフト)、Leon Musolff氏(ペンシルベニア大学ウォートン校)、Sida Peng氏(マイクロソフト)、およびTobias Salz氏(マサチューセッツ工科大学)によって執筆されたもので、大規模な実験の結果を分析した科学的アプローチの成果が記されています。
実験の概要
この研究では、GitHub Copilotの効果を検証するため、大規模なランダム化比較試験が行われました。実験の舞台となったのは、Microsoft、Accenture、そして匿名のFortune 100エレクトロニクス製造会社の3社です。
驚くべきことに、この実験には実に4,867人もの開発者が参加しました。
参加者は2つのグループに分けられ、一方にはGitHub Copilotが提供され、もう一方は従来の開発手法を継続しました。この比較により、GitHub Copilotが本当に開発者の生産性を向上させるのか、客観的に検証することが目的でした。
また、各社の実験期間は次の通りです。
- Microsoft:2022年9月初旬から2023年5月3日まで(約7ヶ月間)
- Accenture:2023年7月末から2023年12月まで(約4ヶ月間)
- 匿名の大手企業(Fortune 100):2023年10月から2ヶ月間(段階的にロールアウト)
このような実験の設計により、異なる企業環境や期間での GitHub Copilotの効果を包括的に評価することが可能となりました。
具体的な成果
実験結果は、GitHub Copilotの効果を明確に示しています。
GitHub Copilotを使用した開発者グループでは、次のような顕著な改善が見られました。
- タスク完了数: 平均で26.08%増加(標準誤差: 10.3%)
- コミット数: 13.55%増加(標準誤差: 10.0%)
- コードコンパイル回数: 38.38%増加(標準誤差: 10.0%)
これらの数字は、GitHub Copilotが開発作業全体の効率を確実に向上させていることを示しています。特筆すべきは、経験の浅いジュニア開発者への効果です。このグループでは、
- GitHub Copilotの採用率がより高く
- 生産性の向上がより顕著
であったことが報告されています。このことから、GitHub Copilotが特にキャリア初期の開発者のスキル向上と生産性増加に大きく貢献する可能性が示唆されています。
シニア開発者には控えめな効果
この研究で特に注目すべきは、GitHub Copilotがジュニア開発者とシニア開発者に与えた影響の違いです。
ジュニア開発者への影響
GitHub Copilotは、経験の浅い開発者に対して特に大きな効果を示しました。
- 新しいコードの書き方や構文を効率よく学習
- タスクの進捗が大幅に向上
- プルリクエスト数が40%増加(シニア開発者は7%)
これらの結果から、GitHub Copilotはジュニア開発者にとって単なる補助ツールを超えた学習ツールとしての役割を果たしていると考えられます。
シニア開発者への影響
一方、シニア開発者に対する影響は比較的小さいものでした。これには次のような要因が考えられます。
- すでに確立された作業スタイルがある
- 新しいツールの採用に対する慎重さ
詳細な比較
次の表は、ジュニアとシニア開発者におけるGitHub Copilotの効果の違いを示しています。
項目 | ジュニア開発者 | シニア開発者 |
---|---|---|
プルリクエスト増加率 | 40% | 7% |
コミット数増加率 | 21% | 16% |
ビルド数増加率 | 29% | 13% |
GitHub Copilot採用率 | 82.1% (±2.1pp) | 76.8% (±2.1pp) |
採用後1ヶ月後の継続使用率 | 84.3% | 74.8% |
GitHub Copilot提案受け入れ率 | 25.2% | 24.7% |
注:この研究では、会社での採用時の職位や在職期間に基づいて開発者を「ジュニア」と「シニア」に分類しています。具体的な基準については詳細が明らかにされていません。
ツール採用パターンの違い
実験結果から、GitHub Copilotの初期採用率は予想外に低かったことが分かりました。
Microsoftでは最初の2週間で採用率が42.5%にとどまり、リマインダー後に64%まで上昇。Accentureでは全体で約60%の採用率でした。
この結果は、新しいツールの導入には単なる提供以上のものが必要だということを示しています。適切なトレーニングやサポートが不可欠で、段階的な導入や定期的なリマインダー、効果的な使用法の教育セッションなどが有効な戦略となりそうです。
これらの知見は、GitHub Copilotに限らず、新技術の導入時に直面する一般的な課題を反映しています。単にツールを導入し、現場任せにするだけでは、効果的に活用できないでしょう。急速に進化する開発環境では、新ツールを戦略的に導入し、継続的にサポートすることが、組織の競争力を保つうえで極めて重要です。
補足:Accentureの実験初期のデータ破棄(論文付録D)
Accentureの実験には意外な展開がありました。2023年4月に同社が実施した大規模なレイオフ(19,000人の従業員削減)により、当初の実験が中断を余儀なくされたのです。
このレイオフは実験にも大きな影響を与えました。
- 実験参加者の42%が影響を受ける
- データの質に問題が生じる
- GitHub Copilotの使用状況や採用データの記録が不十分に
結果として、この初期実験のデータは信頼性に欠けるものとなりました。しかし、204人の開発者に絞って行った分析では、次のような傾向が見られました。
- プルリクエスト数: 39.18%減少 (標準誤差: 36.78%, 統計的に有意ではない)
- コミット数: 43.04%増加 (標準誤差: 38.80%)
- ビルド数: 12.33%増加 (標準誤差: 53.60%)
これらの結果は統計的な信頼性が低く、実験結果としては参考程度にとどめるべきでしょう。
おわりに:試されるのは「人間」
この研究から、GitHub Copilotがソフトウェア開発者の生産性向上に確かな効果をもたらすことが明らかになりました。特に、ジュニア開発者への顕著な効果は注目に値します。
一方で、シニア開発者への効果が限定的だった点も興味深い発見です。これは、経験豊富な開発者がすでに高いスキルを持ち、AIのサポートをそれほど必要としていない可能性を示唆しています。
しかし、ジュニア開発者がAIの提案を鵜呑みにするリスクも考慮する必要があります。ここで、シニア開発者によるコードレビューの重要性が一層高まると言えるでしょう。
調査会社の米ガートナーが発表した内容によると、AI コードアシスタント(生成AI)に関するマジック・クアドラントと共に、次のような予測がなされていました。
戦略的計画の仮説
- 2027年までに、ソフトウェア開発ライフサイクル(SDLC)のあらゆるフェーズを拡張するためにAIを活用するプラットフォームエンジニアリングチームの割合は、5%から40%に増加する。
- 2027年までに、80%の企業がAIで拡張されたテストツールをソフトウェアエンジニアリングツールチェーンに統合しており、これは2023年初頭の約15%から大幅な増加となる。
- 2027年までに、AI生成コードに対する”ヒューマン・オーバーサイト”(人間がAIに対して動きを見たり止めたりできる)*1 が不足しているために、本番環境に流出するソフトウェア欠陥が25%に達し、2023年の1%未満から大幅に増加する。
- 2028年までに、90%の企業のソフトウェアエンジニアがAIコードアシスタントを使用するようになり、2024年初頭の14%未満から増加する。
- 2028年までに、生成AI(GenAI)の使用により、レガシーアプリケーションのモダナイゼーションコストが2023年の水準から30%削減される。
Figure 1: Magic Quadrant for AI Code Assistants
ここでも、人間側によるチェックが不足することでソフトウェア欠陥の上昇が予測されており、結局のところ、AIツールの活用と人間の経験や判断力のバランスが、質の高い開発プロセスの鍵となりそうです。
私たちに求められるのは、技術の進化を単に観察するだけでなく、それを最大限に活用しつつ、人間ならではの創造性や洞察力を発揮していくことです。この新しい時代の開発環境で、私たちはどのような価値を生み出していけるでしょうか。その答えを、皆さんと一緒に見つけていきたいと思います。
お知らせ!
現在、私と一緒にイネイブリングチームの立ち上げを行うメンバーを探しています!
イネイブリングチームは、単なる開発支援を超えた重要な役割を担います。
- 組織全体のエンジニアリング力を向上
- 開発スキル向上のためのトレーニングやワークショップを実施
- プロセス改善の提案とコーチングを行い、開発生産性とDevExを向上
- 社内外のエンジニアを対象とした活動を展開
このチームで、ファインディの成長エンジンとなりませんか?興味がある方は、ぜひこちらをクリックしてみてください↓
他にも、ファインディでは一緒に働くメンバーを募集中です。
*1:AIの文献で良く出てくる"human oversight"は適した日本語訳がなく、一旦このように訳した