近年急速なデジタル化に伴い、IT人材不足が懸念されています。そんな中、GitHubが一般公開したAIの自動コーディングであるGitHub Copilotはその課題に風穴をあけてくれるかもしれません。本記事では、GitHub copilotの仕組みを説明し、使い方や導入するメリットを解説します。GitHub copilotとはGitHub Copilotは、OpenAIとGitHubの共同プロジェクトによって生まれた、AIによる自動コーディング機能を提供するプログラムです。Visual Studio Codeでテクニカルプレビューとして限定公開され、多くの反響があり、2022年に一般向けに公開されました。copilot(副操縦士)という名前のとおり、AIシステムCodexを搭載し、コメントや関数から文脈を読み取り、プログラマーの実装を予測することで、次の行に入力されるであろうコードを提案します。必要な手直しをするだけでコーディングが完了するため、開発者はソフトウェアの開発に集中できるでしょう。また、1単語・1行のコードではなく、機能ごとに必要なコードをまとめて提案してくれることもあります。GitHubとはGitHubとは、その名の通りGitのHub(集まり)を意味し、ソフトウェアのコードを管理するツールであるGitを、オンライン上ですべての人が利用できるサービスを指します。現在はGitHubを買収したマイクロソフトが運営していますが、テクノロジーの発展を促進させるため、開発者がコードを開発・共有・リリースする重要な開発環境を提供しています。開発者ファーストの思想を掲げ、すべての人が無料で利用できるため、コミュニティに関わる人は初心者から専門家まで少なくありません。GitHubに作成されたリポジトリと呼ばれる保存庫は、基本的にすべて公開されますが、有料サービスを利用すると指定したユーザーのみのプライベートなものも作成可能です。また、各プロジェクトにwikiと呼ばれるメモ書きやタスク管理ツールといったコラボレーションの機能も充実しています。GitHub copilotの利用料金GitHub Copilotの利用料金は、60日間は試用期間として無料、以降月額10ドルまたは年額100ドルでの契約です。また、2023年2月14日(現地時間)において、GitHub Copilot for Businessというプランも登場しています。こちらは、月額19ドルでの提供です。なお、公式サイトから登録することで利用可能ですが、GitHubのアカウントが必須なので注意しましょう。GitHub copilotを使うメリットGitHub copilotを使うメリットとして、以下の3点が挙げられます。生産性の向上既存エディターと統合できる不慣れな言語でのコーディングが簡単生産性の向上GitHub copilotの最大のメリットは何といっても、生産性の向上でしょう。GitHubは、開発者がソフトウェアを開発する際に、より効率的で満足度が高められるようなサポートを目的としています。GitHub Copilotが提供するオートコンプリートシステムと呼ばれるコードの提案機能は、GitHubという膨大なコードが集まる環境で学習されたため、精度が高く多様なプログラムにも対応可能です。GitHub Copilotを開発現場に導入すれば、経験値の低いプログラマーでも効率的な開発が可能で、ひいてはソフトウェア開発全体の生産性向上につながるでしょう。また、GitHub Copilotの効果をGitHub公式が調査し、提案されたコードを受け入れて使用したユーザーの方が、生産性が上がったと感じており、その有効性が証明されています。調査結果についてはこちら→GitHubブログ既存エディターと統合できるGitHub copilotが、既存エディターと統合できるのも大きな特徴です。新しく環境を構築したり、別のソフトウェアを同時に起動する必要がないため、ユーザーの利用ハードルは比較的低く、使いやすいと言えます。ただし、公式に対応しているのは以下に挙げた4種類のみです。Visual Studio CodeVisual StudioJetBrains IDENeovim一部のテキストエディターやIDEでも利用できるようですが、上記以外に公式のサポートはないようです(執筆時点)。不慣れな言語でのコーディングが簡単開発現場において、多くのプログラミング言語に接し、ある程度の経験値があってもすべてを正確にコーディングすることは困難を極めます。同じような文法構造をしていても、細かい形式に違いがあり、すべてを網羅することは難しいでしょう。しかし、GitHub Copilotを活用すれば、言語間の相違などの文法ミスによるエラーや調査時間を削減できます。C言語・Python・Javaをはじめとした12言語以上の言語をサポートしているため、ソフトウェアにおいて別の言語への移植などもすぐに対応可能です。またGitHub Copilot が多くの言語の構文とコードを提案するため、新しい言語やフレームワークにおいて、ベーシックな書き方など多くのことを学べるでしょう。GitHub copilotの使用法GitHub copilotの使用法として、以下の3つのステップがあります。使用できるコードエディター拡張機能のインストールコーディング使用できるコードエディターまずは、コードエディターをインストールします。必要に応じて開発環境に合わせたものを選んでください。Visual Studio CodeVisual StudioJetBrains IDENeovimそれぞれのコードエディターに対して、GitHub Copilotの拡張機能をインストールすることで、使用可能になります。拡張機能のインストールインストールは、各エディター上の拡張機能にアクセスした後に行います。インストールの仕方については、公式サイトにエディターごとに丁寧な解説が公開されていますので、参考にしてください。インストール後、GitHubとの連携設定ができていない場合は、GitHubアカウントへの紐づけができていない可能性がありますので、確認が必要です。公式サイトの解説はこちら→公式ドキュメントコーディング後は、すぐ使える環境がととのっているので、コーディングを進めていきましょう。コメントや関数などを入力すると、コードを自動補完してくれます。GitHub Copilotは、新たな関数の定義や名称から内部処理を提案したり、コメントの内容から定義すべき関数を提案したりするなど、多くのサジェストによってサポートしてくれるはずです。AIが書くコードは正しい?GitHub copilotは、OpenAI Codexという機械学習モデルに基づいており、GitHubで一般公開されている自然言語テキストとソースコードでトレーニングされています。また、開発者とともに学習し、個々のコーディングスタイルや監修にも適応します。しかしGitHub copilotによって提案されるコードは完璧でなく、そのまま実行できるとも限りません。2022年6月では、コードファイルの平均27%以上でGitHub copilotのコードが利用されていた結果が報告されています。2023年2月14日には、46%まで上昇しているものの半数にとどまるという結果でした。また、AIが既存のソースコードを学習するため、古いコーディングスタイルやすでに非推奨になっている実装が提案されることもあります。しかし、GitHub copilotの利用によって、コードにリソースを集中させての生産性の向上、そしてまるでAIとペアプログラミングをしているような感覚を味わえるのは「醍醐味」と言えるかもしれません。まとめ本記事では、GitHubがリリースした新機能であるGitHub Copilotについて解説しました。GitHub Copilotは開発者にコードをパーツとして提供しますが、組み立てて完成品を作り上げるのは、開発者自身です。どのように取り扱うかは、その使用感や精度によっても異なるでしょう。なお、GitHub Copilotは、60日間の無料トライアルも提供され、個人でも気軽に使えます。トライアルに登録し、ぜひその効果を自分自身で体験してみてはいかがでしょうか。