Tabelog Tech Blog

食べログの開発者による技術ブログです

GitHub Copilotの利用率が1.2倍に。ユーザー投稿型ナレッジ共有イベントを企画して実施した話

こんにちは。食べログシステム本部技術部データサイエンスチームの先端領域推進ユニットに所属する佐藤です。

私たちのユニットでは、先端領域技術を活用して多方面で価値を創造することをミッションとしており、生成AI技術を活用した業務効率化や開発生産性向上に取り組んでいます。その取り組みの1つとして、生成AI技術によって開発生産性を上げることを目的とした、コーディング支援ツール「GitHub Copilot」の導入を推進しています。

先日、GitHub Copilotの利用を促進させるために、社内ナレッジ共有イベントを企画・実施しました。このイベントは、参加者に実際の開発現場で使われているGitHub Copilotの利用例を投稿してもらい評価・表彰するというユーザ投稿型の取り組みです。このイベントを通じて全体の利用率を約1.2倍に向上させることができました。本記事では、その事例についてご紹介します。

食べログにおけるGitHub Copilotの利用状況

2023年5月から食べログでは、全体方針として、全エンジニアがGitHub Copilotを利用できるように導入推進してきました。 他のGitHub Copilotを導入している企業と同じように利用状況のモニタリングを行なっており、GitHub社から提供される「提案されたコード行数」や「提案採用率」などの指標を定期的にチェックしています。 さらにGitHub REST APIを用いて、利用しているエディタでGitHub Copilotがどの程度起動されているかという情報を取得し、部署や個人単位でのインストール状況やGitHub Copilot使用状況を把握できるようにしています。

その中でもインストールしたユーザのうち、1週間以内にGitHub Copilotを実際に利用したユーザ数を「GitHub Copilot週次利用率」と定義して、これを週次でモニタリングしています。

GitHub Copilot週次利用率 = (1週間あたりのGitHub Copilot利用ユーザ数) / (GitHub Copilot インストール済みユーザ数)

GitHub Copilot導入後、様々な部署のエンジニアがGitHub Copilotの利用を開始しましたが、インストールしたものの日常業務でGitHub Copilotをあまり利用しないエンジニアも一定数存在しました。導入から半年たった時点でもインストール済みユーザのGitHub Copilot週次利用率は約6割に留まるという状況がありました。 エンジニアの業務内容は多岐にわたり、GitHub Copilotを利用するようなエディタ操作に関わる業務だけを日々行なっているわけではありません。しかし、全社方針としてGitHub Copilotの積極的な利用を推進している中で、この6割という利用状況にはまだ改善の余地があると考えていました。

上記を踏まえ導入初期に行った利用状況を把握するためのアンケートの回答を確認したところ、「上手く使うのが難しい」「使いこなせないと効率が上がらない」など、有効な使い方がわからないことに起因する意見が多数見られました。 一方で、利用率が高いチームの回答には、エンジニア同士で便利な使い方や面白い使い方を積極的に共有しているという状況が報告されていました。これらの結果から利用率が高いチームと低いチームではナレッジ共有に関する違いがあるという状況が見えて来ました。

利用率向上のためにナレッジ共有イベントを企画

ナレッジ共有については、導入開始直後から定期的に操作説明資料の展開や、オンボーディング会の開催などを通して行ってきていたつもりでしたが、やや一方的な情報の提供になっていた面がありました。 また、操作方法や基本的な使い方などの説明は出来ていましたが、説明の際に利用したコードは FizzBuzz問題やフィボナッチ数列を求めるもの等を用いていたため、実務に根差したナレッジとは言えず、臨場感に欠けていました。

そこでアンケート結果を踏まえ、実務に根差したナレッジの共有方法を検討し始めました。一口にナレッジ共有といっても様々な形式が存在します。 推進チーム内で議論した結果、ユーザ投稿型のCGMサービス「食べログ」を運営している私たちらしいナレッジ共有方法として、エンジニアがお互いにGitHub Copilotに関する記事を投稿し、評価し合うようなイベントを開催することを決めました。 この取り組みを通じて業務で利用しているコードに基づく活用方法や、まだ広く共有されていない面白いGitHub Copilotの活用方法が共有されることは、GitHub Copilot利用促進の起爆剤になり得ると考えました。

