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
みなさま、こんにちは。
Brushup 採用担当の野田です。
いつも、弊社ストーリーをご覧いただき誠にありがとうございます!
今回は、当社で新たに導入した「GitHub Copilot」についてご紹介いたします。
最近では認知度も広がり、すでに業務で活用しているエンジニアの方もいらっしゃるのではないでしょうか。このストーリーが、ご覧いただいているエンジニアのみなさんの参考になれば幸いです。
GitHubが提供するクラウド型の人工知能ツールで、エンジニアのプログラミング作業をサポートするサービスです。
具体的には、プログラマーが記述したコードやコメントを基に、AIが最適なコードを推測し提案します。
プログラマーはその提案を採用して、作成中のプログラムに反映させることができます。
GitHub Copilotを知ったきっかけは、開発部のメンバーがある記事を読んで、使用してみたいと提案したことでした。その記事では、AIによるコード補完機能の強力さが具体的な例と共に紹介されており、当社でも導入を検討するきっかけとなりました。
当社の開発部では、エンジニアの生産性向上とコードの品質向上を目指しており、日々のコーディング作業の負担を軽減し、より創造的なタスクに集中できる環境を整える必要がありました。
導入に際してのハードルは、社内のエンジニアがAIツールに対してどの程度信頼を持てるかという点でした。まずはトライアルとして導入し、実際に効率化できているかをメンバー間でアンケートを取りました。徐々に効果が現れたことにより、本格的な導入へとつながりました。
実際にGitHub Copilotを活用している開発部のメンバーに話を聞いてみました。
今回、インタビューにご協力いただいたのは渡部さんと向原さんです。
エンジニアとしてご活躍されている島根の渡部さん(左)と大阪の向原さん(右)
渡部さん:何か機能を実装したいときに、GitHub Copilotがリアルタイムにコードを提案してくれるので、それを叩き台として活用しています。
1から自分の手でコードを書く必要がないので、コーディングの効率化を実現しています。
向原さん:わたしはまだ技術的な面でわからないことが多いため、コードベースでの実装方法についてエンジニア同士で行う「壁打ち」相手として使用しています。
「こういうふうに実装しようと思うけどどう?」といった問いを投げかけ、いつでも相談できるアシスタント的な役割であり、ChatGPTのようなイメージで使用しています。
渡部さん:使用する前は、質問する手間がかかるのではないかと思っていましたが、使い続けるうちに利用範囲が広がり、使用感にも慣れました。
今では、GitHub Copilotはなくてはならない存在です。
向原さん:とても良いです。
エンジニアが触れる技術は幅広く複雑なものが多いため、頭の中で整理しきれない情報を書き出しながら相談することで、情報を整理しつつ叩き台を作成できます。そのため、時間の効率が非常に高いです。
また、自然な会話ベースで使えるので、誰でも扱いやすいと思います。
渡部さん:キーワード検索ではなく、「こういうことがしたい」という文章ベースで使えるため、普段の検索結果を翻訳する労力がなくなりました。
ただ、GitHub Copilotをサポート役として割り切ることが重要です。自分が納得できるまでGitHub Copilotが提案するコードを読み込まないと、情報に振り回されて上手く扱えないと思います。
向原さん:開発業務を進めていると、常に何かしらのエラーが発生し、そのエラーログを読み込むことが大変です。
しかし、そのエラーログを直接入力して、エラーの概要を教えてもらうことができます。
経験が浅いと判断が難しい業務ですが、すぐに問題点を示してくれることは大きな効率化につながります。
デメリットというよりは、正しい使い方が必要だと思います。
ChatGPT同様、完全に間違っていることも正しいように表示されることがあるため、自分で得られた回答を噛み砕いて認識を合わせることが重要です。
そうしないと、予期せぬバグが発生したり、意図しない方向に実装が進んでしまうことがあります。
渡部さん:これは私ではなくチームメンバーの経験ですが、その方はRuby言語が得意で、RubyをPHPに変換する方法を利用していました。自分の得意な言語を別の対象言語に変換できるのは、とても面白いと感じました。
毎回その方法を続けると逆に効率が悪くなるかもしれませんが、何かしらの条件や制限を設けて活用すれば、面白いエンジニアリングができると思います。
向原さん:GitHub Copilotを多用しているわけではありません。
あくまでも時間を最大限に活用するためのツールと考えており、全てをGitHub Copilotに頼るのではなく、どう上手く使いこなすかが重要だと考えています。
渡部さん:コーディングの補助、特に素早いコード提案の機能に魅力を感じています。そのため、作業スケジュールがタイトな方や、日々のコーディング作業を効率化したい開発者にお勧めできると思います。
向原さん:技術や経験が浅いエンジニアや、新しい技術にこれから触れる方は、GitHub Copilotをうまく活用することで、効率面での恩恵を大きく感じやすいと思います。
ただし、エンジニアの仕事はコードを書くことだけではありません。GitHub Copilotを使えば、設計などの重要な作業に時間を割くことができるため、すべてのエンジニアにお勧めしたいです。
渡部さん:「電動工具」のようなものだと考えています。
手回しドライバーなどの手動工具よりも素早く作業をこなす電動工具のように、Copilotはコーディングの速度を向上させてくれます。ただし、フルに活用するには慣れが必要ですし、基本的な手動工具の使い方を熟知していることが前提です。
向原さん:時間を最大限効率的に活用するための「ブースター」のような存在です。
コード補完や実装の壁打ちによって開発をスムーズに進めることができます。Copilotのおかげで複雑な問題に集中する時間を確保でき、業務の質と生産性が向上しています。
ここまでお読みいただき、誠にありがとうございました!
弊社では、エンジニアメンバーを積極的に募集中です。
弊社にはあなたが求めるエンジニアとしての成長、働き方、やりがいがたくさん詰まっています。
少しでもご興味がありましたら、ぜひメッセージをお送りください。
今後も弊社の魅力や様々な情報を発信していきますので、次回の投稿もお楽しみに!
株式会社Brushup
設 立:2017年2月1日
従業員数:43名(2024年4月1日時点)
拠 点:大阪本社(大阪府大阪市北区)
東京オフィス(東京都豊島区東池袋)
事業内容:レビューツール「Brushup」の開発運営