- 新卒ブログとは?
- 2024年4月に新卒入社したLIGメンバーが、日々の学びや気づきを綴るブログです。彼らがふだんどんなことを学んでいるのか、気軽にのぞいてみてください。
こんにちは、新米エンジニアのにっしーです。今回は、私がプログラミング学習にGitHub Copilotを取り入れた理由について、経験を交えてお話ししたいと思います。
「初学者がGitHub Copilotを使うと、AIに頼りすぎて自分が成長しないのではないか?」と考える方もいるかもしれません。実は、私も最初は同じような不安を抱いていました。しかし、実際に使ってみるとその考えは180度変わりました。今ではむしろ、初学者こそGitHub Copilotの導入を強くおすすめしたいと思っています。
なぜそう考えるのかの理由を、検証を交えて書いていこうと思います。
目次
そもそもGithub Copilotとは?
GitHub Copilotは、コーディング中にAIがリアルタイムでコードの提案をしてくれる開発支援ツールです。
主な特徴は以下の通りです。
- コード補完:関数やクラスの実装を提案してくれます。
- テンプレート生成:新しいファイルやプロジェクトの基本構造を自動生成してくれます。
- 多言語対応:Python、JavaScript、TypeScript、Ruby、Goなど、多くの主要プログラミング言語をサポートしています。
- コンテキスト理解:ファイル名、コメント、周辺のコードから意図を推測し、適切な提案を行ってくれます。
まるで、自分がやりたいことを理解してサポートしてくれるアシスタントが、いつも隣にいてくれる感覚です。
料金は60日間は無料トライアルが可能ですが、それ以上の利用は月額10ドルかかります。
初学者のプログラミング学習にAIを推す理由
さきほどもお話ししましたが、私は最初は「技術力をつける前にAIを使うとAIに頼りすぎて、自分の力が伸びないんじゃないか?」と不安を感じていました。しかし、実際はそうではなくむしろAIを活用することで学習が加速しました。
私の持論では、プログラミングを学ぶ効率的な方法は「とりあえずなんでもいいから作り、それをアウトプットすること」だと思います。そのサイクルを繰り返すことで技術が向上していくと思います。
Github Copilotを導入することで、実装の効率が飛躍的に上昇し、そのサイクルをより回すことができます。
もちろん、AIが予測するコードの中には求めているものとまったく異なる場合や、不適切な書き方を含むものも場合もあります。それを見極めて正しい判断をする力も、現代のプログラミング学習における重要なスキルだと考えています。そう考えると、AIを使うことはむしろメリットになると考えています。
【検証】実際にGithub Copilotでどれだけ実装が早くなっているのか
実際に、Github Copilotを使用するとどれだけ効率が良くなるのか、気になったので検証してみました。
以下の3パターンを試してみました。
- Github Copilotを一切使わずに作った場合
- Github Copilotを使いながら作った場合
- おまけ:Github Copilotのみで作った場合
制作するお題
ボタンを押すとおみくじが表示されるプログラムを制作していきます。
①Github Copilotを一切使わずに作った場合
完成したもの
制作時間
29分59秒054でした。
所感
だらだら実装しても仕方ないので目標時間を30分とし、その中でできる限り機能の実装をおこなっていきました。機能としては簡単な実装だったのですが、データの用意やエラーの解析に時間がかかってしまいました。
予定ではおみくじの表示をモーダルにしたかったのですが、実装に苦戦した結果なくしてしまいました。
制作の全工程(4倍速)は以下のとおりです。気になる方はご覧ください。
②Github Copilotを使いながら作った場合
完成したもの
制作時間
11分21秒184でした。AIをまったく使っていないときと比較すると、約2.5倍の速度でできました。
所感
AIを使わずに実装したときに比べ、データの用意等に時間がかからずスムーズに開発できました。モーダルの機能も実装できました。
ただ、imageのimportをする際、Github Copilotが提案してきた画像のパスが間違えていたにも関わらずそのまま採用してしまい、エラーになってしまいました。
以下制作の全工程(4倍速)です。
③おまけ:Github Copilotのみで作った場合
私は一切手を加えず、GitHub Copilotのみで実装してみるとどうなるのか気になったので、やってみました。結果としては、私のAIに対する知識や経験不足が原因で、まったく言うことを聞いてくれず、途中で断念することになりました。
検討時間は途中から計測をやめてしまったのですが、おおよそ2時間弱かかりました。
AIのエキスパートの方であれば、3分程度で実装できてしまうのかもしれませんが、まったく想定通りに動作せず、とてもストレスが溜まりました。
検証結果
開発の際にGithub Copilotを導入することで2倍以上の効率で機能を開発することができる。しかし、AIに頼りすぎると逆に時間がかかりすぎてしまうということがわかった。
まとめ
なぜ私のような初学者にこそGithub Copilotを導入することをおすすめするのかを、検証も交えてまとめてみました。
使い方としては、全面的に頼るのではなく、一部を頼るのがおすすめです。AIはコードの補完や基本機能の実装が得意な一方で、プロジェクト固有の設定などは苦手です。私の経験からも、検証からも、人間が適切に判断しながらAIのサポートを受けるのがベストだとわかりました。
今回は、おみくじの機能の実装を例に説明しましたが、コードレビューの相手として活用したり、アイディアの壁打ち相手のような活用もできるので気になった方はぜひ導入してみてください。
- 日本・フィリピン・ベトナムでの活躍チャンス
- 最先端技術と多言語環境での成長
- 有識者による月1回の勉強会
現在、海外拠点(フィリピン、ベトナム)に関われるエンジニアを募集しています。日本だけじゃなく世界で活躍することに興味のある方は、以下よりぜひご応募ください!