ユーザ投稿型ナレッジ共有イベントの実施

2023年11月中旬から12月上旬にかけて、「Copilot Knowledge JAM」というナレッジ共有イベントを実施しました。

Copilot Knowledge JAMの概要 ※メインビジュアルはChatGPT(DALL·E3)で作成。

イベント名に含めた「JAM」は、音楽でよく使われている用語で『本格的な準備や、予め用意しておいた楽譜、アレンジにとらわれずに、ミュージシャン達が集まって即興的に演奏をすること(Wikipedia: ジャム(音楽))』という意味です。想定していなかったナレッジと出会って欲しい、という思いを込めました。

共有プラットフォームは、社内で広く活用されているQiita Teamを利用することにしました。既存のプラットフォームを用いることで、新しい共有プラットフォームを用意するより投稿や参加ハードルが低くなると判断したためです。

ナレッジ投稿を促進するための工夫

次にこのイベントを推進する上で工夫した点についてご紹介します。

多様な視点のナレッジを集めるには一定数のナレッジ投稿を集めることが重要です。GitHub Copilot週次利用者の約3割、20名に投稿してもらうことを目標として設定しました。 そして食べログエンジニア全員が参加する定例MTGや社内SNSなど、複数のチャネルを通じて企画について説明し、頻繁に投稿を呼びかけました。 その際、投稿ハードルをできるだけ下げるために、投稿テンプレートや模範となる投稿例などを提供することで、なるべく気軽に参加できるような環境を作ることを意識しました。

また、プログラミングの知識や経験によってGitHub Copilotの効果や使い方に差があることを踏まえ、特に2つのグループに着目して投稿促進しました。1つ目は社内で積極的に情報発信しているシニアエンジニア層で、彼らの業務コードに関する深い理解や経験に基づいたユニークなナレッジを期待しました。2つ目は入社して間もない新人エンジニア層です。彼らには新鮮な視点や導入のしやすさなどのナレッジを期待しました。 2つのグループには個別に参加を呼びかけ、特に新人エンジニアには参考となる投稿例の共有やアイデアの壁打ち、構成レビューなどのサポートも行いました。この呼びかけを起点に投稿してくれた方も多く、個別の呼びかけ、及びサポートは重要だと感じました。

さらに、積極的な投稿を促すため下記の3種類のナレッジに関する賞とささやかながら副賞を用意しました。

  • ナレッジ投稿への「いいね!」数が多かったナレッジ
  • エンジニア責任者が評価し、選定したナレッジ
  • GitHub社の弊社担当者が評価し、選定したナレッジ

上記の賞を検討する際、GitHub社の弊社担当の方にダメ元でイベントへの参加をお願いしたところ、快く応じていただけました。表彰式ではコメントもいただき、大変感謝しています。

集まったナレッジについて

約3週間の募集期間で、18件の幅広いナレッジ投稿と158件のリアクションが集まりました。 プログラミング経験別で分類すると、以下のようなナレッジが得られたことがわかりました。

  • 社内で積極的に情報発信しているシニアエンジニア層からは、マイグレーションファイルの生成で狙ったサジェストを得るためのTips、メソッド命名によるサジェストの質をコントロールするTips、GitHub Copilotに渡すコンテキストを工夫するTipsなど、GitHub Copilotから得られるサジェストの質を上げたり、より有効に活用するためのTipsが投稿されました。
  • 新人エンジニア層からは、GitHub Copilotと一緒にどうやってコーディング技術を上げていくのかの報告や、機械学習を学ぶために利用しているといった報告が投稿されました。

その他にも、コードリーティングにGitHub Copilotを活用するTipsや、社内で推奨されているインラインドキュメントの生成にGitHub Copilotを活用するTips、リファクタリングやテストコードの生成にGitHub Copilotを活用するTipsなどが投稿されました。また、ちょっと疲れた時にGitHub Copilotと会話している報告など、個性的で面白い投稿もありました。

