「エンジニアがChatGPTを有効に活用する方法は?」
話題沸騰中であるChatGPTは、エンジニアの中でも大変注目されているため、エンジニアとしての活用方法について知りたいとお考えの方も多いでしょう。
そこでこの記事では、エンジニアがChatGTPでできることや、具体的な使い方について解説していきます。
AIを活用した効率的な開発に興味のある方は、是非参考にしてください。
ChatGPTとは何か?
ChatGPTとは、高度なAI技術により、まるで人間と会話しているような自然な形の対話が可能な人工チャットボットです。
知りたいことや疑問に思っていることをメッセージ欄に入力して送信するだけで、Web上にある膨大な情報をAIが分析し、回答を導き出してくれます。
2022年11月にリリースされたサービスですが、その利便性の高さから、たった2ヶ月間で1億人以上もの人が利用するようになりました。
その便利さはエンジニアの間でも瞬く間に広がり、早速プログラミング作業に取り入れている方も多いようです。
実際ChatGPTは、エンジニアにとって、これからの開発作業には欠かせない存在になってくるでしょう。
エンジニアによる効率的なChatGPTの使い方
エンジニアによるChatGPTの使い方の例としては、以下のようなものがあります。
- プログラムの生成
- コードのレビュー
- ソースコードの改善
- コメントの生成
プログラムの生成
「PHPでログイン機能を実装したい」
「Rubyで記事投稿ページを作るためのソースは?」
ChatGPTにこのような質問文を入力するだけで、すぐにプログラムを生成してくれます。
しかも、ただプログラムが表示されるだけでなく、各処理に対する解説までついているので、初心者エンジニアにとっては学習も兼ねることができると言えるでしょう。
例として、以下は「Rubyで記事投稿ページを作るためのソースは?」と質問した時の回答です。
参照:https://chat.openai.com/
ご覧の通り、ソースコードだけでなく、処理の意味や、次にやるべきことなどについても説明してくれます。
このまま使えるかどうかは微妙なので、あくまでサンプルコードとはなりますが、何もないところからコーディングするよりは遥かに手間を減らせるのではないでしょうか。
コードのレビュー
ChatGPTは、エンジニアが書いたプログラムが正しいかどうかのコードレビューに用いることが可能です。
コードを貼り付け、「このプログラムは正しいか?」と質問を投げかければ、すぐにChatGPTのAIがレビューを開始し、正常かどうかの判断や、問題がある箇所の指摘、発展的なアドバイスなどをくれます。
最終的には自分でしっかりチェックすることが重要となりますが、まずはAIにざっくりと判定してもらえることで、コードの確認作業が大幅に短縮できるでしょう。
ソースコードの改善
プログラムは、バグがなければそれでよいというものではありません。
冗長なコードや、動作としては問題なくとも意味の分かりづらいコードがあれば、積極的に改善していくべきです。
ChatGPTを使えば、そういったことも可能となり、「このソースコードの内容を変えずに短縮して」といったリクエストをすることで無駄を省いたコードを提案してくれます。
ソースコードの改善に繋がる上、エンジニア側としてもスキルアップに繋がるため、正常に動作しているプログラムであっても一度ChatGPTを使って意見を求めてみてもよいかもしれません。
コメントの生成
各プログラムがどういった処理をしているのかをわかりやすくするため、ソースコードにコメントをつけるというのはエンジニアにとって常識的な作業でしょう。
しかし、エンジニアごとにコーディングの方法というのは異なるため、都度都度コメントを記すのではなく、まずはプログラミングを優先し、概ね出来上がってから各処理ごとにコメントをつけていくという方もいらっしゃるかと思います。
そういった場合にも、ChatGPTは非常に有用です。
ソースを貼り付け、「このソースにコメントをつけて」といった要求を投げれば、ChatGPTが各処理に応じたコメントをつけてくれるのです。
もちろん、こちらもChatGPTに任せっきりではなく、ついたコメントが適切かどうかエンジニア自身で判断していく必要はありますが、ゼロから自分でコメントをつけていくよりは労力を削ることができるでしょう。
エンジニアがChatGPTを使う際の注意点
非常に便利なChatGPTですが、使う際には注意すべき点もあります。
- ChatGPTの回答が正しいか確認する
- 質問に個人情報を含めない
この2点については頭に入れておくべきです。
以下にて、詳しく解説します。
ChatGPTの回答が正しいか確認する
ChatGPTは優れたOpenAIですが、その提案や結論を妄信してはいけません。
あくまで人工知能であり、Web上にある膨大な情報を分析した結果を機械的に判断しているに過ぎないため、時として不正確な情報をはき出してくることもあります。
したがって、AIが提示した情報については、正しいかどうかについてエンジニアの目でしっかりと確認しなければなりません。
このように、最終的にはスキルを持ったエンジニアによる確認作業が必要であるため、いくらAIが発達しようとも、エンジニアという職業が今後も不要になることはないと言われています。
仮にAIだけで完結するという世の中が到来することがあったとしても、まだまだ遠い未来のことでしょう。
質問に個人情報を含めない
ChatGPTは、入力した質問文も学習内容の一部として活用するため、個人情報は含めないようにすべきです。
例えば、作成した入力フォームのソースをチェックする時に、例として自分の本名や住所を使用したりするのは避けた方がよいでしょう。
ChatGPTに入力する情報は、あくまで仮のデータにしておくべきです。
【RUNTEQ流】エンジニアによるChatGPTの具体的な活用例
この項目では、実際にエンジニアがChatGPTを活用してコーディングしていく様子について詳しくお伝えさせていただきます。
実践的な内容となっていますので、現役エンジニアの方も是非参考にしてください。
なお、こちらが参考動画となります。
開発環境
今回ChatGPTを用いて開発する環境についてですが、VS Codeの拡張機能である「ChatGPT Genie AI」と、「GitHub Copilot」というクラウド型人工知能ツールを使いながら、Ruby on Railsでユーザーが記事を投稿できるアプリを開発していきます。
実装内容としては、gem sorceryを使った「新規登録機能」・「ログイン機能」「ログアウト機能」となります。
機能の提案が便利
まず驚かされるのが、機能として必要なソースについて、Enterキーを押すたびに候補を提案してくれるという点です。
従来は入力補助程度だったものが、「こういった記述も加えた方がよいのでは?」「次はこういった記述が必要では?」といった的を射た提案をしてくれるため、エンジニア側の作業がかなり短縮される上、「その処理を追加するのをうっかり忘れてた」といったことも減ります。
とはいえ、提案されたものをそのまま受け入れては駄目です。
例えば、メールアドレスに対してユニークなものであるかどうかの判定をするプログラムがあることに対し、「名前に対してもユニークかどうかの判定が必要では?」といった提案をしてくることがあります。
しかし、名前はユニークなものではなく、同姓同名ということがあり得るため、ここはエンジニアの判断で提案を却下してソースを修正する必要があります。
生成して欲しいコードをコメントで要求できる
例えば、以下のようなコメントを入力したとします。
#ユーザーの新規登録画面のビューファイルをform_withで作ってほしい
すると、以下のようなソースが自動で表示されます。
コメントを入力するだけで、求めているコードが提案されるというのは、エンジニアにとってかなり利便性が高いのではないでしょうか。
タイプミスによるエラーやバグが減らせる
入力補完機能はこれまでの開発ツールにも備わっていたものですが、それに加えて強力な提案機能があるため、エンジニアがタイピングする場面がかなり減り、タイプミスによるエラーやバグの発生率を大幅に下げることができます。
「冒頭の数文字を入力する」「Enterキーを押す」といった作業で完結することも多いため、エンジニア自らがタイピングする機会を劇的に減らせます。
エンジニアとしてベテランであっても、覚えるのが大変な長いメソッド名というものも少なくありません。
そういったメソッドについても、AIの補助があれば、冒頭の数文字を入力するだけですぐに補完してくれます。
補完されたメソッド名についてよくわからなくとも、そのメソッド名をコピーしてChatGPTに質問することで、すぐに回答を得ることも可能です。
かつ、全体的なサンプルコードまで提示してくれることもあるので、開発の大きな補助となるでしょう。
ただ、AIによって提案されたコードの中身については、しっかり確認する必要があります。
先ほどの「名前のユニーク判定」同様、あくまでAIが機械的に提案しているだけなので、その内容が正しいのかどうかについてはエンジニアの目で確かめなければなりません。
「ChatGPTによってエンジニアが不要になるのでは?」という意見も散見されますが、このような確認作業が必要なため、エンジニアが要らなくなるということはまずあり得ないでしょう。
ChatGPT Genie AIで検証
提案されたコードをすべてコピーし、ChatGPT Genie AIで検証することで、それぞれのパートについて詳しく解説してくれます。
それを見ながら、不要な部分があれば削除したり、修正の必要があればコードを書き直したり、といった作業をエンジニアの判断で行っていきます。
繰り返しになりますが、AIによって提案されたソースコードを妄信してはいけません。
エンジニアの目で、一行ずつしっかり確認するということが大事です。
あくまでAIによる提案であり、ケースバイケースで修正する必要があるため、エンジニアとしてのスキルを活かして適切なコードとなるように意識してください。
まとめ
以上、エンジニアによるChatGPTの具体的な使い方などについて解説してきました。
これまで解説してきたように、ChatGPTを活用することで開発スピードが大幅に上がるため、今後の開発にChatGPTはもはや必須と言えるでしょう。
なお学習面で見ても、うまくChatGPTを使うことでアウトプットもインプットも進むため、学習効率が飛躍的に上昇します。
ただし、頼り切りになってしまうのは大変危険ですので、最終的には自分の判断を重視することも忘れないようにしてください。
- 今やChatGPTはエンジニアにとって欠かせないAIツール
- ただしあくまでAIなので、妄信するのは危険
- 最終的にはエンジニアの目でしっかり確認することが重要
なお弊社では、未経験からのエンジニア転職に強いプログラミングスクール「RUNTEQ」を運営しております。
開発会社も運営していることから、「現場ではどういった人材が求められているか」という点について熟知しているため、現場に即したスキルを身に付けることができます。
少しでも興味をお持ちの方は、是非一度無料キャリア相談会へお越しください。