今やコーディングを行うエンジニアにとって、ChatGPTを上手に使いこなすスキルは生産性や効率性を大幅に上昇させるための重要なスキルとなってきています。
また、これからの時代、プログラマはChatGPTを使わないほうがむしろ「イケてない」など言われる可能性があるといった声も上がってきています。
そこで、本記事では、エンジニアやプログラマが業務でChatGPTをどのように活用できるのか、特にコーディングにおけるChatGPTの活用方法についての説明と利用するメリットを解説していきます。
本記事は、メディア「Ainova」様の以下の記事を参考にしています。
参考:【コピペで使える】エンジニアの生産性が10倍上がるChatGPTの活用方法とプロンプト例
- データ分析と生成AIに特化した専門情報メディア
- ChatGPTを始めとした生成AIに関する先進技術の最新情報を提供するプラットフォーム
少しでも参考になれば幸いです。
コンテンツ
ChatGPTでできるコーディング作業の種類
ここでは各コーディング作業をChatGPTを用いて行うことによるメリットを解説していきます。
ただし、常に完璧な回答が得られるわけではないことに注意が必要です。
コードの自動生成
ChatGPTを活用することで、簡単な指示を出すだけで大枠の欲しいコードを自動で作ってくれます。そのため、コードを一から考えて実装する必要がなくなります。
ChatGPTの回答が自分が実装したいものと異なっていても、多少の修正でコードが完成するのは非常に楽です。
また、こんなコードの書き方ができるんだと自分の勉強や発見にもつながります。
コードの自動生成に関しては、後ほどChatGPTを用いて実際に行った詳細を示していきます!
エラーの原因特定
与えられたコードのエラーを特定し、修正案を提供することも可能です。
また、コードが予想通りに動作しないとき、エラーメッセージをChatGPTに入力することで、エラーの原因や解決策を教えてくれます。
これにより、時間がかかるエラーの解決策や原因の特定を、迅速に行うことができます。
コードレビュー
ChatGPTを使用してコードの内容を評価し、潜在的な問題や改善点についてフィードバックを得ることができます。
また、人間が行うレビューとは違い、コードのアルゴリズムやパフォーマンスといった機械的な部分までもを意識したコードのレビューを行えます。
迅速にコードレビューを行うことができるので、工数の削減が期待できるのもメリットの1つです。
コードの解説
ChatGPTはコードの解説も可能です。
基本的には1行ずつわかりやすく解説をしてくれます。
それなりに長いコードを渡すと、初めにコードの概要を説明し、詳細、まとめといった流れで解説を行ってくれます。
扱ったことのない言語や、全くの分野外のコードとなると、理解するのにものすごい時間がかかりますが、1行ずつの詳細な説明があれば、内容を素早く理解することができるようになります。
コードのコメントの追加
コードの各部分に対するコメントの追加もChatGPTに任せることができます。
システムに使われるコメントは全体の20%程という研究があるように、コメントはシステムのコードの中でも割と量があり、人間が理解しやすくするのに非常に大切です。
適切なコメントを楽に生成してくれるのは大変にありがたいです。
コードのリファクタリング
リファクタリングもChatGPTで行えます。リファクタリングとは、外部から見た時の挙動は変えずに、プログラムの内部構造を整理することです。
コードの内容を理解し、改善点を正しくコードに反映する必要があるため、難易度が高いです。
リファクタリングを行うことで、コードを後から修正したり、他の人がコードを見た時に内容が分かりやすくなるといったメリットがあります。
リファクタリングの具体例を次に示します。言語はPythonです。
1 2 3 |
def sum_up_to_n(n): return int(n * (n + 1) / 2) |
上記のコードは、1から引数で受け取った整数「n」までの合計を求める関数です。1行で書かれおりシンプルですが、説明がなければ何をする関数なのかが分かりづらいです。
一方で、適切にリファクタリングを行ったコードが以下になります。
(リファクタリングについて賛否両論あると思いますが、ここではわかりやすさを重視した場合の例です。)
1 2 3 4 5 6 7 8 |
def sum_up_to_n(n): """1からnまでの合計を返す関数""" sum = 0 for i in range(1, n + 1): sum += i return sum |
上記のコードでは、関数内に説明書きがあり、「for」文で繰り返し処理を行っているため、内容が分かりやすいです。
このような複雑な内容もChatGPTに質問するだけで回答してくれるので素晴らしいの一言です。
ChatGPTの活用例
ここからはChatGPTを用いて実際にコードの自動生成を試してみます!
プロンプトのテンプレート
ChatGPTに与えるプロンプト(命令文)のテンプレートは以下の通りです。
1 2 3 4 5 6 |
命令:{命令内容} 使用言語:{プログラミング言語} 要求する機能:{生成するコードが達成するべき機能やタスク} 既知の知識:{現在の技術スキルや経験} 具体的な質問:{具体的な質問や懸念点} |
なお、私はプロンプトエンジニアリングについて詳しいわけではないので、プロンプトについては本記事の最初に紹介した参考記事を模倣しています。
また、プロンプトエンジニアリングについてはこちらの記事も参考になります。
参考:「ChatGPTのプロンプトエンジニアリングのコツについて解説している動画・記事まとめ」
実行するプロンプト
今回実行するプロンプトは以下の通りです。
1 2 3 4 5 6 |
命令:以下の情報を参考に、コードの生成を行ってください。 使用言語:Python 要求する機能:ウェブスクレイピングを行い、対象のページにあるすべての画像を、zip形式としてローカルのPCに保存する。 既知の知識:Pythonの基本的な構文、データ操作、そして基本的なウェブスクレイピングの知識があります。 具体的な質問:Pythonを使用して、ウェブスクレイピングから対象のページにあるすべての画像を、zip形式としてローカルのPCに保存する一連のプロセスをどのように実装すれば良いでしょうか。 |
ChatGPTによる実行結果
ChatGPTの回答例
上記の回答例ですが、URLを指定しただけでは、正常に完璧には動作せず、多少の修正が必要でした。
ただ、ここまでコードが自動的に生成されているので、最初から開発を行うよりかは圧倒的に楽に作業を進められるので素晴らしいです。
まとめ
最後までお読みいただきありがとうございます!
今回は、コーディング作業におけるChatGPTの活用メリットの解説と、コードの自動生成の実例を紹介しました。
ChatGPTを活用することで、コーディングの多くの作業を効率的に行うことが可能になり、生産性を向上させることができます。
ChatGPTを適切に扱えるようになるスキルは重要で、プロンプトエンジニアといった技術者も注目されてきています。より詳しく学びたいと思った方は本記事の参考としている「Ainova」様のサイトを参考にするとよいと思います。
私もAIを使いこなせるエンジニアになれるよう学習を続けてまいります。
最後に、本記事の執筆のきっかけをくださった「Ainova」様に感謝申し上げます。