見出し画像

【AIで開発効率向上】GitHubCopilotBusinessを導入した理由

みなさんこんにちは!エアリー社員のSです!

今回は「GitHubCopilot」を2か月ほど使ってみましたので、
できること、所感、メリット・デメリットなどを書いていきます。


GitHub Copilotって何?

まずは「GitHub Copilot」とはを説明してきます。

端的に言うと「AIがプログラミング作業を手伝ってくれるツール」です。
「ChatGPT」「Copilot」のチャットツールAIを、
よりプログラミング作業に特化させたようなAIツールです。


できること

様々ですが、以下が主な内容になるかと思います。

既存コードの読み取り、コメントの追記、コードの修正
コードの提案
エラー原因の特定、エラー要因箇所の特定
コーディング時にサジェストを表示
→前後のコードを読み取って、これから書きたい内容を提案してくれる。

上記GitHub Copilotの補助により、
あまり開発業務に携わったことない方でも開発対応に取り掛かれます。

経験者についてもコードの読み取り、コメント追記、コード修正などをGitHub Copilotが行ってくれるので、作業効率が爆発的に上がります。

※実際に動かしてみた画面も後程お見せします。

GitHubCopilotの契約形態

次に契約形態です。

Copilot Individual:個人向け(月々$10)
Copilot Business:組織向け(月々$19)
Copilot Enterprise:最上位(月々$39)

各契約形態でできることの詳細は以下を参照ください。

なぜBusinessにしたのか

GitHubCopilotに質問した内容や、提供したコードなどが、GitHubCopilotの学習には使われないから」です。

他にもGitHubの「Organization(組織)」に参加した人に自動で「GitHubCopilot」のライセンスを付与できたりと、組織向けの内容になっている為です。

また、GitHubも使うことになるので、ソース管理もついででできます。
そういった点でもいいなと思いました。


導入方法

契約、GitHubでの設定

GitHubへの導入方法は公式ドキュメントを参考にしました。

VSCodeで「GitHubCopilot」を使えるようにする

VSCodeには「GitHubCopilot」の拡張機能が存在します。
そちらを使用して開発を進めました。

以下サイトを参考にしました。

GitHub Copilotとのチャット

VSCode内の左側のメニューにて、下図①のアイコンをクリックすると、
GitHub Copilotとのチャット欄が表示されます。

コード提案や、読み取りは後述します。


実際に動かしてみる

ここからは実際に動かしてみた際の動作を見ていきましょう。

コードの提案

まずはHelloWorldを表示してもらいます。

1.コード内でのインラインチャット
右クリックのメニューに「Copilot」のメニューが表示されているので、
メニュー内から「エディターで開始する」を選択。

チャットが投げれるようになるので「HelloWorldと表示してください。」と依頼してみます。

GitHub Copilotからの提案が画面に表示されるので、
問題なければ「同意する」をクリックします。
※破棄を押せばチャットを投げる前に戻ります。

先ほど提案されたコードが書かれます。

2.GitHub Copilotとのチャット
「GitHub Copilot」とのチャットにて、
どんな内容のプログラムを作成したいかを投げるだけです。

今回はうるう年の判定を行うプログラムを聞いてみました。
下図のように提案してくれます。

既存コードの読み取り

今回はPHPマニュアルのサンプルコードを使用します。

読みとりたいソースを一括で選択した状態で、右クリックメニューから「Copilot」>「これを説明する」を選択。

以下のように、コードの説明をチャットで返してくれます。

コメントの追記

既存コードの読み取りで使用したソースにコメントを追記してもらいます。
コメントを追記したいコードを選択した状態で、
チャット欄に「コメントを追記してください」と打つだけです。

以下のようにコメントを追記してくれます。

コードの修正

では続いてコードの修正です。

既存コードの読み取りで使用したソースを一部修正しました。
※下図赤線の箇所を「$power」→「$status」に変更

他「$power」の箇所を修正してもらいます。

コード内でのインラインチャットにて「$power を $statusに置き換え」と入力しました。

すると、コード内の対象部分を修正してくれます。
※置換と同様のように思われるかと思いますが、修正した箇所の表示や、コードを修正してくれる為、余計な箇所が置換されないというメリットはあります。

コーディング時にサジェストを表示

「サジェスト」とは?
「GitHub Copilot」が提案してくれるコードのことです。

ソースを読み取り、状況に応じたコードやコメントを提案してくれます。

コメントのサジェスト
コメントを追記するために「//」と入力しました。
下図のように、コメント内容を予測して画面に灰色で表示してくれます。
採用する場合はタブキーを押せばソースに即時に反映できます。

コードのサジェスト
「if」とだけ入力すると以下の提案が表示されます。
「list($drink, $color, $status) = $info;」の部分を条件にした場合の提案が表示されました。

続いて、以下の変更を行ってサジェストを見てみます。
・3行目に、「おいしい」を追加
・5行目に「$taste」変数を追加

先ほどサジェストされたif分の条件を修正してみます。
「$status」以降を削除します。

「$status」の後にカンマを記入すると、
5行目に追加した「$taste」変数が条件に追加されました。
このような形でif分の内部も変更ができます。


まとめ

最後にメリットとデメリットです。

メリット

・既存ソースの解析、読解に時間がかからない
・GitHub Copilotが読みやすいようにコーディングすることで、
 コードの統一化が図れる
・コードをGitHub Copilotに修正してもらうことで、自動で校正される
・コメントの追記に時間をほぼ使わない
・エラー時には、エラーの原因箇所の特定をしてくれる。
 さらにエラー解決案を出してくれる
・コードやコメントのサジェストを提案してくれる
・自然とGitHubも使用することになるので、コード管理が楽

デメリット

・他ファイルに渡るような処理の読みとりが苦手
・コメントや、変数名が適当なコードだとコードの説明が曖昧になる
・GitHub Copilotに頼りきりになる可能性がある

最後に

以上のことから、新人・経験者共に役立つツールだと感じております。

自分の感想にはなってしまいますが、「GitHub Copilot」については
ペアプログラミングを担当する先輩社員が一人増えた。」
という感想をもっております。

その為、「GitHub Copilot」に相談→先輩社員に相談という形になり、
フォロー役の社員の時間を有効に使えました。

こういった内容の効率化が月々約¥3,000で実現できますので、
内容としてはとてもオトクではないかなという印象を持っております。


我々、株式会社エアリーは、
千葉で働きたい・頑張りたい人材を募集しております!

新卒採用キャリア採用どちらも募集しております!
以下HPより、皆様のご応募お待ちしております。

【株式会社エアリー:お問合せフォーム】

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?