GitHub Copilotを試してみた ~導入編~
こんにちは、CX事業本部 Delivery部の若槻です。
現在、GitHub Copilotの検証を行っており、今回はVS Code(Visual Studio Code)へのCopilotの導入までを試したので共有します。
GitHub Copilotとは
GitHub Copilotは、GitHubとOpenAIが共同で開発(OpenAI Codexを利用)したAI駆動のコード補完ツールです。Copilotは、OpenAIのGPT-3.5 Turboという大規模な機械学習モデルを利用しています。このツールは、開発者がコードを書く際に、自動的にコードの推薦や補完を副操縦士(copilot)のように提案することで、コーディングの効率性と速度を向上させることを目的としています。
GitHub Copilotは、様々なプログラミング言語やフレームワークに対応しており、関数の定義や一般的なコーディングタスクに対するコードスニペットを生成できます。また、独自のコメントを使って、開発者が目的を指定することで、Copilotがその目的に沿ったコードを生成(Comment to Code)することも可能です。
GitHub Copilotは、Visual Studio Codeなどの一部の統合開発環境(IDE)で利用できます。(ただし、Copilotが生成するコードは完璧ではないため、開発者は提案されたコードを注意深く確認し、必要に応じて修正を行う必要があります。)
GitHub Copilotのプラン
GitHub Copilotには次の2つのプランがあります。
- Copilot for Individuals
- Copilot for Business
Copilot for Businessを利用すると、Copilot for Individualsで利用可能なすべての機能に加えて、企業や組織のニーズに対応したデータ管理ポリシーや利用規約をOrganization単位で適用し、企業向けのデータセキュリティやプライバシー要件に対応させることが可能となります。
導入してみた
GitHub Copilotを利用可能であるか確認
まず自身のGitHubユーザーアカウントがGitHub Copilotを利用可能である確認します。
[Settings > Code, planning, and automation > Copilot]から確認可能です。
You get access to GitHub Copilot from your organization, xxxxxxxx, and cannot modify these settings.
私のユーザーアカウントは所属しているOrganizationによりアクセス権限が付与され、利用可能となっていますね。
この画面は https://github.com/settings/copilot からもアクセスできます。
VS Codeに導入
Visual Studio Codeに導入してみます。Extensionが提供されているので利用します。前提としてアクセス権限が付与されたGitHubアカウントでVS Codeにサインインしている必要があります。
いくつか通知が表示されています。
Inline suggestion settings changed. The current window needs to be reloaded for CodeWhisperer to use these changes.
インライン候補(Inline Suggestion)設定が自動で有効化されたのに伴いウィンドウのリロードが必要とのことなので、後ほどリロードします。
The organization xxxxxxxx has granted you access to GitHub Copilot.
OrganizationからGitHub Copilotへのアクセス権限が付与された旨の通知です。
またインスントール後は下部パネルにCopilotのアイコンが表示されるようになりました。
動作確認として機能を少し試してみます。
// 現在時刻を返す
とコメントを記入すると、その後に続く関数名now()
と処理内容return new Date();
が自動で提案され、適用することができています。すごい。
Copilotの有効化/無効化を設定
アイコンをクリック(もしくは通知をクリック)すると、Copilotを「グローバルに無効化」および「現在編集中のファイルの言語に対して無効化」するかどうか確認されます。
またSettings(Github › Copilot › Inline Suggest)からインライン候補機能を個別に設定することもできます。Extensionの導入時に有効化されたのはこの設定となります。
GitHub Copilot Labs
GitHub Copilotの実験的(experimental)機能が利用できるGitHub Copilot Labsというものもあります。
こちらもVS Codeにインスントールして利用するものですが、使ってみた内容が紹介されている下記エントリを見る限りボタン1つで関数への型の追加、デバック用のコードを追加(変数値のコンソール出力)、コメント追加などをやってくれるようです。すごいですね。追ってこちらも試します。
おわりに
GitHub Copilotを導入してみました。
まだ触り始めですがニュルニュルとコードがサジェストされる体験はなかなかすごいです。引き続き触ってみます。ChatGPTが爆発的に利用され始めているいま、同じくGPTが利用されているGitHub Copilotにも今後注目が一気に集まることが予想されるので、皆さんも触ってみてください。
参考
以上