GitHub Copilot · Your AI pair programmer
GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.
https://github.com/features/copilot
KIYOラーニング株式会社のページをご覧いただいている皆様こんにちは。
今回は当社で新たに導入した「GitHub Copilot」について紹介させていただきます。
特にエンジニアの皆様にとっては、GitHub Copilotは今や広く知られており、既に業務で活用しているという方も増えてきてるのではないでしょうか。
元々当社は、業務効率化やエンジニアのスキルアップに真剣に取り組んでおり、最新技術や革新的なツールの活用を積極的に行ってきました。
こうした文化は当社が掲げているコアバリューの一つ「Innovation」がよく表れていて私自身も誇らしく感じています。※コアバリューに関してはこちらをご覧ください
Innovation
現状に満足せず、高い目標にチャレンジし続けること。
新たな価値を生み出す挑戦を重ね、新しいスタンダードを創ろう。
そして生成AIの流行が拡大している中で、GitHub Copilotの活用によってエンジニアたちに最新の技術を提供し、より効果的な開発を実現したいという部長の熱意から当社でも導入を検討する運びになりました。
導入前には、まずエンジニア数名による試験運用を行いましたが、「もうこれなしでは作業できない…」という声が上がるほど、GitHub Copilotの利便性に魅了されたようです。
導入提案時には経営陣からも好意的な反応があり、検討がスタートしてからわずか5日でシステム部門内の全てのメンバーに導入が実現しました。(2023年6月にGitHub Copilotを導入しました)
GitHubが提供しているクラウド型の人工知能ツールであり、エンジニアのプログラミング作業をサポートする革新的なサービスです。
このサービスは、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は有料プランで提供されており、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を利用した方の声をまとめてみました。
作業の早さが向上し、特にコメントの記述時に便利なリコメンドが得られることが評価されています。GitHub Copilotが処理内容を理解し、文章の構築をサポートしてくれる機能も効果的で、正規表現の提示など瞬時に役立つ情報を提供してくれています。
動作の重さや、コード生成の精度にまだ改善の余地があると感じる場合もあるようです。
当社ではエンジニアだけでなく、デザイナーやQAエンジニアもGitHub Copilotを利用しているのですが、デザイナーの作業範囲ではもう少し慣れが必要かもしれません。
GitHub Copilot XはGitHub Copilotをエディター上だけではなく、開発ライフサイクル全体を通してすぐに利用できるAIアシスタントに進化させるという取り組みから誕生しました。
OpenAIの新しいGPT-4モデルを採用し、チャットやプルリク、コマンドラインなど、あらゆるステップでAIを利用できるように進化しています。
利用方法は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に限らず、最新のテクノロジーやサービスを積極的に導入し、個人や組織としての効率向上やスキルアップに貢献していく姿勢は今後も継続していきます。新たなサービスの導入については随時ご紹介していきますので、ご期待ください!