株式会社アカネソリューションズ

2023.04.03

GitHub Copilotがどうやらすごいらしい。

こんにちは、アカネエンジニアの橘川です。

またまた、AIツールのご紹介です。どうやらGitHubが新しくAIでコードを補完をするツール「GitHub Copilot」を提供し始めたみたいなので、早速使用してみました。

GitHub Copilotとは

GitHub CopilotはMicrosoftとOpenAIが共同開発した人工知能技術を用いたコード補完ツールです。プログラマーが書くコードを予測し、提案する機能を持っています。

Copilotの意味が「副操縦士」なのでコードを書く際のアシスタントをしてくれるということでしょうか。なかなか粋なネーミングな気がします笑

公式サイトは以下です。

https://github.com/features/copilot

GitHub Copilotの特徴

GitHub Copilotの特徴は以下の通りです。

  • 多言語対応: Python, JavaScript, TypeScript, Ruby, Go, HTML/CSSなど、様々な言語、フレームワークに対応しています。
  • コード補完: 関数名や変数名を入力するだけで、適切なコードが自動的に生成されます。
  • 自動修正: スペルミスや構文エラーをAIが検出し、自動的に修正提案を行います。
  • コードスニペット提供: 特定の機能を実装するためのコードスニペットを提供します。

プランについて

GitHub Copilotには現在2つのプランがあります。

・Copilot for Individuals

・Copilot for Business

導入してみた

GitHubのアカウントからCopilotというメニューがあるのでそこで少し編集します。

以下の画像は「Suggestions matching public code」が「Allow」になっていますがこれは公開コードを許可しますか?という質問なのでセキュリティ上ブロックした方が良いかと思います。

「Allow GitHub, its affiliates and third parties to use my code snippets」については、自分のコードがコードの機能や品質改善を許可します。ということなのでこれもチェックを外したほうがいいでしょう。(任意ですが)

そして私は主にVSCodeを使用するので、「GitHub Copilot」という拡張機能をインストールします。

早速使ってみましょう。

これはTypeScriptのファイルです。コメントで「ジェネリクスで型を指定する」と記述してEnterを押すと、下の行にコメントの意図に沿ったコードの候補を記述してくれます。これはコード補完どころではないですね、、

候補が良い場合はTabキーを押して有効にします。

他の記述も試してみましょう。「現在時刻を「XXXX年X月X日」で取得する」とします。

これはすごい、、しっかりと対応してくれました。

まとめ

今回はコード補完機能しか使用していませんが、AIを使用したコード補完がこんなにも驚異的とは思いませんでした。他にも多言語への書き換えやコードの説明などの機能があるみたいですが、またの機会にまとめたいと思います。