🚀
GitHub Copilotを導入しました!!
株式会社オズビジョン ハピタス事業部 開発グループ所属の天野です。
8月上旬から弊社もGitHub Copilotを導入しました!
今回は、導入までの過程と実際に使ってみての所感をまとめていきます。
GitHub Copilotを導入するまで
他企業ではすでにGitHub Copilotの導入事例もあり、弊社のエンジニアからも導入してみたいという声が以前から上がっていました。
2024年7月に導入の準備が整ったため、まずは利用できる対象者を限定して、2週間の検証期間を設けた後、高い費用対効果が見込めそうであると判断できれば、全エンジニアに導入するという流れで進めました。
- 対象者:計7名(普段からコードを書く割合が多いメンバー)
- 検証期間:2週間
- 検証環境
- エディタ: VSCode、PhpStorm
- 言語:PHP、TypeScript
- フレームワーク・ライブラリ:Vue.js、React、CodeIgniter、Symfony
利用者の声
検証期間を終えたエンジニアからの意見をまとめると以下のような内容でした。
-
良かった点
- コードを見て提案してくれるため、前提情報の共有を始めなくても良い
- エディタで出たエラーの分析も行ってくれた
- tsconfig.jsonがない状態で始めたが(コンパイラエラー)、tsconfig.jsonを作成し、これで解消すると教えてくれた。
- → ビルド環境に関しても対応してくれるのが良い。
- コーディングスピードの向上
- 1日あたり0.5~1時間は節約できたのでは?(1日だいたい5~6時間実装に使ったとして)
- 今まではChatGPTに質問を投げる際、3ステップで行っていたが(ChatGPTをブラウザで開く→コードを抽象化→質問→手元へ反映)、Copilotの場合は1~2ステップで済んだ。(質問→反映(反映も実質自動化))
- 一般的な処理やフレームワーク特有のコードを生成するのに適している。また、自分が詳しくない言語やフレームワークで「これはどう書けばいいかわからない」といった場合にはGitHub Copilot Chatが便利。ドキュメントを漁って必要な情報を探すという作業がなくなるため、フレームワークの学習効率が格段に上がる。
- 非推奨な書き方も減らせる。
-
課題
- 気を付けないといけない点
- 提案されたコードが正しいか否かを判断できるスキルが必要
- あまり向いていないこと
- コードの全体的な設計やアーキテクチャの決定
- プライベートなドメイン層のコード生成
- 学習元であるOSSとは異なる設計のため、存在しないクラスやメソッドが出力されることが多かった。
- 気を付けないといけない点
-
気づき
- 命名が適当だったりコメントが雑だと意図通りのコードを提案してくれない
- 変数名をしっかりと記載すれば、補完で7~8割ぐらいいい感じに補完してくれる印象。
- Mermaidの記述の補助に使うと非常に便利そう
Slack上での反応
議論の結果、GitHub Copilotの導入は生産性向上につながると判断し、全エンジニアに導入を拡大することを決定しました。
まとめ
GitHub Copilotを導入することで、エンジニアの生産性が向上し、業務効率が大幅に改善されることを実感しました。特に、まだ知識の浅い言語やフレームワークにおいては、その学習効率の向上が期待以上でした。
今後は、GitHub Copilotの機能をさらに活用するため、これまでのコードレビューの指摘内容を学習させることや、プライベートなドメイン層においても精度を向上させる方法を模索していきたいと考えています。
最後まで読んでくださりありがとうございました!
Discussion