GitHub Copilotは、GitHubとOpenAIによって開発されたコード補完およびプログラミング用AIアシスタントであり、Visual Studio Code、Visual Studio、Neovim、Eclipse、JetBrains統合開発環境(IDE)のユーザーに対してコードの自動補完を提供する。現在は個人開発者と企業向けにサブスクリプションで提供されており、この生成AIソフトウェアは2021年6月29日にGitHubによって初めて発表された。ユーザーは生成に使用する大規模言語モデルを選択できる。
Copilotは、プログラマーが反復的なタスクやドキュメント作成に費やす時間を削減し、より高次の問題解決に集中できるように設計されている。クラウドベースのサービスとして動作し、GitHubのサーバーとの継続的な通信を必要とし、コードのライセンス、プライバシー、ソフトウェア開発におけるAIの役割に関する議論を引き起こしている。
沿革
2021年6月29日、GitHubはVisual Studio Code開発環境においてGitHub Copilotの技術プレビューを発表した。GitHub Copilotは2021年10月29日にJetBrainsマーケットプレイスでプラグインとしてリリースされた。2021年10月27日、GitHubはGitHub Copilot Neovimプラグインを公開リポジトリとしてリリースした。GitHubは2022年3月29日にCopilotがVisual Studio 2022 IDEで利用可能になったことを発表した。2022年6月21日、GitHubはCopilotが「技術プレビュー」を終了し、個人開発者向けのサブスクリプションベースのサービスとして利用可能になったことを発表した。
GitHub Copilotは、2014年2月にリリースされたマイクロソフトリサーチプロジェクトであるVisual Studio 2013向け「Bing Code Search」プラグインの進化版である。このプラグインはMSDNやStack Overflowなどのさまざまなソースと統合し、自然言語クエリに応じて文脈に即した高品質なコードスニペットを提供していた。
機能
自然言語でプログラミングの問題が与えられると、Copilotは解決コードを生成することができる。また、入力されたコードを英語で説明したり、コードをプログラミング言語間で翻訳したりすることも可能である。Copilotは開発者がOpenAIのGPTモデル、AnthropicのClaude、xAIのGrok、GoogleのGeminiなど、複数の大規模言語モデルから選択できるようにしている。
そのウェブサイトによると、GitHub Copilotにはプログラマー向けの支援機能が含まれており、コードコメントの実行可能コードへの変換、コードの塊、反復的なコードセクション、メソッドや関数全体の自動補完などがある。GitHubはCopilotの自動補完機能が約半分の確率で正確であると報告しており、たとえばPythonの関数ヘッダーコードでは、Copilotは関数本体の残りのコードを初回で43%、10回の試行後で57%の確率で正しく自動補完した。
GitHubは、Copilotの機能により、プログラマーがドキュメントを読む時間を減らし、馴染みのないコーディングフレームワークや言語をナビゲートできると述べている。
実装
GitHub Copilotは当初、GPT-3の修正・製品版であるOpenAI Codexによって駆動されていた。Codexモデルはさらに、数十のプログラミング言語で書かれたギガバイト規模のソースコードで追加トレーニングされている。CopilotのOpenAI Codexは、英語、公開GitHubリポジトリ、その他の公開されているソースコードの選別データセットでトレーニングされた。これには、5400万の公開GitHubリポジトリから取得された159ギガバイトのPythonコードのフィルタリング済みデータセットが含まれる。OpenAIのGPT-3は、GitHubの親会社であるマイクロソフトに独占ライセンスされている。
2023年11月、Copilot ChatはOpenAIのGPT-4モデルを使用するように更新された。2024年、CopilotはユーザーがGeminiやClaudeなど異なる大規模言語モデルを選択できるようになった。
2025年2月6日、GitHubはCopilotのより自律的な動作モードである「エージェントモード」を発表した。プログラミングタスクが与えられると、ユーザーのコンピュータ上のVisual Studioインスタンスでコマンドを実行してタスクを達成しようとする。エージェントモードはGPT-4o、o1、o3-mini、Claude 3.5 Sonnet、Gemini 2.0 Flashなどの異なるLLMに接続できる。
2025年5月17日、GitHubはCopilotのより自律的な動作モードである「コーディングエージェント」を発表した。ユーザーはタスクや課題をCopilotに割り当てると、Copilotはクラウド上(GitHub Actionsによって駆動)で開発環境を初期化し、リクエストを実行する。また、ドラフトのプルリクエストを作成し、作業中にコミットをドラフトにプッシュする。リクエストを達成すると、コードレビューのためにユーザーにタグ付けする。これは本質的にエージェントモードの非同期版である。
評価
Copilotのリリース以来、そのセキュリティと教育への影響、および生成するコードに関するライセンス論争について懸念が寄せられている。
ライセンス論争
GitHubのCEOであるNat Friedmanは2021年6月に「公開データに対するMLシステムのトレーニングはフェアユースである」と述べたが、2022年11月に提起された集団訴訟はこれを「純粋な憶測」と呼び、「『公開データに対するMLシステムのトレーニングがフェアユースであるか』という問題を検討した裁判所は存在しない」と主張した。Joseph Saveri Law Firm, LLPによるこの訴訟は、GitHubのユーザーとの契約違反から、個人情報の共有に関するCCPAに基づくプライバシー違反まで、いくつかの主張でCopilotの合法性に異議を唱えている。
GitHubは、ツールの出力のごく一部が逐語的にコピーされる可能性があることを認めており、これにより出力コードがフェアユースとして分類するのに十分な変換性を持たず、元の所有者の著作権を侵害する可能性があるという懸念が生じている。2022年6月、Software Freedom ConservancyはCopilotがトレーニングデータで使用されたコードライセンスを無視していると非難し、自社プロジェクトでのGitHubの使用をすべて終了すると発表した。カスタマーサポートメッセージの中で、GitHubは「公開されているデータに対する機械学習モデルのトレーニングは、機械学習コミュニティ全体でフェアユースとみなされている」と述べたが、集団訴訟はこれを「虚偽」と呼び、「『機械学習コミュニティ』におけるこの概念の受け入れ度合いに関係なく、連邦法の下では違法である」と付け加えた。
プライバシー懸念
Copilotサービスはクラウドベースであり、GitHub Copilotサーバーとの継続的な通信を必要とする。この不透明なアーキテクチャは、テレメトリや個々のキーストロークのデータマイニングに関する懸念を煽っている。2022年末には、GitHub Copilotが著者帰属やライセンスなしにQuakeゲームのソースコードを出力したと非難された。