🎮

学生ならとりあえずGitHubCopilot使え!!!

2023/12/04に公開

「神戸電子専門学校 ゲーム技研部 Advent Calendar 2023」4日目の記事です。

https://qiita.com/advent-calendar/2023/kdgamegiken

はじめに

最近AI系のトレンドが(良い意味でも悪い意味でも)絶えません。そんな中プログラマーなら知っている人が多いと思いますが、プログラミング界隈にも当てはまるAI技術があります。
それがGitHub Copilotです。

GitHub Copilotとは

生産性を爆上げ(当社比)してくれるAIベースのコード補完ツールです。GitHubから学習しているだけあって、GitHubにあるコード量が多い言語に関してのコード提案の精度はかなり高いと感じています。
当初はライセンス無視で提案してきたり[1]、学習されてしまった機密情報などがそのまま出力されたり[2]とありましたが、現在はかなり対策されてきています。[3]さらに現在では企業レベルで導入も進んでいるようです。[4][5]

でもお高いんでしょう?

じつは、GitHub EducationにあるGitHub Student Developer Packに同梱されており
学生なら2年間(延長可) >>無料<< で使えちゃいます

しかも、2023年12月からGitHub Copilot Chatもプライベートベータからオープンベータになったので、GitHub Copilotを持っている人なら順番待ちが不要になります!

一般の人でも30日のお試し期間後、月10ドルor年100ドルで使えます。(ちなみに赤字らしいです[6])
年100ドルだと払えなくはないですが、赤字なうえに円安も重なると💸になってしまうのでこの価格で維持してほしいところです、、、

導入方法

タイトルにある通り、学生向けなのでGitHub Educationに登録する手順から紹介します。
GitHub Educationを申請以外の項目は共通なので、一般の方がもしいればGitHub Educationを申請を飛ばしてください。

GitHub Educationを申請

https://education.github.com/

このURLから申請することができます。中央にあるJoin Global Campusをクリックします。

生徒ですか?と注意書きみたいなのが表示されます。生徒の方で要件を満たす方はYes, I'm a studentをクリックします。

教師か学生かを選択します。デフォルトでStudentが選択されていると思うので、そのままでOKです。

下の方にスクロールすると学校についての情報の入力を求められます。

What e-mail address do you use for school?には、GitHubに登録したメールアドレスが表示されています。メールアドレスには、学校から配布された学校固有のドメインが入った(xxx@kobedenshi.ac.jpのような)メールアドレスが必要です。学校のメールアドレスで登録した場合はそのままで大丈夫ですが、個人のメールアドレスで登録した場合は、アカウントに学校メールアドレスを追加してください。(新しくアカウントを作成する必要はありません)

What is the name of your school?には学校名を入力します。神戸電子専門学校の場合はKICと入力すれば表示されました。学校名を入力したタイミングで、メールアドレスのドメインのチェックが入ります。アカウントに登録されているメールアドレスのドメインと一致しない場合は、画像のように警告が表示され登録できません。

How do you plan to use GitHub?にはどのように使うかを記述します。今回は適当に翻訳したThe purpose is to research the Pro version of GitHub and use GitHub Copilot.(「目的は、GitHub の Pro バージョンを調査し、GitHub Copilot を使用することです。」)としています。(たぶん英文ならなんでも大丈夫です)

全ての要件を満たしたらContinueがクリックできるようになります。

次のページでは学生証の写真を撮りアップロードしてGitHubの方で検証してもらう必要があります。アップロードが完了すると、審査待ちの状態になります。

審査が通ると、メールで連絡が来ます。時期によって審査結果が通知される日程は変動しますが、調べたところによると1~7日のようです。

プロフィールを見てみると、左下HighlightsPROの表記が追加されているのが確認できると思います。

GitHub Copilotは、アカウントの設定のCopilotで画像のような設定項目が表示されれば無事有効化されています。(おそらくGitHub Educationの申請が通ったタイミングで有効化されると思います)
ちなみにGitHub Copilot Chatは今現在もプレビュー機能ですが、パブリックベータになりGitHub Copilotのアクセスが許可された時点でこちらも自動的にアクセスが許可されます。

これでGitHub Educationの申請は完了です。

Visual Studio Code

