GitHubのChatGPTでコーディング!?「GitHub Copilot X(Chat)」とは
- ChatGPT
- GitHub
- IT・情報通信業
- OpenAI
- システム開発
今回は「GitHub Copilot」に続き、2023年3月に発表された「GitHub Copilot X」のChat機能である「GitHub Copilot Chat」を検証してみました。
(前の記事:「Prompt Flow」を使ってChatGPTで社内ナレッジを回答するLINEチャットボットを作ってみた(サマリ版))
GitHub Copilot Xとは
2021年6月29日に発表されたコーディングサポートAI「GitHub Copilot」に、自然言語を用いたチャットやターミナルインターフェイス、プルリクエストのサポートなどを加えた進化バージョンです。
具体的にはOpenAIのGPT-4を搭載することでチャットや音声などAIを活用したソフトウェア開発が可能となりました。
そして「GitHub Copilot X」はIDE(統合開発環境)であるVisual Studio, Visual Studio Codeから利用することができて、2023年9月時点で料金体系は未発表です。
(参考:Introducing GitHub Copilot X)
GitHub Copilot Xの機能
GitHub Copilot XにはChat以外にも複数の機能が搭載されています。
各機能を利用するにはサイト上での申請が必要になり、公式からアクセス許可メールが届くことで利用することができます。
また上記以外の機能も 「GitHub NEXT」というプロジェクトが進行しています。
GitHub Copilot Xの使い方
手順
1.GitHub Copilotのサブスクリプションを登録します。
2.最新バージョンのVisual Studio Codeをインストールします。
3.Visual Studio Codeの拡張機能メニューから「GitHub Copilot」と「GitHub Copilot Chat」をインストールし、GitHub IDを使ってサインインします。
GitHub Copilot Chatを起動した画面
4.拡張機能でインストールした①の「チャット」アイコンをクリックすると、GitHub Copilotとチャットができる欄が表示されます。
5.ChatGPTと同様に⓶の入力欄で利用することができます。
GitHub Copilot Chatの活用例
ここではGitHub Copilot Chatの4つの活用例を紹介します。
1.コードの生成
2.コードの説明
3.コードの修正
4.コードのリファクタリング
1.コードの生成
自然言語でプロンプトを入力すると、既にエディターに書いてあるコードを参考に新しいコードを作成してくれました。
また記載したHTMLコードから状況を把握して、必要なコードを適切な関数(定義はしているが実装はしていない関数)の中に挿入してくれました。
プロンプトの「ヴァリデーション」という誤記を「バリデーション」と認識しています
コードの説明
記載したコードの処理内容について聞くと、下記のような明確な回答が得られました。
意味のない関数名であっても内容を把握して回答を生成しています。
コードの修正
定義している関数の処理に問題があるということで修正を依頼をしたところ、問題箇所の指摘に合わせてコードの修正版も提供してくれました。
コードのリファクタリング
可読性が低いコードに対して具体的に実現したいことを依頼したところ、、問題なくリファクタリングしてくれました。合わせてわかりやすい説明文も添えられています。
GitHub Copilot Chatの応用編
「GitHub Copilot」の検証と同様に「GitHub Copilot Chat」でもコーポレートサイトのサンプルを作成してみました。
使用した言語はHTML,CSS,JavaScriptの3種類です。
完成までかかった時間はレイアウトの調整時間を含んで【1時間程度】です。
「GitHub Copilot」 vs 「GitHub Copilot Chat」
どちらも非常に優秀な機能ですが”あえて”比較すると下記の表のような印象です。
両機能とも様々なケースで活用できますが、下記のような用途ではよりフィットするかと思います。
「GitHub Copilot」
活用ポイント:コーディング
効果:時間の短縮や工数の削減など
「GitHub Copilot Chat」
活用ポイント:レビュー・テスト
効果:コードの最適化や迅速なバグ修正など
(参考:まるで電動アシスト自転車!?開発者の強い味方「GitHub Copilot」とは)
まとめ
今回は「GitHub Copilot」に続き「GitHub Copilot Chat」を検証してみました。
実際に使ってみて「GitHub Copilot Chat」の強み弱みはこのような感じかと思います。
強み
- ペアプログラミング
- Copilot(副操縦士)の助言を受けながらコーディングできるので迷子にならない
- 生産性の向上
- コードの解析やバグ修正などを細部までサポートしてくれるので効率が良い
- 使い勝手が良い
- 既存エディターにプラグインを追加することで利用できるから便利
弱み
- チェックは必要
- コードが問題ないかどうかの最終チェックは人手で行う必要がある
- プロンプトの作成が必要
- 概ね便利なもののプロンプトの作成に工数を要する場合もある
「GitHub Copilot」も「GitHub Copilot Chat」も非常に優秀な機能です。
どちらも試した結論としてハイブリッドで使うのが最も効率がいいと感じました。
具体的には「Copilot Chat」でまず大まかな枠組みを作成し「Copilot」で中身を埋めて、最終的なテストに再度「Copilot Chat」を使う形式です。
条件付きですが2023年9月現在どちらも無料で利用できるので、まずは触ってみることをおすすめします。
次回は「GitHub Copilot」の対抗サービスである「Amazon CodeWhisperer」について紹介します。
(AmazonのAIでコーディング??「AWS CodeWhisperer」とは)
今回のコラムに関連のある資料
SIer様・ベンダー様向けAzure OpenAI Service開発支援サービス
Azure OpenAI Service開発支援サービスの紹介資料です。 AI業界の市場動向や主な課題、船井総合研究所のAI開発の特徴や事例などがご確認いただけます。