プログラミング

GitHub copilotとは?使い方や導入メリットやデメリットを解説

GitHub copilotとは?使い方や導入メリットやデメリットを解説

GitHub Copilotは、AIを使いプログラミングを支援するサービスです。利用料金はかかりますが導入は簡単で、誰でも使うことが出来ます。IT人材不足などプログラミングの負担を軽減したい場合は、GitHub Copilotの利用が有効です。

本記事ではGitHub Copilot興味を持っている方に向けて、その特徴や使い方、利用のメリット・デメリットについて解説しています。

GitHub copilotとは

『GitHub copilot(ギットハブ・コパイロット)』は、アメリカのGitHub社が提供するAIを使ったプログラミング開発支援ツールです。2021年10月のリリース以降順調にシェアを拡大し、2023年にはユーザー数が100万人を突破、3万7000以上の組織で採用されています。

もともとGitHubはプログラムのソースコードをオンラインで共有・管理できるソフトウェア開発のプラットフォームですが、その新しい機能のひとつがGitHub copilotです。

GitHub copilotはAIにOpenAI社の「OpenAI Codex(オープンエーアイ・コーデックス)」を採用し、AIが次の行に相応しいコードを予測し提案していきます。エンジニアのことをまるで副操縦士(Copilot)のようにサポートすることからその名が付されています。

GitHub copilotの特徴

GitHub copilotの最大の特徴は、AIが提案するコードの正確さにあります。120億のパラメーターを持つ大規模言語モデルが、その膨大なデータセットとディープラーニング技術によって精度の高いコードの出力を可能にしています。

また、多種多様なプログラミング言語やフレームワークに対応していることも特徴のひとつです。中でもGitHub copilotに特に適しているものは、Python、JavaScript、TypeScript、Ruby、Go、C#、C++ になります。

GitHub copilotの利用料金

GitHub copilotの利用は有料で、支払いはサブスクリプション形式です。基本の「個人プラン」、中小企業向けの「ビジネスプラン」、大企業向けの「エンタープライズプラン」(2024年2月リリース)という3つのプランがあり、利用料金はクレジットカードかPayPalで支払います。

例外として、教職員や学生向けの特別プランが用意されており、申請すると個人プランの機能すべてを無料で使うことができます。また、個人プランのみ、30日の無料トライアルが設けられています。

【GitHub copilotの利用料金】

  • 個人プラン(Copilot Individual):10ドル/月 または 100ドル/年
  • ビジネスプラン(Copilot Business):1ユーザーあたり19ドル/月
  • エンタープライズプラン(Copilot Enterprise):1ユーザーあたり39ドル/月
  • 教職員・学生プラン(GitHub Global Campus):無料

GitHub copilotを使用するメリット

プログラミングにGitHub copilotを使用するメリットは多岐にわたります。ここでは、その具体的なメリット3つを紹介します。

開発スピードの向上

GitHub copilotを活用すれば開発にかかる時間を大きく短縮することが可能です。コードのサジェスト機能がオートコンプリートシステムであることから、コードを長めに書いたり誘導したりするような書き方をせずとも、先を予測したコードの提案を受けられます。AIが提案するコードはそのファイルに限らずプロジェクト全体の情報を含めた精巧な内容であり、汎用関数の即時コーディング、繰り返し使うコードの自動化なども開発スピードを高める要素のひとつです。

既存のコードエディタと統合可能

GitHub copilotは独立したソフトウェアではなく、拡張機能としてコードエディタにプラグインをインストールして使います。PCに負荷をかけることなく、既存のコードエディタに統合する形で使えるので導入がしやすく、すぐに使い始めることができることは大きなメリットといえます。

【対応コードエディタ】※2024年2月時点

  • Visual Studio Code(VS Code)
  • Visual Studio
  • JetBrains IDE
  • Neovim

不慣れな言語でのコーディング

プログラマーは、経験を積んでいくほどに多くのプログラミング言語を習得していきますが、たとえ似たような構造であってもすべての言語を習得し正確に書くことは困難といえるでしょう。その点で、GitHub copilotは多くの言語に対応しているため、自身が習得していない不慣れな言語であっても高精度な出力が可能です。これによって別言語への変換がスムーズにいくことに加え、記述ミスによるコンパイルエラーを防ぐこともできます。

GitHub copilotを使用するデメリット

メリットが多いGitHub copilotですが、デメリットにはどのようなものがあるのでしょうか。プログラマーが指摘する代表的なデメリット3つについてみていきます。

機密情報の流出の可能性がある

GitHub copilotはプロンプトインジェクション(Prompt Injection)やSQLインジェクション(SQL Injection)といったサイバー攻撃を受ける可能性があります。プロンプトインジェクションは、対話型のAIに特殊な指示を与えることで、AIが保有している機密情報や重要なデータを引き出す手法であり、SQLインジェクションは、同様に特殊な指示を与えることで情報の窃取、消去や改竄を行う手法です。どちらも、開発者が意図していないアプローチ法を用いての、AIの持つ脆弱性を狙ったサイバー攻撃であり、大きなリスクを持っています。

コードの著作権が不透明

GitHub copilotが出力するコードの著作権が複雑で不明瞭であることは、利用する際に注意すべき点です。GitHub copilotはOSS(Open Source Software)として公開されているソースコードを元に学習しているので、出力する際に他者のコードを部分的に、もしくはそのまま使用してしまう恐れがあります。OSSは利用・改変・再配布が許されているライセンスですが、条件によっては著作権侵害にあたる場合があり、GitHub copilotの出力したコードで著作権問題が発生する可能性があります。