以下VSCodeと略します。VSCodeの初期の画面です。拡張機能をインストールするには、左の箱のアイコンのExtensionsをクリックします。

今回導入する拡張機能です。GitHub CopilotGitHub Copilot Chatを導入します。

拡張機能のインストールが完了すると、左のアカウントのアイコンに通知アイコンが付き、Sign in with GitHub to use {拡張機能名}と表示されます。または、右側にSign in to access GitHub Copilot.と表示されます。どちからクリックすると、ブラウザが開くのでGitHub Copilotが有効化されているアカウントでログインしてください。

どちらともログインが完了すると、通知アイコンは消え、右下にGitHub Copilotのアイコンが表示されます。

一応違う方法で確認してみます。アカウントアイコン→ユーザー名(GitHub)Manage Trusted Extensionsをクリックしてください。

するとVSCodeの画面上部にそのアカウントが利用されている拡張機能が表示されます。これで導入は完了です。

コミットコメントの自動生成

いつの間にか使えるようになっていたので紹介します。VSCodeにはGit LensというGit関連の拡張機能があり、それを導入するとChatGPT(OpenAI)を利用したコミットコメントの自動生成が可能になります。これを利用するにはChatGPTのAPIKey(有料)を登録しなければならないのですが、GitHub Copilot Chatを導入していればGitHub Copilot Chat経由で生成できるようになり、APIKeyは不要になります。

コミットのコメントの右にある星マークGenerate Commit Messageをクリックするとステージングの内容を解析し、コメントを自動生成してくれます。

Visual Studio 2022

Visual Studioの初期の画面です。プロジェクトは作成しなくてもいいので、右下のContinue with codeをクリックします。

画面上部のExtensionsManage Extensions...をクリックします。

Manage Extensionsという別ウィンドウが開き、拡張機能の管理が行えます。

左側のOnlineを選択し、右上にあるSearchGitHubと入力して出てきたGitHub CopilotGitHub Copilot Chatをインストールします。

インストールが終わると、画面下部に再起動の通知が表示されます。なので一度Visual Studioを終了します。

Visual Studioを終了させると、VSIX Instsallerというウィンドウが表示されます。ここでは変更する(インストールする)拡張機能の一覧が表示されます。問題なければModifyをクリックします。

インストールが完了すると、拡張機能の左にチェックマークが付きます。これでVisual Studioでの拡張機能の導入は完了です。

Preview機能の申請

https://github.com/features/preview

これは特にやらなくてもOKです。現在の最新のプレビュー機能はここで試すことができます。

現時点での一般で使えるプレビュー機能は

  • Copilot Chat in JetBrains IDEs
    プライベートベータ。JetBrains製品でGitHub Copilot Chatを利用する場合に必要。
  • Copilot Chat in Visual Studio and Visual Studio Code
    パブリックベータに変更。対話型の機能。
  • Copilot in the CLI
    プライベートベータ。GitHub CLIでCopilotの機能が利用できる。
  • Copilot code referencing
    プライベートベータ。ライセンスと一致するコードが見つかった場合に通知されるようになる。

になります。Copilot code referencingは有効化しておくと、提案されたコードのライセンスに敏感にならなくても良くなる(と思う)のでオススメです。

おわりに

GitHub Copilotがプレビュー機能になった時から利用していたのですが、これはもう日常的に利用していて手放せなくなっています。(日常的にChatGPTを利用している人ならこの気持ちが分かるはず、、、)
GitHub Copilot Xも発表されましたし、これから本当にCopilotとして成長していくのが楽しみです。

脚注
  1. ついにGitHubのコードで学習したAI「GitHub Copilot」が集団訴訟に直面 ↩︎

  2. 「GitHub Copilot」はAPIの秘密キーまで知っている? 優秀過ぎるAI(相)棒に恐れを抱く開発者も ↩︎

  3. Introducing code referencing for GitHub Copilot ↩︎

  4. 導入1ヵ月で、35,000行分のコーディング時間を削減
    定量面・定性面から評価する「GitHub Copilot」
    ↩︎

  5. GitHub Copilotによる技術革新と未来のエンジニアリング ↩︎

  6. Microsoftはコード補完AIツール「GitHub Copilot」でユーザー1人あたり月額3000円近くの損失を出しているという報告 ↩︎

神戸電子専門学校ゲーム技術研究部

Discussion