ファンリピート社のブログFR note

GitHub CopilotのAIがすごすぎる!導入方法と使い方を解説

GitHub CopilotのAIがすごすぎる!導入方法と使い方を解説

こんにちは。ファンリピートの塙です。

今回は今話題のGPTを用いたAIによるプログラミングの手助けをしてくれるGitHubの提供するCopilotを紹介します。

ぜひ最後までご覧ください。

GItHub Copilotの公式ページのスクリーンショット

※一般の人なら60日間の無料体験後、有料プランへの移行となりますが、学生はgithub のglobal campasへの登録で無料で使用することができます。学生の方は登録しておくといいと思います。

登録方法はこちらを参照してください。

目次

当社では現在一緒に働くメンバー募集しています!
正社員
システムエンジニアとして当社のシステム開発業務に携わってみませんか?
未経験者から経験者まで広く募集しているのでぜひエントリーをお待ちしています。

Git Hub Copilotとは

GitHub Copilotは、OpenAIとGitHubが共同開発した人工知能によるプログラミング支援ツールです。プログラマーがコードを書く際に、自動的にコードを提供してくれます。

Copilotは、GitHub上にあるコードを学習しており、GitHub上にあるコードのフレーズやパターンを自動的に把握することができます。したがって、プログラマーはコードを書く際に、手動でコードを記述する必要が減ります。

また、Copilotは、あなたがどのような言語を使用しているかを判断し、それに合わせてコードを生成するため、開発言語を問わず利用することができます。中でも「Python」「JavaScript」「TypeScript」「Ruby」「Go」「C#」「C++」が得意なようです。

簡単なコードの自動生成や、コードの効率的な生成を手助けしてくれるCopilotは、多くのプログラマーにとって非常に有用なツールとなっています。

導入方法

ここではVS Codeへの導入を紹介します。

前提条件

Git Copilotを使用するには、以下の前提条件が必要です。

  • GitHubアカウントの作成
  • Visual Studio Code(VS Code)のインストール
  • VS CodeのGit拡張機能のインストール
  • GitHubアカウントの設定

順を追って解説していきます。

Git Copilotを使用するには、GitHubアカウントが必要です。GitHubアカウントをお持ちでない場合は、GitHubのサイトでアカウントを作成してください。

git hubのアカウントが作成できたら、ついにCopilotへの使用を開始していきます。

まず、Copilotのサイトへアクセスしてください。

GitHub copilotの公式ページのスクリーンショット

Start my free trialを選択します。

60日間の無料体験期間があり、期間内に登録を解除すればその後課金されることはありません。課金していく場合、月額10ドルまたは、年間100ドルです。

GitHub copilotの公式ページのスクリーンショット

Get access to GitHub Copilotをクリックします。

GitHub copilotの公式ページのスクリーンショット

公開コードと一致する提案を許可するか、GitHubが製品改良のために自分のコードを使用することを許可するかについて回答し、Save and get startedをクリックします。

GitHub copilotの公式ページのスクリーンショット

今回はVS Codeへの導入を行うので、一番上のVisual Studio Codeをクリックします。

Visual Studio Codeへのcopilotの導入方法について書かれたページのスクリーンショット

次に緑色のボタンの「GitHub Copilotを試す」をクリックすると次のページへ移動します。

GitHub CopilotのVSCodeへのインストール画面のスクリーンショット

ここでInstall をクリックすると、VS Codeを開いていいか聞かれるので許可し、VS Codeへ移動します。

GitHub CopilotのVSCodeへのインストール画面のスクリーンショット2

VS Codeに移動したらインストールをクリックし、インストールを開始します。

インストールが終わると、VS CodeにGitHubでサインインしていない場合サインインを求められるので(画面右下にて)サインインすると、アイコンが表示されます。

Copilotが導入されたことがわかるアイコンのスクリーンショット

これでCopilot の導入ができました。

軽く触ってみよう

基本操作

option + [  前の候補を表示

option + ]  次の候補を表示

tab     候補の決定

control + enter 他の候補を見る

よくプログラミングの練習で行うフィボナッチ数列の表示プログラムをpythonでcopilotを使いながら書いてみます。

Copilotではコメントや関数名からコードを提示してくれます。

では、

#display fibonacci