ナレッジの幅を客観的にも検証するために、GitHub社・服部さんの公開する『GitHub Copilot Patterns Dashboard』のパターンと各投稿を照合したところ、「ベストプラクティス」「実用的なパターン」はほぼ網羅されていました。これより今回のイベントで実用的なナレッジが広く投稿されていたことが確認できると思います。

GitHub服部さんのパターンとの照合図

また今回、実際にプロダクションで利用しているコードを基にナレッジが投稿されたため、一般的なブログやYouTubeで紹介されているナレッジとは次元が異なる臨場感があった点も特徴的でした。

「Copilot Knowledge JAM」表彰式の開催

投稿期間が終わりQiita Teamに一通りのナレッジが投稿された後、2023年12月末に「Copilot Knowledge JAM 表彰式」をオンライン開催しました。

表彰式はナレッジを共有の貴重な機会でもあります。ある程度時間をかけて投稿された全てのナレッジを紹介し、その後各賞の受賞者と受賞理由を発表しました。

Copilot Knowledge JAM表彰式

ナレッジ紹介の際、すべての投稿に褒めや感謝のリアクション・コメントが飛び交い盛り上がりました。「リアルタイムで自分が投稿した記事への反応が得られた」点を喜んでくれた投稿者もおり、受賞にいたらなかった方々にとっても良い体験となっていたようです。

最後に、GitHub社の担当者からのコメントを発表し、エンジニア責任者から総評をしてもらい表彰式を終えました。

ナレッジ共有イベント前後で比較した、GitHub Copilotの利用率の変化

今回のイベントは、利用率の向上を目的として実施した取り組みなので、肝心のGitHub Copilotの利用率がイベントの前後での変化を確認してみましょう。

利用率はイベントの前後で下記のようになっていました。

イベント前後での利用率の比較図

ナレッジ共有イベント前のGitHub Copilot利用率は59.7%でしたが、イベント期間中に70.8%に上昇し、その後も72.0%と上昇した利用率を維持しています。イベント前と期間中を比較すると、利用率は約1.2倍に向上していることが確認できます。

イベント参加のためだけに短期的に利用した人もいる可能性はありますが、イベント後も利用率は維持されていました。イベントが利用を促す機会となり、参加者が継続してGitHub Copilotを利用していると考えています。 利用率が向上した理由は、ナレッジ共有イベントの開催以外の要因もある可能性はありますが、利用率向上において「Copilot Knowledge JAM」が一定の効果を果たしたと判断しています。

まとめ

GitHub Copilotの利用率向上を目的に、エンジニア同士でナレッジを投稿して相互に評価するイベントを実施しました。ナレッジ投稿を集めるために、積極的に投稿予備軍に呼びかけ、サポートすることを通して、投稿量と質を保つことに注力しました。

目標とする投稿数にはわずかに届かなかったものの、様々なカテゴリのナレッジが得られました。また、実際にプロダクト開発で活用されているコードを元にした臨場感あるナレッジ共有ができました。 このイベントを通じて、GitHub Copilotの利用率は1.2倍程度向上し、社内普及に貢献できたと考えています。

今後も GitHub Copilot等の生成AIを活用した新しいツールが増えていくと予想され、現場でのナレッジ共有ニーズは高まっていくと考えられます。今回の知見を活かし今後より効果的なナレッジ共有方法を模索・実行していきたいと考えています。 新技術の社内普及といった同様の取り組みをされている方にも、今回紹介した事例が少しでも参考になってくれたら嬉しいです。

最後に

食べログの先端技術推進ユニットでは、今回紹介したプロジェクトに限らず、様々な生成AI系技術を活用したプロジェクトを推進しています。特に魅力なのは、現場や経営層メンバーなどとも距離が近く、非常にスピーディに仕事が進められる点です。

現場に深く浸透させる生成AI利活用に興味のある方は、是非カジュアルな面談からでもご連絡ください!