1
/
5

人気のGitHub Copilot導入で開発力向上!AIとの共同開発で学びを革新!

KIYOラーニング株式会社のページをご覧いただいている皆様こんにちは。
今回は当社で新たに導入した「GitHub Copilot」について紹介させていただきます。

特にエンジニアの皆様にとっては、GitHub Copilotは今や広く知られており、既に業務で活用しているという方も増えてきてるのではないでしょうか。

元々当社は、業務効率化やエンジニアのスキルアップに真剣に取り組んでおり、最新技術や革新的なツールの活用を積極的に行ってきました。

こうした文化は当社が掲げているコアバリューの一つ「Innovation」がよく表れていて私自身も誇らしく感じています。※コアバリューに関してはこちらをご覧ください

Innovation
現状に満足せず、高い目標にチャレンジし続けること。
新たな価値を生み出す挑戦を重ね、新しいスタンダードを創ろう。


そして生成AIの流行が拡大している中で、GitHub Copilotの活用によってエンジニアたちに最新の技術を提供し、より効果的な開発を実現したいという部長の熱意から当社でも導入を検討する運びになりました。

導入前には、まずエンジニア数名による試験運用を行いましたが、「もうこれなしでは作業できない…」という声が上がるほど、GitHub Copilotの利便性に魅了されたようです。
導入提案時には経営陣からも好意的な反応があり、検討がスタートしてからわずか5日でシステム部門内の全てのメンバーに導入が実現しました。(2023年6月にGitHub Copilotを導入しました)


GitHub Copilotについて

● GitHub Copilotとは

GitHubが提供しているクラウド型の人工知能ツールであり、エンジニアのプログラミング作業をサポートする革新的なサービスです。


GitHub Copilot · Your AI pair programmer
GitHub Copilot works alongside you directly in your editor, suggesting whole lines or entire functions for you.
https://github.com/features/copilot


このサービスは、OpenAIのGPT(Generative Pre-trained Transformer)を活用しており、高度な自動生成機能を提供しています。

Copilotという名前は、「副操縦士」の意味を持ち、エンジニアのプログラミング作業において頼れる存在としての役割を果たしています。

GitHub Copilotは、既存のエディターやIDE(統合開発環境)にインストールして使用しますので、エンジニアは既存の開発環境をそのまま活用しながら利用することができます。


● 対応している言語

幅広いプログラミング言語に対応しており、Python、Java、JavaScript、TypeScript、C#、Rust、Go、Ruby、Scala、Kotlin、PHP、C、C++、Shell、SQLなど、多様な言語をサポートしています。

特にPython、JavaScript、TypeScript、Ruby、Go、C#、C++などの言語が得意なようです。


● GitHub Copilotでできること

GitHub Copilotは、様々な方法でエンジニアたちのプログラミング作業を効率化・支援します。
具体的には以下のようなことが可能です。

  • 自然言語からのコード生成
    • コメントに自然言語でやりたい処理を記述すると、コードを自動生成します。より具体的な指示を出すことで精度も上がりました。関数や変数の名前もいい感じに書いてくれますし、正規表現も得意としてます。
  • コード自動補完
    • 途中まで入力したコードの続きを予測し、提案してくれますので、簡単に補完することが可能です。単なるキーワードはもちろん、行の終わりに到達した際にも自動的に次の行のコードを提案してくれます。関数名を途中まで入力した場合には、関数全体の提案も行ってくれることもあります。
  • コード理解とコメント生成
    • 既存のコードを解析し、それに対するコメントを生成します。コードを書いた後にコメントを追加する際や、関数のドキュメンテーションコメントを作成する際に役立ちます。コードとコメントの書く順序を工夫することで、作業効率を向上させることができそうです。


導入のメリット

● 生産性向上

GitHub Copilotの導入により、効率的なコード生成や自動補完によって、迅速かつ効果的にプログラミング作業に取り組むことが可能になります。その結果、エンジニアたちの開発生産性が向上し、開発工数の削減やプロジェクトの工期短縮が実現できると考えています。

開発コストを抑えながらも作業スピードが向上するため、これまでと同じリソースでより多くのタスクに取り組むことが可能となり、事業成長を加速させる手助けとなりそうです。

GitHub Copilotは有料プランで提供されており、1アカウント単位で月額料金が発生しますが、導入による生産性向上の効果により、そのコストを十分に回収できると考えられます。
控えめに見積もっても十分な費用対効果が期待できるため、これからも積極的に活用を進め、GitHub Copilotを効果的に活用していきたいと考えています。


● 未知の開発体験

AIとのペアプログラミングはこれまでにない全く新しい開発体験をエンジニアにもたらしています。こちらの記事では開発者の92%がAIツールを愛用しているとの調査結果があると紹介されているとおり、AIを活用した開発環境がエンジニアから高い評価を得ていることが示されています。

実際当社でもGitHub Copilotの試験導入に関わったエンジニアからも高評価を得ていましたし、導入後も多くのエンジニアからポジティブな感想が寄せられています。

また、「GitHub Copilot 導入」でGoogle検索を行うと、既に多くの企業で導入されていることがわかります。このようにAIを活用した開発環境が徐々に一般的になっていることから、近い将来エンジニアにとってもAIを活用するスキルが重要なスキルセットとなる可能性があります。

しかしながら、いくつかの課題も存在し、それによって導入を踏み切れない企業も少なくありません。そのため、現時点ではGitHub Copilotを導入した環境下で開発経験を積むことは、エンジニアにとってメリットのあることだと思っています。