と記述してみます。

すると、

フィボナッチ数列を表示するソースコードをCopilotを用いて実演する画像1

このように灰色文字で提案がされたので、tabを押します。

フィボナッチ数列を表示するソースコードをCopilotを用いて実演する画像2

すると提案が導入されました。

続いてenterを押して次の行へ移動します。

フィボナッチ数列を表示するソースコードをCopilotを用いて実演する画像3

続いて、いくつの数を表示させるかを決める変数の提案がされたので、そのままtabを押す。このようにして次々と提案されたものをtabで確定させていくと以下のようなプログラムが出来上がりました。

フィボナッチ数列を表示するソースコードをCopilotを用いて実演する画像4

これで既に完成してしまいました。

今回のコードを書くうえで記述したのは”#display fibonacci”のみです。

実行してみるとちゃんと計算されていることが分かります。

フィボナッチ数列を表示するソースコードをCopilotを用いて実演する画像5

Copilotの仕組みと注意点

予測は、GitHubが保有する数百万のオープンソースのコードから学習したニューラルネットワークによって実現されています。

GitHub Copilotは、オープンソースの学習済みモデルであるOpenAIのGPT(Generative Pretrained Transformer)をベースにしています。GPTは、自然言語処理のタスクにおいて、単語の並びから文章を生成するなどの応用に利用されています。GitHub Copilotは、プログラミングにおけるテキスト処理のタスクにGPTを適用し、プログラマーの入力を解析し、次のコードの断片を予測することができます。

ただし、GitHub Copilotが提供するサジェストは、GitHubが保有するオープンソースのコードから学習したものであり、その出力が常に正確であるわけではありません。プログラマーが出力を確認し、必要に応じて修正することが必要です。また、GitHub Copilotは、プログラムの動作に関する知識を持っていないため、出力されたコードが意図した動作をしない場合があります。

例えば、以下のソースコードは初めの1行のみを記述してそのあとはCopilotの提案をそのまま採用したソースコードです。

フィボナッチ数列の関数(再起呼び出し)

しかし、このコードはフィボナッチ数列を求めることができますが、再帰呼び出しを行なっているためnの値が大きくなった場合にオーバーフローなどを起こしてしまう可能性があります。

学習データがgithub上で公開されているソースコードなのでどうしても誰かが書いたコードをコピペして持ってきているように感じることがありました。

例えば、急に別のディレクトリの(存在しない)コードを参照する提案がされることがあったりなどです。

また、日本語のコメントからも提案をしてくれますが、英語の方が学習データが多いため的確な提案をされる可能性が高いです。

Copilotのアップデートバージョン!Copilot X

copilot xの公式ページのスクリーンショット

現在のCopilotよりもさらに機能が充実したCopilot Xが将来的に公開される予定です。機械学習にはGPT-4が使用されます。

その新たな機能には

  • chat GPTのようにチャット形式で相談できる機能
  • テストコードの記述
  • 膨大な公式ドキュメントから該当箇所をピックアップしてくれる機能
  • バグの修正を提案してくれる機能
  • プルリクエストの説明を自動で記述してくれる機能

どれも今後の開発の効率を飛躍的に上げてくれそうな機能です。

現在一般公開はされていませんが、公式サイトから順番待ちリストへの登録が可能です。

終わり

いかがだったでしょうか。ぜひ一度は自分のパソコンで試してみることをお勧めします。次々とコードの提案がされていく体験はかなり面白くワクワクするものだと思います。

メンバーを募集中!

当社ではお客様に向き合い、お客様の事業成功にコミットをできる仲間を募集しています。

正社員、インターンから副業まで、幅広く採用活動を進めております。プロジェクトマネージャーやシステムエンジニアとして当社のシステム開発業務に携わってみませんか?

当社と共に、業界トップを目指して挑戦したい方は未経験者から経験者まで広く募集しているので、ぜひエントリーをお待ちしています。

  • URLをコピーしました!

この記事を書いた人

株式会社ファンリピートのアバター

株式会社ファンリピート

FRnoteは株式会社ファンリピートのメンバーによって運営されている社内ブログです。ノーコード・ローコードの技術ブログを始めとして、最新のIT技術、業務で役立つノウハウなど様々なトピックをまとめています。

目次
閉じる