AIを活用した開発支援ツール「GitHub Copilot」とは?特長や導入方法を詳しく解説

普段のお仕事に役立つ普遍的なプログラミングTIPSや、業界で注目度が高い最新情報をお届けする「編集部ピックアップ」。
今回はGitHub社とOpenAI社が共同で開発した、AIを使ってソースコードを補完してくれる開発支援ツール「GitHub Copilot」をご紹介します。

GitHub Copilotとは?

「GitHub Copilot(ギットハブコパイロット)」とは、GitHub社とOpenAI社が共同で開発したソースコードを補完する有料の開発支援ツールです。OpenAI社のChatGPTを利用した大規模学習モデルを採用しており、開発現場にも生成AIの導入が容易になったことで話題を集めています。GitHub Copilotが自動でコード作成や補完を提案することで、エンジニアの副操縦士(Copilot)となりプログラマーを支援する役割を果たします。

GitHub Copilotの特長

コードの一部からAIが予測してコードを提案する

エンジニアがコードを書き始めた段階で、意図をAIが理解して即時に求めているコードを提案します。あらゆる言語やフレームワークにも対応しており、プログラムだけでなくコメントからも意図を読み取ったソースコードを提案してくれます。世界中に公開されているソースコードを、日々学習しているAIの特徴を活かしたツールならではといえるでしょう。

ソースコード全体をAIが理解している

プログラマーが複数人でシステムを開発する場合、プロジェクトで決められたルールを順守しなければならない場面が多々あるかと思います。GitHub Copilotが提案するソースコードであれば、プログラム全体の特徴を把握した上での提案をおこないます。いわばAIが一定のコーディングルールを理解してくれるので、提案されたソースコードを書き換えるといった手間さえも省けるのです。

作業がエディタの中だけで完結する

サンプルコードの閲覧や参考サイトの検索など、ブラウザとエディタを交互に参照しながら開発するシーンをよく見かけます。GitHub CopilotにIDE(統合開発環境)を導入することで、調査する作業を最小限に抑えることが可能です。2023年現在ではVisualStudioやVisualStudioCode、NeovimといったIDEに対応しているので、あらゆる環境で導入が可能です。ブラウザやファイルとエディタ画面切替の作業を極力少なくすることで、プログラマーの集中力アップに貢献してくれることでしょう。

GitHub Copilotを導入するメリット

開発スピード向上による生産性アップ

たとえばパスワードや日付に関する処理など、汎用的な関数であればGitHub Copilotが即時にソースコードを提案してくれます。これまでのように参考サイトや過去に開発したソースコードを参考にしたり、コピーして一部を書き換えるといった作業をAIに任せることで作業効率の向上が期待できます。

開発コストの削減と開発チームの負担軽減

GitHub Copilotによる開発スピードの向上は、開発工数の削減にもつながります。またリリースまでの時間に余力が生まれると、開発チーム内でのソースレビューやデバッグ作業といった時間にも充てられます。結果的に品質の高いプロダクトとしてリリースできることは、導入メリットは大きく開発者にとっての重要なパートナーとなるでしょう。

GitHub Copilot導入後の課題

セキュリティと脆弱性の考慮

参加しているプロジェクトが社外秘の情報、機密性の高いシステム構築の場合は、情報漏洩には細心の注意が必要です。GitHub Copilotプラグインを導入・利用しているソースコードが外部に流出することはないと説明されていますが、設定項目には改善を目的とした情報の送信機能は存在しています。アップデートなどによる改訂の可能性もゼロではありませんので、規約については随時確認することをおすすめします。

またGitHub Copilotが提案するソースコードには、脆弱性対策がどこまで施されているかは未知数です。問題なく動作する内容でも、脆弱性が潜んでいる可能性は疑って損はないでしょう。

エンジニアとしてのAI活用スキル

GitHub Copilotはあらゆるソースコードを提案してくれますが、どこまで活用するかはエンジニアの裁量によって大きく変わります。コーディングルールはもちろん堅牢性や汎用性の高さが考慮されているか、前項で述べた脆弱性の対策が施されているかなど、エンジニアには総合的な知見が必要です。

