GitHub Copilot
【GitHub Copilot完全ガイド】利用方法から効果的な使い方まで徹底解説!
GitHub Copilotとは?
GitHub Copilotは、コードレポジトリサービスGitHubとAI企業であるOpenAIの共同プロジェクトである、コーディング支援AIサービスです。
コーディング支援サービスは他にもありますが、GitHub Copilotの強みは「バックグランドの圧倒的なコード量」と「高度な自然言語処理AI技術」を組み合わせている点です。
GitHub Copilotは、Githubの持つ「数十億行のソースコード」をChat GPTで有名なOpenAIの「自然言語処理技術」と組み合わせることで、似たソースコードや定番コードの提案だけではなく、より高精度なソースコードを提案することが可能になっています。
GitHub Copilotの主な機能と出来ること
コード補完
GitHub Copilotの目玉機能がコード補完機能。
対応しているプログラミング言語やフレームワークであれば、関数の定義や一般的なコーディングタスクに対するコードスニペットを、連携させたIDE上で自動で生成することが出来ます。
また、コメントアウトや関数名、型定義名から推測して、最適なソースコードを提案する機能もあり、コメントアウトを記述するだけで大枠のコーディングが可能です。
コード補完の最大のメリットは「プログラミングの高速化、ロジックへのリソース配分の最大化」で、「書くこと」よりも「考えること、組むこと」に時間的・人的リソースを割くことが可能になります。
チャットでのコーディングアシスタント
2023年7月20日に、新しい機能「GitHub Copilot Chat」が発表されました。
Copilot ChatはMicrosoft Visual StudioなどのIDE環境に統合して、開いているコードをAIが理解した上で、エラーの対応や適切なテストコードの作成などが出来るAIで、コード補完と合わせることで、コーディングの時間を劇的に高速化することが可能になります。
同様のことは、Chat GPTなどの対話型AIでも可能ですが、GitHub Copilot Chatはプログラミングに特化しているため、適切な回答を得ることが出来ます。
GitHub Copilot Chatは簡単なプロンプトで複雑なタスクを処理できますが、AI単体でのプログラミングをするというよりかは、ペアプログラミングのパートナーという立ち位置です。
セキュリティフィルタリング
GitHub Copilotの地味に重要なポイントが、コード補完時にAIベースでのセキュリティフィルタリングをしている点です。
セキュリティに問題があるプログラムを公開するのは非常にリスクが高くなるため、セキュリティチェックはプログラミングでは重量な課題です。
GitHub Copilotのコード提案は、
- ハードコードされた認証コード
- 既存の脆弱性
- SQLインジェクションやパスインジェクション
と言った、セキュリティ的に問題のなるコードを「提案しない」ことで、「そもそもセキュリティが低いコードを書かせない」形でセキュリティを高めてくれます。
GitHub Copilotで出来ないこと
ファイル、プロジェクト全体でのセキュリティチェック
GitHub Copilotには、ファイル、プロジェクト全体でのセキュリティチェック機能はありません。先述したとおり、あくまで「セキュリティリスクのあるコードは提案しない」という形でのセキュリティ機能です。
一方で、Github自体はプロジェクト単位でのセキュリティチェック機能を別で提供しており、APIを利用した自作のセキュリティチェックやサードパーティが提供するセキュリティチェック機能を利用出来ます。
世界最大級のレポジトリサイトとしての利点を生かした、関連するソフトウェアの脆弱性チェックやアップデートチェック機能もあるため、プロジェクト全体でみる際はそちらを使いましょう。
GitHub Copilot単体でのプログラミング
GitHub Copilotは、高度なコーディングスキルと豊富なコードライブラリを持ったAIとの「ペアプログラミング」を行うためのツールです。
「プログラミングでAIを使う」というと、AI自体が全てをプログラミングしてくれる「AIプログラミング」をイメージしますが、GitHub Copilotが提供する機能は、「副操縦士」という製品名の通りあくまで「サポート」です。
プログラミングの全体像やロジックを組むのはあくまで人間であるユーザである必要があります。
GitHub Copilotの料金プラン
GitHub Copilotが魅力的なサービスであることは間違いありませんが「いくらで使えるの?」が重要なポイントでしょう。
GitHub Copilotの二つのプランと違い
2023年現在、GitHub Copilotには、個人アカウント向けの「GitHub Copilot for Individuals(月額10ドル)」と組織アカウント向けの「GitHub Copilot for Business(月額19ドル)」の2つのプランがあります。
項目 | 個人プラン | ビジネスプラン |
---|---|---|
月額料金 | 月額$10 または 年額$100 | 月額$19 |
Copilot Chat | - | ◎ |
エディタプラグインの使用 | ◎ | ◎ |
プロンプトからコードへの変換 | ◎ | ◎ |
マルチライン機能提案 | ◎ | ◎ |
テスト生成のスピードアップ | ◎ | ◎ |
公開コードに一致する提案をブロックする | ◎ | ◎ |
ライセンス管理 | - | ◎ |
組織全体のポリシー管理 | - | ◎ |
業界最高水準のプライバシー | - | ◎ |
企業のプロキシ支援 | - | ◎ |
AIとのペアプログラミングという体験については、個人向けもビジネス向けも違いはありませんが、ベータ機能であるCopilot Chatについては2023年7月現在、ビジネスプランでのみ利用可能です。
その他の面では、両者の違いは組織ユーザー向けの管理機能の違いなので、個人で使う分には個人プランで十分です。
GitHub Copilotは無料で使うことが出来る?
GitHub Copilotの個人向けプランには、60日間の試用期間があります。試用期間を利用すれば、無料で使うことが可能ですが、ずっと無料で使えるプランはありません。
プログラミングのコーディング支援AIサービスを無料で使いたいのであれば、ライバルであるAmazonのAWSが提供する「AWS Codewhiperer」の使用を検討しましょう。
「GitHub Copilot」のトピックス
- No Imageプログラミングのコーディング支援AIサービスまとめ
主なプログラミングのコーディング支援AIサービスまとめました。サービスごとの違いや、サービス選ぶ際の判断ポイントについても。