生成AIでは基本的に著作物を活用する際に著作者の許可は不要、生成されたものにも著作権は発生しないとされていますが、法律で明確に規定されてはいません。トラブルや刑事罰の対象になる危険性もはらんでいるため、慎重に利用する必要があります。

コードの不具合も自己責任

GitHub copilotが出力したソースコードであっても、その不具合や品質の責任はすべてプログラマーが負います。AIによってコードは高精度に出力されますが、そのコードが正しいかの最終的な確認はプログラマーが自分の目でする必要があります。GitHub copilotを使っての効率化ができても、細部までの精査をアナログでしなくてはならない点はデメリットといえますが、品質を保証するために必要な作業です。

GitHub copilotの使い方

ここまでGitHub copilotの概要や様々な面をみてきましたが、では実際にGitHub copilotはどのように使うのでしょうか。インストールの方法から順に紹介します。

コードエディタのインストール

最初に、GitHub copilotで使う任意のコードエディタの最新版をインストールします。2024年2月時点で、対応しているコードエディタ4つの中から、自分に合ったものをインストールしましょう。

【対応コードエディタ】

  • Visual Studio Code(VS Code)
     https://azure.microsoft.com/ja-jp/products/visual-studio-code/
  • Visual Studio
     https://visualstudio.microsoft.com/ja/downloads/
  • JetBrains IDE
     https://www.jetbrains.com/ja-jp/idea/
  • Neovim
     https://neovim.io/

拡張機能をインストール

コードエディタのインストールが完了したら、拡張機能のインストールに進みます。まず、GitHub copilotを使えるようにGitHubにアカウントを開設し、次にGitHub copilotのサブスクリプションに登録したうえで、各コードエディタに拡張機能をインストールする流れになります。

【GitHubアカウントの開設手順】

1. https://github にアクセスし、右上の「Sign up」をクリックします。

2.次のページで「Enter your email*」の下にメールアドレスを入力して「Continue」、「Create a password*」の下にパスワードを入力して「Continue」、「Enter a username*」の下に希望するユーザーネームを入力して「Continue」をクリックします。

3.「Receive occasional product updates and announcements(更新や新製品のお知らせを受け取るか)」というメッセージが出るので、任意でチェックし「Continue」をクリック、ロボットではないことを証明して「Continue」をクリックするとアカウントが開設されます。

【GitHub copilotサブスクリプション登録手順】

※ここでは個人プランへの登録方法を紹介します。

1.アカウントにログインした状態で https://github.com/features/copilot/ にアクセスし、上部の「Pricing」をクリックします。任意のプランを選択しますが今回は個人プランのため、「Copilot Individual」の下の「Start free trial →」を選択します。

2.月単位払い(Monthly plan)または年単位払い(Yearly plan)を選択して「Get access to GitHub Copilot」をクリックします。

3.次ページで個人情報を入力し「Save」、支払い画面でクレジット払いかPaypalを選択し、決済情報を入力して「Save payment information」、最後にすべての情報を確認して「Submit」をクリックします。

4.「Select an option」で、GitHub copilotの出力の環境設定をします。GitHubで公開されているコードを使う場合は「ALLOW」、使わない場合は「BLOCK」をクリックします。

5.自分がGitHub copilotを使って出力したコードをGitHub copilotの学習データとして使う場合は「Allow GitHub to use my code snippets for product Improvements」のチェックボックスにチェックを入れ、使わない場合はチェックを外します。「Save and get started」をクリックして終了です。

【拡張機能のインストール手順】

1.各コードエディタを起動し、拡張機能メニューへと進みます。

2.拡張機能の検索窓で検索をかけると「GitHub Copilot」が出てくるので、インストールをします。

3.インストールが終わるとサインイン画面が現われます。自分のアカウントでログインするとコードエディタでGitHub Copilotが使えるようになります。

コード候補を生成

コメント内で自然言語を使って実行したいことを記述すると、GitHub Copilotはコードの候補を提案します。コードエディタで新しいファイルを作成し、自然言語で記述するとAIが提案を開始します。

例)// make password management tool

フレームワークの使用

同様にフレームワークについても様々な提案を受けられます。こちらもコードエディタで任意の言語で新しいファイルを作り、自然言語や関数ヘッダーを入力するのみです。グレーの文字で関数が提案されるので、受け入れる場合は「Tab」「Enter」を順に押します。

例)// React app server on port 3000

GitHub Copilot利用する上での注意点

GitHub Copilotを使う上で最も注意する点は、前述のサイバー攻撃です。プロンプトインジェクションやSQLインジェクションによって機密情報の流出、重要データの窃取や消去などをされるリスクがあり、実際にそのような事例も報告されています。利用にあたりセキュリティ対策を高めることが大前提になりますが、個人プランに比べてよりセキュリティ対策がしっかりとしているビジネスプランやエンタープライズプランを契約するのもひとつの方法です。

GitHub Copilotに仕事を奪われてしまう?

GitHub Copilotは精度の高いコードを出力しますが、最終的にはどうしても人の目を通す必要があるように、どれだけAIが進化してもプログラマーは必要です。

作業の効率化によって人員の削減などは起こるかもしれませんが、プログラマーはAIに助けられながら自分のスキルを高めていくことができます。将来的にプログラマーが担っていた作業をどんどんAIが代替していくと考えると、よりしっかりAIに関する深い知識を持った、プログラミングだけでなくAIを使いこなせる人材のニーズが高まっていくと予想されます。

関連記事Related Posts