もとよりAIを使いこなすためのスキルは必要不可欠です。コメントからAIが適切な提案を返すように自然言語で命令する「プロンプトエンジニア」と呼ばれる職種があるように、AIを使いこなすことはスキルのひとつとして広く認知されています。

まずはGitHub Copilotを導入してみよう!

実際にGitHub Copilotを導入する手順について解説します。今回紹介する手順においては、あらかじめ以下の環境を用意しておいてください。

・GitHubのユーザーアカウント
・Visual Studio Codeのインストール

GitHub Copilotの利用開始

ブラウザからGitHubの管理画面にログイン後、アカウントのアイコンをクリックしてメニューから「Setting」を選択します。

GitHubの管理画面

組織でGitHubのOrganizationを利用している場合、ビジネス利用を想定したプランも存在します。GitHub Copilot for Business(月額19ドル)の利用であれば、ポリシー管理によるユーザー制御やライセンス侵害といったリスク低減が可能です。

今回は個人向けの利用手順なので、Settingの左メニューから「Copilot」を選択して、[Start free trial]をクリックします。

トライアルの開始

30日間の無料トライアル終了後に発生する、利用料金の支払い方法を選択します。年間払い(年額100ドル)だと少しお得になりますが、今回は手軽に利用できる月払い(月額10ドル)を選択して[Get access to GitHub Copilot]をクリックします。

支払い方法の選択

GitHubアカウントに紐づく個人情報が未登録の場合、入力フォームが表示されるので必須となる情報を入力して[Save]をクリックします。

個人情報の登録

決済方法をクレジットカード、またはPayPalのいずれかを選択します。必要な決済情報を入力して[Save payment infomation]をクリックして登録します。

決済方法の選択

アカウントの個人情報と決済情報を確認して、[Submit]をクリックします。

個人情報と決済情報の確認

公開コードと一致する提案についての設定をおこないます。「Select an option」から利便性を優先する場合は「Allow」を、安全性を考慮する場合は「Block」を選択しましょう。「Allow GitHub to use my code snippets for product improvements(品質改善のためにコードスニペットの利用許可)」についても、安全性や機密性を考慮する場合はチェックを外しておくのがよいでしょう。設定内容は登録後でも変更が可能です。

オプションの設定

登録完了の画面が表示されると、GitHub Copilotが利用できます。

登録完了

Visual Studio Codeへのインストール

GitHub Copilotが利用できるIDEは複数ありますが、今回はVisual Studio Code(以下、VS Code)に導入してみましょう。事前にGitHubが利用できる環境でVS Codeを起動して、拡張機能の検索フォームで「github copilot」と入力します。

拡張機能のインストール(1)

インストールを実行するとGitHubへのサインインを求められるので、[許可]をクリックします。

拡張機能のインストール(2)

GitHubの管理画面でも承認を求められますので、[Authorize Visual-Studio-Code]をクリックします。

GitHubの認証

VS Codeからコードを記載するファイル(今回はPHPファイルを利用します)を開いて、GitHub Copilotを使ってみましょう。試しにコメントで「現在の日時を取得」と書くと、Copilotアイコンが読込中の表示に変わり候補となるコードが表示されます。

GitHub Copilotの使用(1)

キーボードのTabキーを押すと、提案されたコードが採用されます。

GitHub Copilotの使用(2)

正規表現を使ったメールアドレスチェックの関数や、フレームワークでの記述なども提案してくれます。精度は日々向上していくことが期待されるので、この要領でGitHub Copilotを活用してみましょう。

GitHub Copilotの使用(3)

さいごに

今回はGitHub Copilotについての解説と、導入手順についてご紹介しました。AIを導入した開発環境はトレンドになりつつあるので、可能であればまずは積極的に活用してみることをおすすめします。

グレープシティでは様々なWebアプリケーションフレームワークと一緒に使えるJavaScriptライブラリを提供しています。

メシウスのJavaScriptライブラリ

無償のトライアル版や、ブラウザ上で手軽に試せるデモアプリケーションも公開しているので、こちらも是非ご覧ください。

\  この記事をシェアする  /