Blog

KAG開発業務における生成AIの活用 ~GitHub Copilot活用状況・導入効果と今後の展望について語りたい!!!~

2023/11/04

KAG_loves_GitHub_Copilot_thumb

KAGで生成AIの活用が盛り上がっています!

KDDIアジャイル開発センター株式会社(KAG)/KDDIの三宅です。

KAGでは生成AIが非常に盛り上がっています! (本記事のサムネイル画像はChatGPT(DALL-E 3)で生成しています)

この盛り上がりはエンジニアだけでなくデザイナーやプロダクトオーナーなどロールを問わず活用しています。

今回は生成AI活用の中でも我々KAGのエンジニアが最も身近に活用しているGitHub Copilotについて利用状況や効果について共有します!

まずはざっくり結論(KAGのGitHub Copilot利用状況)

GitHub Copilot telemetry(2023_09_23) KAGでは3割くらいGitHub Copilotからの提案コードを受け入れています。 すでにGitHub Copilotを利用している方ならこれだけでKAGの利用状況が大体分かるかもしれません。

ここからは、GitHub Copilotとは?開発業務で利用する上で考慮していることは?という基本的な内容から、KAGにおけるGitHub CopilotのTelemetry(利用状況)についての考察、利用者に向けたアンケートによる導入効果について説明していきます。

GitHub Copilotとは

GitHubが提供しているAIによるコーディングツールです。 ユーザーはコメントやコードの一部を入力することで、AIからコードの提案を受け、まるでAIと一緒にペアプログラミングをしているような感覚でソースコードを実装することができます。

GitHub Copilot について

AI_pair_programming

また、KAGではGitHub Copilot for Businessを利用することで、著作権・ライセンス侵害とプライベートな情報の流出リスクを考慮しています。

具体的には、Organization全体にパブリック コードに一致する候補をブロックする設定をポリシーとして管理することで著作権やライセンス侵害のリスクを低減しています。 さらに、GitHub Copilot for Businessでは、Copilotがコードを提案する際に必要なコンテキストとして収集した私たちのコードや、Copilotから提案されたコードの候補はGitHub側に保持されることはなく、Copilotの学習・改善に利用されることはありません。

GitHub Copilot for Business について

どのようにGitHub Copilotを使っているのか?

GitHub Copilot telemetry(2023_09_23)

上記がGitHub Copilotの利用状況データです。 注目すべきポイントはGitHub Copilotからのコード提案の受け入れ率(Acceptance Rates)です。28.4%ということでだいたい3割ほどAIの提案を受け入れています。

また、言語別に見ていくと以下の状況です。 GitHub Copilot telemetry 言語別

Accepts(提案の受け入れ数)上位で見ていくと、TypeScript(React), JavaScript, TypeScript, Python, Javaが他の言語/フレームワークよりも桁が一つ大きく3000台です。さらにAccept Rateを見ていくとJavaScriptが41.77%, Pythonが32.92%, TypeScriptが32.55%, Javaが30.08%となっており全体平均の28.4%以上です。 これら言語別の数値は私が認識しているKAGの技術スタックに近い印象です。

GitHub Copilotの導入効果

アンケートによる評価

アンケート回答者56名に対して、以下の2つの観点でアンケートに回答してもらいました。

  • 1日あたりの削減時間と実装にかける時間比率を回答
  • 以下7項目について「そう思わない」〜「そう思う」の5段階で回答
    • 自身の生産性が向上した
    • チームの生産性が向上した
    • コーディング作業時、より長い時間、集中を維持できるようになった
    • コーディング作業で発生する認知負荷やストレスが軽減された
    • 反復的な作業(類似性の高いコードの記述、パターンに基づく実装など)にかかる時間が短縮された
    • コーディングに関連する作業(Web検索やコードリーディングなど)にかける時間が短縮された
    • 一連の実装の完了までにかかる時間が短縮された

まずは、削減時間の体感についてです。 1日あたりの平均削減時間は約34分となりました。1ヶ月あたりに換算すると約10.8時間(20営業日)です。 1日あたりだと少し弱い印象ですが、それが積み重なっていくことで1ヶ月あたりの数値で見ると改善効果としてインパクトが強いですね。 実装作業は日々継続していることなので、これが半年、一年と積み重なるとても大きな改善に繋がります!

次は7項目の定性的な設問の結果まとめです。 平均値および中央値は「そう思わない」を1、「そう思う」を5として算出しています。 GitHub Copilot定性アンケート結果まとめ

どの設問においても、ポジティブな回答が多数を占めていました。

GitHub Copilotの利用状況データからの考察

GitHub Copilotの利用状況データを再掲します。 GitHub Copilot telemetry(2023_09_23)

GitHub Copilot telemetry 言語別

現状、受け入れ率が28.4%ということで大体3割くらいのコードをCopilotから提案してもらったものをまずは受け入れています。 提案されたコードの内容を読んで吟味したり、必要に応じてコードを修正しているので、単純に30%の効率化であったり、コードを書く時間の削減という ことでは無いと考えています。 導入効果のイメージとしては効率化・工数削減というより機械的にできる作業をAIが手伝ってくれることで、自分の頭を使う部分にフォーカスできるようになった(=能力を拡張できた)という方が個人的にはしっくりきます。 今まで公式ドキュメントを読んだり、サンプルコードをコピペしていた手間が省けて、より短時間でコードの形に落とし込めるようになりました。 それによって、そのコードでどんな価値を提供したかったんだっけ?何が嬉しいんだっけという部分によりフォーカスできるようになりました。

今後の展望

Copilot導入によるエンジニアメンバーの能力拡張や生産性向上効果をより定量的に計測していきたいです。 そのためにはGitHubから取得できる各種メトリクスや、それらを自動収集して可視化できるようなFindy Teams+のような便利なツールを活用することで実現していきます。 また、今後のソフトウェア開発領域における生成AIでは、個人・チーム・企業の独自の文化やノウハウを取り込んでチューニングされていくことでさらに業務活用が進むと考えています。 GitHub CopilotなどのAIペアプログラミングツールも今後は個人・チーム・企業のクセや好みに寄り添った提案をしてくれるよう個別にモデルをチューニングできる世界になってくるのではないかと私は予想しています。

まとめと結論

KAGにおけるGitHub Copilotの活用状況と今後の展望について記載しました。 ざっくり3割くらいを生成AIにより提案されたコードを受け入れています。現状これは色々な捉え方の出来る数値だと認識しています。誰がどのように使うことで、どのような効果が出ているのかを各種指標より見極めていき、さらなる活用をしていきたいです。

また、KAGにはGitHub Enterpriseを活用したソフトウェア内製開発やGitHub Copilotの導入・活用のリアルな経験を通した確かな知見があります。 自社における開発内製化や生成AIを活用した開発能力や生産性向上を検討されていましたら、ぜひKAGでご支援させていただきますのでお気軽に問い合わせください。