はじめに
こんにちは。メンバーズルーツカンパニー、フロントエンドエンジニアの柴田です。
近年、ソフトウェア開発の現場では、開発者の創造力を活かしながら、効率的で高品質なコードを生み出すことが求められています。そのため、開発プロセスの見直しが進み、開発者のパフォーマンス向上やコード品質の改善が重要視されるようになりました。
こうした流れの中で、単なるコードの自動補完を超え、開発者の意図を汲み取りながら柔軟にコードを生成できる生成AIが注目されています。
さまざまなツールを検討した結果、私たちはGitHub Copilotを採用することに決定しました。普段使っているエディタでスムーズに活用できる柔軟性に加え、さまざまなAIモデルを選択できる自由度も魅力的でした。さらに、GitHub Copilot Editsによってタスクに応じた自動コーディングが可能となり、作業の効率化にもつながると判断しています。
この記事では、GitHub Copilotの概要、実際の使用感、得られた効果、そして感じた課題についてご紹介します。AIコーディングサポートツールの導入を検討されている方に、実際の使用体験をお伝えできれば幸いです。
GitHub Copilotとは
概要と仕組み
GitHub Copilotとは、AIを活用してコードを自動生成、自動補完など、エンジニアのアシストをしてくれるツールです。
MicrosoftとOpenAIが共同開発した技術を基盤としており、機械学習モデルを使用して、開発者の作りたいと思ったコードの意図を理解し、適切なコードを提案します。
このAIモデルは、GitHubの公開リポジトリにある膨大なコードベースで学習されています。
そのため、多様なプログラミング言語やフレームワークに対応し、幅広いコンテキストでコーディングサポートをしてくれます。
主な機能と特徴
主な機能は以下の通りです
- インテリジェントなコード補完
- 開発者がコードの入力を始めると、残りのコードを予測して提案
- 変数名や関数名の適切な命名を提案
- 関数やクラスの自動生成
- コード内のコメントやドキュメント文字列から、関数やクラス全体を生成
- テストケースの自動生成をサポート
- ドキュメント生成
- コードから自動的に処理を説明するコメントやドキュメントを生成
- APIドキュメントの下書き作成をサポート
- コミットメッセージの自動生成
- Gitでステージングされたコードをみて、コミットメッセージを自動生成
- プロジェクトのコミットメッセージの規則に合わせてメッセージを生成
- 多言語サポート
- Python、JavaScript、TypeScript、Ruby、Go、C#など、多数の言語に対応
- IDEとの統合
- Visual Studio Code、JetBrains IDEs、Neovimなど、主要なIDEと連携可能
使用コスト
以下の情報は2025年1月31日時点のものになります。情報が更新されている場合があるので、契約する際はご自身でプランをお確かめください。
GitHub Copilotの料金体系を表にまとめてみました。
プラン名 | 対象 | 月額料金(USD) | 主な特徴・機能 |
GitHub Copilot Free | 個人 | 無料 | 基本機能のみ(コード補完など)。利用制限があるため、まずはお試し利用に適しています。 |
GitHub Copilot Pro | 個人 | $10 | フル機能を搭載し、効率的なコード補完サポートを提供。日常的な開発作業をよりスムーズに進められます。 |
GitHub Copilot Business | 企業 | $19(単体利用)または約$40(GitHub Enterprise併用時) | 組織向けのポリシー管理、セキュリティ強化、監査ログなどの管理機能を提供。単体利用も可能ですが、企業利用の場合はEnterprise契約が推奨されます。 |
GitHub Copilot Enterprise | 企業 | $39(単体利用)または約$60(GitHub Enterprise併用時) | Businessの機能に加え、組織のドキュメントに基づくチャット機能や、(現在開発中の)ファインチューニングモデルの利用が可能。 |
GitHub Education | 教育機関(学生・教職員) | 無料(認証が必要) | 認定教育機関に在籍している学生・教職員向け。Pro相当の機能が無償で利用可能。 |
今回は既に社内でGitHub Enterprise Cloudにてポリシーや支払いなどが一括管理されているため、GitHub Enterprise CloudとGitHub Copilot Businessの2つを契約しました。
コストとしては表にある通り、GitHub Enterprise Cloudの月21ドルとGitHub Copilot Businessの月19ドル、合わせて月40ドルとなります。
1ヶ月試用してみて
使用環境と対象プロジェクト
まずは社内のエンジニアメンバーの中からGitHub Copilotを使用したいという希望者を3名募集し、そこで生産性が向上するのであればエンジニアメンバー全員分を契約しよう、という形でスタートしました。
開発環境
- Visual Studio Code
プログラミング言語、フレームワーク
- HTML/CSS
- JavaScript/TypeScript
- Astro
- Gatsby
- GraphQL
- etc…
主なプロジェクト
- 大規模な企業向けJamstackサイト開発
- 情報サイトのフロントエンド開発
- 社内ツール開発:業務効率化のための小規模Webアプリケーション
使用した感想
GitHub Copilotを活用した場面についてはいくつかあり、その中でも特にコーディング時の自動補完と提案が非常に強力だと感じました。
やはり関数やメソッドの実装時にGitHub Copilotからコードの提案をしてくれるので、たった20〜30文字の自動補完だとしてもそれが100回200回と積み重なってくることで使用していない時と比べて大幅に作業を終えるのが早くなっていました。
また、コードエディタ内にチャット機能が搭載されているので、複雑なアルゴリズムやデータ構造の実装時にアイデアを得ることができるので、困った時にすぐ意見をもらえるのが良かったです。
そのほかにも、新しいコンポーネントやクラスの作成時に、「◯◯の機能を持ったコンポーネントを作ってほしい」と指示するとそれに沿って基本構造を自動生成してくれたり、作った関数やクラスの処理に一つ一つ短い説明をつけてほしいと指示するとコメントアウトで説明文を生成してくれる機能や、既存コードの最適化案をGitHub Copilotから得て簡単にリファクタリングができたりなど、一度使うと手放せなくなるほど便利な機能が豊富に搭載されていました。
効果と成果
生産性の向上
GitHub Copilotの導入により、
- Jamstack構築時のパーツ作成:工数を15%削減
- 運用業務の細かいHTMLパーツ作成:工数を25%削減
- 既存コンポーネントの調査・改善:工数を50%削減
- 汎用処理の実装:工数を50%削減
- コミットメッセージの自動生成:工数を80%削減
といった効果が得られました。
そのほかにも、想定工数などが不明でしたが新規コンポーネントの作成時間が非常に短縮されたり、一括で置換するような作業を横断してGitHub Copilotがやってくれたことにより大幅な時間短縮になったという事例があがっていました。
面白いなと思ったものとして、「コミットメッセージを考える必要がなくなって細かい時間短縮になったうえに、他の作業者が見ても一目でどんな作業をしているのかわかるコミットメッセージになった」という意見がありました。
チーム全体への影響
チームへの影響としては、やはりコードの一貫性が大きいかなと思います。
GitHub Copilotは既存のコードからコーディングスタイルを学習するため、GitHub Copilotから提案されるコードを適用することで、チーム全体で似たようなコーディングスタイルを維持しやすくなりました。
また、GitHub Copilotの多様な提案により、新しいアプローチを考える機会が増加したと感じる場面もありました。
クオリティへの影響
チームへの影響にも繋がる部分ですが、コードの可読性向上が明らかに向上した実感があります。
- より明確で簡潔なコード構造の提案
- 適切な変数名やメソッド名の提案による理解しやすさの向上
など、今までは人によって変数名の規則が違っていたものが統一されたり、冗長な処理を書かなくなったりしたので、読みやすさは大幅に向上したのではないかと思います。
課題と改善点
ここまで利点について書いてきましたが、逆にGitHub Copilotの使用中、以下のような課題や限界も明らかになりました。
大規模コードベースでの処理速度低下
膨大なコード量が存在しているプロジェクトにおいて、明らかにGitHub Copilotの応答速度が遅くなることがあり、他のVisual Studio Codeの拡張機能と競合しているのかコードの自動補完が明らかに遅れていることがありました。
また、複雑なプロジェクト固有の複雑なビジネスロジックを完全に理解することは困難だったり、時にプロジェクトの文脈に合わない提案をすることもありました。
ほかにも、
- 開発者の意図と異なる提案が頻繁に表示され、集中力が途切れることがある
- 提案を無視するか評価する判断に時間を要する
- 複数行にわたるコード提案時に大きくレイアウトが崩れるので、ストレスが溜まる
- 開発者がGitHub Copilotに頼りすぎて、基本的なプログラミングスキルが衰える懸念
- GitHub CopilotだけでなくGitHub Enterpriseも契約する必要があり、月額40ドルをエンジニア全員に導入するにはコストが高い
といった点があげられました。
おわりに
1ヶ月間のGitHub Copilotの使用を通じて、AIコーディングサポートツールの可能性と課題を深く理解することができました。
GitHub Copilotを導入したことで生産性を向上させるという目的を達成でき、使用者からも概ね高評価でした。
それ以外にも、作成されたコードに一貫性が出たことで可読性が向上したり、既存コードを読みやすくリファクタリングしたりなど、工数以外の部分でも非常に有用だと感じました。
適切に活用すれば、開発者の創造性を解放し、より高度な問題解決に集中できる環境を作り出せる可能性を感じさせてくれる素晴らしいツールだと思います。
ただ一方で、このようなツールに過度に依存せず、基本的なプログラミングスキルや問題解決能力を維持・向上させることも重要だと感じました。
AIコーディングサポートツールに頼りきりになってしまうことで、間違った実装に気付かず事故を起こしてしまう可能性などがあるため、使用する人の専門知識と組み合わせることで、真価を発揮するべきだと考えています。
今後も、生成AIの動向を見つつ、最適な開発環境の構築に取り組んでいきたいと思います。
皆さまの開発プロセスにGitHub Copilotを導入する際の参考になれば幸いです。