当社のような環境で開発してみたい、というエンジニアの方は是非応募のページもご覧になってください。現在積極採用中なので、ご応募お待ちしております。


セキュリティについて

GitHub Copilotの導入に関しては、セキュリティとライセンスの側面について考慮が必要です。この問題に対処する手段として、ビジネス向けプランであるGitHub Copilot for Businessがあります。(以下、for Business)


● セキュリティ上の問題に対するチェック

GitHub Copilotの利用によって、自社のコードが外部に流出するという懸念があります。もしもコードが悪意ある第三者に流出してしまうと、脆弱性を見抜かれて攻撃を受けるといった問題を引き起こす可能性があります。しかし、for Businessであれば、デフォルトで自社のコードがGitHub Copilotの学習に使われないよう設定されています。

この対策により、コードの漏洩リスクを低減することが可能となります。for Businessはセキュリティを重視し、情報セキュリティの向上を図るための選択肢として有効です。

● ライセンス侵害の問題に対する対応

GitHub Copilotは外部のコードを学習し、コード生成に活用します。そのため、既存のオープンソースコードなどがライセンス侵害の問題を引き起こす可能性があります。

しかし、先述のセキュリティ上の対策と同様に、for Businessでは厳格なライセンス管理が実施され、ライセンス侵害のリスクを最小限に抑えることが可能です。


● 結論

弊社では、GitHub Copilot for Businessの導入により、セキュリティ上の懸念およびライセンス侵害の問題に対処する方針を採用しております。これにより、より安全かつ信頼性の高い環境でGitHub Copilotを活用し、効果的な開発を進めていきます。


利用者からの声

実際に部内でGitHub Copilotを利用した方の声をまとめてみました。

● ポジティブな声

  • マークダウンを書く時もいい感じのリコメンドをしてくれるのが良き
  • コメントを記載しようとしたときに、処理内容を汲み取っていい感じの文章を構成してくれたのが便利
  • 記述したい正規表現をCopilotが瞬時に出してくれて便利だった
  • 2つの関数を1つの関数に共通化するリファクタリングをする際に、ほぼCopilotが私の想定しているコードを出力してくれた
  • ひとまずコメントから関数を作って参考にできるのも効率アップだった

作業の早さが向上し、特にコメントの記述時に便利なリコメンドが得られることが評価されています。GitHub Copilotが処理内容を理解し、文章の構築をサポートしてくれる機能も効果的で、正規表現の提示など瞬時に役立つ情報を提供してくれています。

● ネガティブな声

  • 自動生成されたコードやコメントが使える場合と、使えない場合とで半々くらいな印象
  • 補完などの挙動がもっさりしていて、普段使いは少し厳しそう
  • デザインの修正においては単純で基本的なことしかできなくて効率が上がったりすることはなかった

動作の重さや、コード生成の精度にまだ改善の余地があると感じる場合もあるようです。

当社ではエンジニアだけでなく、デザイナーやQAエンジニアもGitHub Copilotを利用しているのですが、デザイナーの作業範囲ではもう少し慣れが必要かもしれません。


さらに進化したGitHub Copilot X

GitHub Copilot XGitHub Copilotをエディター上だけではなく、開発ライフサイクル全体を通してすぐに利用できるAIアシスタントに進化させるという取り組みから誕生しました。

OpenAIの新しいGPT-4モデルを採用し、チャットやプルリク、コマンドラインなど、あらゆるステップでAIを利用できるように進化しています。

Introducing GitHub Copilot X
GitHub Copilot X is our vision for the future of AI-powered software development.
https://github.com/features/preview/copilot-x


GitHub Copilot Chat

利用方法はGitHub Copilotと基本的には同様で、VS Code等のエディターにインストールすることで、ChatGPTのような体験をエディターで行えるようになります。

2023年7月にGitHub Copilot for Businessユーザー向けに限定パブリックベータとして公開され、当社でも早速利用開始しました。

チャット インターフェイスである GitHub Copilot Chat を使うと、サポートされている IDE 内で直接コーディング関連の質問を行い、回答を受け取ることができます。 Copilot Chat は、コードの提案の提供、コードの機能と目的に関する自然言語での説明の提供、コードの単体テストの生成、コード内のバグに対する修正の提案など、さまざまなコーディング関連タスクに役立ちます。

引用元:https://docs.github.com/ja/copilot/github-copilot-chat/using-github-copilot-chat

エディタを開きながらChatGPTのように調べたいことをチャットで質問したり、コードの解説やレビューを依頼したり、テストコードを書かせたりと、チャットで色々なことが出来ますので、エディタとブラウザを行ったり来たりする回数が減りそうです。

将来的には音声入力にも対応する予定があるそうで、さらなる進化が楽しみですね。



当社では生成AIに関するガイドラインを制定しており、全社的にChatGPTをはじめとする生成AIを業務に積極的に活用していこうとしています。

また、その活用ノウハウを蓄積、共有する取り組みも始まっていますので、開発チームにおいてもGitHub Copilotをはじめとした生成AIを開発業務で使いこなせるようにしていきたいと考えています。

また、GitHub Copilotに限らず、最新のテクノロジーやサービスを積極的に導入し、個人や組織としての効率向上やスキルアップに貢献していく姿勢は今後も継続していきます。新たなサービスの導入については随時ご紹介していきますので、ご期待ください!

KIYOラーニング株式会社では一緒に働く仲間を募集しています
64 いいね!
64 いいね!
同じタグの記事
今週のランキング
KIYOラーニング株式会社からお誘い
この話題に共感したら、メンバーと話してみませんか?