米GitHubは3月22日(現地時間)、AIを活用してソフトウェア開発を支援するCopilotの次世代ビジョン「GitHub Copilot X」を発表、OpenAIの大規模言語モデル「GPT-4」を導入する「Copilot」の大幅な機能強化のテクニカルプレビューを開始した。Copilotにチャットボット機能を統合、プルリクエストやドキュメントにもCopilotによる支援を広げた。

Copilotは、コメントとコードを自動補完して開発を支援するAIペアプログラマーとして2021年に登場。それから2年弱で利用者が100万人を超え、Copilotが46%のコードを書くようになり、それによって開発者のコーディングが最大55%速くなったという。次のステップとして、Copilotはエディタを超えて開発の生産性向上に貢献し始める。ドキュメントを読むことから、コードを書いてテストし、プルリクエストの提出までソフトウェア開発全般にわたって、AIを活用して手作業や定型的な作業を減らし、複雑な作業を容易にする……GitHubは「Copilot X」でソフトウェア開発のライフサイクルの根本的な改善に取り組む(注:「Copilot X」はビジョンの名称、AIアシスタントの製品名は「Copilot」)。

テクニカルプレビューが始まった新しいCopilotは以下のような新機能を備える。

  • Copilot Chat/Copilot Voice:コードエディタ内のAIチャット機能、音声インターフェイスにも対応
  • Copilot for Pull Requests:プルリクエストの説明文作成をAIが支援
  • Copilot for Docs:ドキュメントに関するAIチャット機能
  • Copilot for CLI:コマンドライン操作をAIが支援

「Copilot Chat」は対話型AI「ChatGPT」のようなAIチャット体験をVisual Studio CodeおよびVisual Studioで利用できるようにする。それらに深く統合されており、単にコードを提案するだけではなく、どのようなコードを入力したか、表示されたエラーメッセージなどを認識した上でユーザーをサポートする。開発者はCopilotの分析と提案の意図について詳細な説明を受け、ユニットテストの作成なども依頼できる。

  • ユーザーが記述したコードを選択、「私のコードにあるバグの修正案を提案してください」というプロンプトに対して、GitHub Copilotが「コードにはいくつかの問題があります」と回答して修正案を提示

「Copilot Voice」はCopilot Chatの自然言語によるプロンプトを、Voice-to-CodeのAI技術拡張によって開発者が口頭で与えられるようにする。

「Copilot for Pull Requests」は、AIがプルリクエストの説明文を自動生成する機能。開発者が説明文にマーカータグを挿入すると、コードの変更履歴などをもとに、Copilotがマーカーをプルリクエストの説明文に展開する。

GitHubは、コード変更に関する情報を動的に取り込みながら、開発者がプルリクエストを作成する際に文章を自動的に提案する機能も内部でテストしている。また、プルリクエストがテスト負担を増やすのを避けるために、テストが不足している可能性があるプルリクエストの変更をAIが特定して開発者に通知し、必要と思われるテストの提案にも対応する機能の開発も進めている。

Copilot for Docsは、言語、フレームワーク、テクノロジーに関して、ドキュメントを学習したAIがその内容に関する開発者の質問に回答するAIチャット機能。まずは、React、Azure Docs、MDNのドキュメントを学習させたサービスから実験的に提供し始める。

Copilot for Docsについては、その機能を組織のドキュメントやリポジトリにも適用できるようにし、社内文書や社内のソフトウェアについても開発者がAIチャットのサポートを得られる環境の実現も目指しているという。

「Copilot for CLI」は今年2月にGitHub Nextで「GitHub Copilot」として発表した機能だ。エディタやプルリクエストに次いで開発者が最も長い時間を費やしているターミナル。シェルのコマンドやフラグを覚えるのに苦労し、「シェルにやりたいことをそのまま伝えられたらどんなに楽なことか…」という開発者の思いにCopilotが応える。コマンドが不確かでも、自然言語を使ってテキストチャットで尋ねるとCopilotが候補となるコマンドを提案し、対話を通じてユーザーがシェルで実行したい目的のコマンドにたどり着けるように支援する。