GitHub Copilotを徹底解説!料金や始め方・使い方、無料で使う方法も紹介!
近年、ChatGPTの登場により生成AIの活躍が話題となっており、特にコーディングの世界では「GitHub Copilot」の登場によりエンジニアのこれからの働き方が大きく変わることが予想されています。
そこで、この記事では私自身が実際にGitHub Copilotを使用してみた経験に基づき、その使い方や機能について詳しく解説します。最後までぜひお読みいただければ幸いです。
ちなみに、2023年12月19日よりGoogle Colaboratoryのコード生成AI「Colab AI」が無料で使えるようになりました。
普段からPythonを使っている人は、ぜひこちらも試してみてください
- GitHub Copilotとは
- 料金とプランの違いについて
- GitHub Copilotの日本語での利用について
- GitHub Copilotを利用できる言語
- GitHub Copilotを使える環境(IDE)
- GitHub Copilotの始め方
- GitHub Copilotの使い方
- GitHub Copilotの活用事例
- GitHub Copilotを使いこなすコツ
- GitHub Copilot Chatについて
- GitHub Copilotのセキュリティとプライバシー
- GitHub Copilotの導入事例
- GitHub Copilotの費用対効果
- GitHub Copilotの今後の展開
- GitHub CopilotについてのQ&A
- まとめ
GitHub Copilotとは
GitHub Copilotは、AIを活用したペアプログラミングツールで、コメントやコードのオートコンプリート機能により開発者の生産性を向上させます。
このツールの主な機能は、大量の公開ソースコードから学習したAIが提供する高精度なコード補完で、これまでのコード、コメント、関数名などからあなたが次に書きたいと思っているコードを予測し、自動で書き出します。
例えば、実装したい関数の内容をコメントで書くだけで、GitHub Copilotがその関数を自動的に生成してくれるので、開発者はTabキーを押すだけで提案を受け入れ、すぐにコーディングを完了できます。
引用:https://github.com/features/copilot
GitHubの実施した実験によれば、GitHub Copilotを導入したグループは同じコーディングタスクを半分以下の時間で完了できたとの結果が出ています。
実際に日本でも導入した多くの企業で効果が出ており、例えばZOZOではGitHub Copilotを全社へ試験的に導入した結果、タスクの完了が55%早くなったという結果が得られています。
料金とプランの違いについて
引用:https://github.com/features/copilot
GitHub Copilotには個人向けプラン(10ドル/月)とビジネス向けプラン(19ドル/月)の2つのプランが用意されています。
ビジネス向けプランは、企業や団体での利用を想定したプランで、OrganizationやEnterpriseアカウントでのみ適用できます。
これら2つのプランの一番の違いは、GitHub Copilotに送信されるデータの種類です。ビジネス向けプランでは、プロンプトやCopilotによるコードの提示情報が送信されないため、より安全に利用できます。
しかし、基本的な機能については、どちらのプランでも大きな違いはありませんので、個人利用の場合は、個人向けプランで十分です。
また、個人プランでは30日間の無料トライアルも用意されていますので、まずは試してみてから有料プランに移行することも可能です。
ちなみに、2023年12月19日よりGoogle Colaboratoryのコード生成AI「Colab AI」が無料で使えるようになりました。
普段からPythonを使っている人は、ぜひこちらも試してみてください
GitHub Copilotの日本語での利用について
GitHub Copilotは日本でも使用可能となっています。
また、日本語への対応も行われており、本語のコメントを書いた場合でも、そのコメントを理解し、そのコメントに適したコードを生成してくれます。
GitHub Copilotを利用できる言語
GitHub Copilotは、公開されている全てのパブリックリポジトリの言語でてトレーニングされているため、パブリックリポジトリで使われている言語であれば、基本的には使用可能です。
ただし、提案の品質はトレーニング時のデータの量によって影響を受けるため、Python、JavaScript、TypeScript、Ruby、Go、C#、C++ といった利用者数の多い言語で特に有用です。
逆に利用者数の少ない言語の場合、Copilotから得られる提案の品質は低い可能性があります。
GitHub Copilotを使える環境(IDE)
GitHub Copilot は、Visual Studio Code、Visual Studio、Vim、Neovim、JetBrains のIDEで拡張機能として使えます。
GitHub Copilotの始め方
ここからは、GitHub Copilotの始め方について解説していきます。
- GitHub Copilotの始め方を見る(クリックして開く)
-
GitHub Copilotを始めるには、GitHubのアカウントが必要です。
GitHubのアカウントを作成し、ログインした状態で、「Pricing」をクリックします。
画面下部の「Additional add-ons」より、「GitHub Copilot」を選択します。
個人向けプランかビジネス向けのプランを選択します。
今回は、個人向けプランを選択します。
30日間の無料トライアルに関する案内が表示されます。
なお、トライアル後の支払頻度として月間サブスクリプションと、年間サブスクリプションを選択できます。
個人情報を入力します。
この画面で、トライアル期間が終了し、いつから料金がかかるのかも確認可能です。
支払い方法を選択します。
必要であれば、クレジットカード情報の登録や、PayPalアカウントへログインします。
入力情報を確認後、オプション等を設定します。
以下の画面が表示されたら、設定完了です。
続いては、GitHub Copilotの拡張機能をインストールします。
コードエディターがインストールされていない場合は、リンク先のマニュアルを参考にインストールしてください。
今回は、Visual Studio Codeを選択します。
Visual Studio Code Marketplaceで、GitHub Copilot拡張機能ページに移動し、「Install」をクリックします。
ポップアップが表示され、Visual Studio Codeを開くように求められます。「Visual Studio Code.appを開く」をクリックします。
Visual Studio Codeの「Extension:GitHub Copilot」タブの「Install」をクリックします。
GitHubアカウントでVisual Studio Codeを以前に許可していない場合は、Visual Studio CodeでGitHubにサインインするよう求められます。
サインイン後、エディターの右下にCopilotのアイコンが表示されていれば完了です。
各IDEでの導入方法については、以下の記事を参考にしてください
GitHub Copilotの使い方
GitHub Copilotのメイン機能は、ユーザーがコードを記述し始めると、その続きを予測して自動的に提案してくれる機能です。
具体的には、開発したい機能の大まかな内容をコメントとして書き込むと、Copilotはそのコメントに基づいて関数のコードを自動生成します。
これにより、開発者はコーディングの速度を大幅に向上させることが可能となります。
関数やコードの断片から提案
GitHub Copilotは、入力した関数名やこれまでのコードに基づいて適切なコードを自動的に提案してくれます。
例えば、二つの日付の間に何日があるかを計算する「days_between_dates」いう名前の関数を作成するとします。
GitHub Copilotを有効にしていると、「days_between_dates」という名前の関数を作成するだけで、自動的に適切なコードをグレーの文字で提案してくれます。
このように表示された提案が適切であれば、Tabキーを押すだけで提案されたコードを受け入れることができます。
代替案の提案
さらに、提案されたコードには複数の代替案が存在することがあります。そのような場合には、以下のショートカットキーを利用して代替案を表示することが可能です。
これにより、最初に提案されたコードが意図通りでない時も、自分にとって最も適切なコードを選択し、効率的にプログラミングを進めることができます。
OS | 次の候補を表示 | 前の候補を表示 |
macOS | Option (⌥) またはAlt+] | Option (⌥) またはAlt+[ |
Windows・Linux | Alt+] | Alt+[ |
コメントからコード生成
GitHub Copilotは、コメントを書くだけでコードを生成することも可能です。
ユーザーが特定のコードスニペットの作成方法をコメントで説明すると、Copilotはそれに基づいて関連するコードを提案します。
たとえば、「フィボナッチ数列のn番目を計算する関数」を作成したいときには、その目的をコメントとして記載します。
そうすると、GitHub Copilotがそのコメントを解釈して適切なコードを生成し、提案として表示します。
その提案が適切であると判断したら、ユーザーはTabキーを押すことで提案されたコードをそのまま利用することができます。
これにより、ユーザーは自身でコードを一から書く手間を軽減でき、開発の効率を大きく向上させることができます。
GitHub Copilotの活用事例
関数の作成
GitHub Copilotを使えば、一行もコードを書かなくても必要な関数を作成することができます。
必要な関数についてコメントを日本語で書くだけで、関数の提案を受け取ることができるので、ユーザーはその提案をTabキーを押して採用するだけで、必要な関数が完成します。
テストケースの作成
テストケースの生成も簡単に行うことができます。
具体的には、テストしたい条件をコメントとして指定するだけで、その条件に基づいたテスト用のコードを自動で生成してくれます。
リファクタリング
GitHub Copilotはコーディングを手助けしてくれるだけでなく、リファクタリングのサポートもしてくれます。
具体的には、リファクタリングしたい部分について言及しながら、リファクタリングしたい旨をコメントすれば、その該当部分の改善案を提案してくれます。
コードについて質問をする
GitHub Copilotを使用すると、コードに関する質問も簡単に行えます。
具体的には、コメントに「q: 質問の内容」と入力した後に、その後に「a:」と続けると、その質問に応じた回答が自動で提示されます。
GitHub Copilotを使いこなすコツ
適切なコメントを多めに書く
GitHub Copilotはコードの文脈やコメントを参考にユーザーの意図を推測して、コードの提案を行います。
そのため、求めているコードを提案してもらうためには、GitHub Copilotに自分がやりたいことが明確に伝わるようにコメントを書く必要があります。
利用者数の多い言語で利用する
GitHub Copilotはパブリックリポジトリで使われている言語を学習しているため、言語によって学習に使用されているデータの量が大きく異なります。
そのため、利用者数の少ない言語の場合は学習データが少なく、Copilotから得られる提案の品質が低い傾向にあります。
なので、GitHub Copilotから適切な提案を受けるためには、PythonやJavaScript、TypeScript、Ruby、Go、C#、C++などの主要な言語での利用がおすすめです。
提案されたコードを鵜呑みにしない
GitHub Copilotは膨大な数のコードから学習を行っていますが、その中には質の低いコードやバグを含むコードも含まれています。
そのため、提案されるコードが必ずしも最適であるとは限りません。
ですので、GitHub Copilotの提案は一つの参考として捉え、そのコードが本当に適切かどうかは自身でしっかりと確認することが大切です。
GitHub Copilot Chatについて
GitHub Copilot Chatは開発者がIDE内でチャット形式で直接コーディングに関する質問ができる機能です。
つまり、GitHub Copilot Chatはコーディングに特化したChatGPTのような存在で、この機能を利用することでコーディングについての質問を画面を切り替えることなく利用できるようになります。
これまで、GitHub Copilotのビジネス向けプランでのみに提供されていましたが、2023年12月より個人プランでも利用が可能になります。
引用:GitHub Copilot X:AIを搭載した開発者体験
GitHub Copilot Chatが開発者にとってChatGPTより優れている点は、開発者が作業しているファイルの文脈をしっかりと理解し、それに基づいて質問に答えることができることです。
つまり、コードを書いている最中にも、そのコードについての直接的な質問が可能で、エラーの解決策を求めたり、新しいライブラリや未経験の言語の使用法について質問することができます。
これにより、これまで必要な情報をGoogleなどの検索エンジンを使って探していた時間を大幅に軽減し、開発効率を上げることができます。
詳細はGitHub Copilotの公式サイトで解説されているのでそちらをご覧ください!
GitHub Copilotのセキュリティとプライバシー
Github Copilotの導入を検討する際には、主に以下の3つのリスクを考慮する必要があります。
- コードが流出するリスク
- 脆弱性のあるコードが生成されるリスク
- ライセンス侵害のリスク
Github Copilotに送信したコードが流出するリスク
企業でGitHub Copilotを導入する際、一番の懸念点は「AIが学習したコードが他のユーザーに流出するリスク」ですね。
結論から言えば、そのリスクを最小限にする方法は「GitHub Copilot for Business」を利用することです。
その理由としては、Businessプランではユーザーが入力したプロンプトやAIからの提案内容は保存されないため、コードが他者に流出するリスクが大幅に低減されます。
一方で、Individualsプランでも、ユーザー自身でプロンプトや提案の保持の設定を無効にすることで、Businessプランと同様にコードの流出リスクを抑えることが可能です。
しかしながら、企業の環境下では全ての利用者に対してその設定を徹底するのは困難と考えられますので、企業利用においてはビジネスプランの採用が最も安全で効果的と言えるでしょう。
脆弱性のあるコードが生成されるリスク
GitHub Copilotが生成するコードに、脆弱性がある可能性は0ではありません。
そのため、エンジニアはCopilotに支援してもらったコードであっても、内容をよく理解してプルリクエスト(PR)を出す必要があります。
また、レビュアーもCopilotが書いたものであろうと人間が書いたコードと同様にレビューする必要があります
つまり、Copilotが生成したコードを100%信じるのではなく、人間が書いたコードと同様にバグや脆弱性が含まれる可能性を考慮することが大事です。
ライセンス侵害のリスク
GitHub Copilotの出力が元となったコードをそのまま反映してしまう場合、学習元となったオープンソースソフトウェア(OSS)のライセンス侵害をしてしまうリスクがあります。
その回避策として、GitHub Copilotは、公開コードの提案をまるっとコピーして提案してくることを無効にする「Suggestions matching public code」という設定があります。
この設定を有効にすることで公開されたコードをそのまま提案してくることがなくなり、ライセンス侵害のリスクを大きく緩和できます。
GitHub Copilotの導入事例
実際にGitHub Copilotを導入することで、どのようなメリットが得られたのかをご紹介します。
サイバーエージェント
サイバーエージェントでは2023年4月下旬よりGithub Copilotを導入し、2023年7月時点では500名ものエンジニアがGitHub Copilotを利用しています。
GitHub Copilotが提案したコードの受け入れ率は平均32.1%と公表されており、これはエンジニアのコード記述の労力を約1/3削減できたと捉えることができます。
ZOZO
ZOZOではGitHub Copilotを全社へ試験的に導入した結果、開発者の60-75%が満足度が向上し、73%が集中力が上がり、87%が精神的疲労が軽減し、タスクの完了が55%早くなったという結果が得られました。
これらの結果を踏まえ、ZOZOではGitHub Copilotを導入することで開発効率を向上させされると判断し、GitHub Copilotの全社導入を決定しています。
東急株式会社
IT企業だけでなく、東急株式会社のような他の業種の企業でもGitHub Copilotが導入され、開発効率が大幅に向上しています。
導入効果についての具体的な数値は示されていませんが、利用している社員の中には「GituHub Copilotがない時代には戻れない」というほどの効果を実感しているようです。
Gaudiy
Web3スタートアップのGaudiyでは全社員向けに「ChatGPT Plus」と「GitHub Copilot」を利用できる福利厚生を導入しています。
「GitHub Copilot」導入後の一ヶ月後に行ったアンケートでは、実際に利用したエンジニアの全員が引き続き利用したいと答えており、こちらでも多くの人が、Copilotなしの生活に戻れなくなっているようです。
GMOペポパ
GMOペパボでは、2023年6月7日にGitHub Copilotの全社導入を決定し、全エンジニアとデザイナーの希望者が利用しています。
導入後、約一ヶ月で約35,000行のコードを書く手間を削減できたとされており、現時点でのデプロイ頻度の向上と、GitHub Copilot自体の進化、今後のノウハウの共有考慮すると、十分な効果があると感じているようです。
LINEヤフー
LINEヤフー株式会社は、開発業務に関わる全てのエンジニア約7,000名を対象に「GitHub Copilot for Business」の導入を2023年10月13日(金)より開始しました。
事前に3ヶ月のテスト導入を行い効果測定を行った結果、1人あたりのエンジニアの1日のコーディング時間は約1~2時間の削減が見込まれたため、全社への導入を決定したようです。
GitHub Copilotの費用対効果
GitHub Copilotの導入を検討している企業にとって、最も重要なのはその費用対効果です。
そこで、ここでは実際に以下の条件でどの程度の費用対効果があるのかを考えてみましょう。
- エンジニアの時給が5000円
- GitHub Copilotによってタスク完了が20%速くなる
- エンジニアが1日の稼働時間の50%をコーディングに費やす
- 1ヶ月あたり20日稼働
この条件下では、Github Copilotを導入することでエンジニア一人当たりの1ヶ月の稼働時間を11時間も削減することができ、時給が5000円とすると、一ヶ月あたり55,000円ものコスト削減が見込まれます。
これに対して、Github Copilotのビジネスプランの費用は月額で約2,400円のため、多くの企業でGithub Copilotは高い費用対効果を提供すると言えるでしょう。
GitHub Copilotの今後の展開
GitHub Copilot Enterprise
2024年2月からは「GitHub Copilot Enterprise」が1ユーザー当たり月額39ドルで提供される予定です。
この新しいエンタープライズ向けサービスは、組織固有のコードやドキュメント、プルリクエストなどに合わせてカスタマイズされたコードの生成や、Copilot Chatでの質問に対する回答が可能になるというものです。
開発チームは、組織のリポジトリに直接接続されたCopilot Chatを通じて、ドキュメントの作成やプルリクエストのレビューを効率的に行うことができます。
企業のセキュリティ基準にも準拠し、プライバシーを保護しながら開発プロセスを加速させることが可能です
GitHub Advanced Security
GitHub Copilotは、LLMベースの脆弱性防止システムを適用した新たなセキュリティ機能が導入されます。
これにより、リアルタイムで不安全なコーディングパターンをブロックし、提案されるコードのセキュリティを強化し、特に、ハードコードされた認証情報やSQLインジェクションなどの一般的な脆弱性に対処します。
さらに、Copilot Chatを使用してIDE内のセキュリティ脆弱性を特定し、自然言語でそのメカニズムを説明し、具体的な修正を提案することも可能です。
この機能は現在はプレビュー版が公開されており、近いうちにGitHub Advanced Securityのプランで利用できるようになります。
GitHub Copilot Workspace
2024年には、開発者がアイディアをコードに落とし込む障壁を乗り越えるためのAIツール「GitHub Copilot Workspace」が導入されます。
この新機能を利用することで、AIがGitHubのIssueに対する解決策を自動で提案し、開発者はそのAIを自分の意図する方向に導きながら、コード生成を行うことができるようになります。
つまり、Copilot Workspaceは、プロジェクトの全てを理解し、AIの力を活用してリポジトリ全体にわたる変更を行うパートナーのような存在になることが予想されます。
GitHub CopilotについてのQ&A
どんなIDEでも使えるの?
GitHub Copilotは、Visual Studio Code、Visual Studio、Vim、Neovim、JetBrains のIDEで拡張機能として使えます。
どんな言語でも使えるの?
GitHub Copilotはパブリックリポジトリで使われている言語であれば、基本的には使用可能です。
ただし、提案の品質はトレーニング時のデータの量によって影響を受けるため、Python、JavaScript、TypeScript、Ruby、Go、C#、C++ といった利用者数の多い言語で特に有用です。
無料で使う方法はあるの?
GitHub Copilot は基本的には有料ですが、個人プランでは30日間の無料トライアルが用意されているので、まずは無料で利用してから有料プランに移行することも可能です。
学生は無料で使えるって本当?
はい、本当です。
認証済みの学生、教師、またはGitHubのオープンソースリポジトリの保守担当者はGitHub Copilotの無料サブスクリプションを利用できます。
申し込み方法などの詳細は以下の記事で詳しく解説されているので、こちらの記事をご覧ください
Jupyter Notebookでも使える?
GitHub Copilot はJupyter NotebookやJupyter labで直接利用することはできません。
ですが、Visual Studio CodeにJupyter Notebookの拡張機能をインストールすることで、VSCode上のJupyter NotebookでGitHub Copilotが利用できるようになります。
まとめ
本記事では、エンジニアの生産性を飛躍的に向上させるツール、GitHub Copilotについて詳しく解説してきました。
GitHub Copilotを利用すれば、エンジニアはコーディング量を大きく削減でき、生産性を向上させることができます。
エンジニアはコードを書く量を大幅に減らすことができ、生産性を大きく上げられることは間違いありません。
逆に言えば、これからはこのAIをどのように上手に活用するかが、エンジニアの生産性を大きく左右することとなるでしょう。
そのためにも今のうちから使いこなしておくことがお勧めです。
また、個人プランでは30日間の無料トライアルが提供されていますので、ぜひ一度試して自分自身の開発効率がどのように変わるかを実感してみてください!
それでは!