最近IT業界で最も話題の「ChatGPT」。ChatGPTは文章を投稿すると会話形式で回答してくれるAIチャットボットとして大注目。そこで今回はプログラマにこそ、おすすめしたいChatGPTの簡単で便利な使い方をご紹介。プログラマならではのChatGPTの活用法とは一体…?
増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者試験にも多数合格。ビジネス数学検定1級。「ビジネス」×「数学」×「IT」を組み合わせ、コンピューターを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行う。著書に『エンジニアが生き残るためのテクノロジーの授業 ~変化に強い人材になれる技術と考え方~』『IT用語図鑑[エンジニア編]』(以上、翔泳社)『基礎からのプログラミングリテラシー コンピュータのしくみから技術書の選び方まで厳選キーワードをくらべて学ぶ!』(技術評論社)などがある。
急速に注目を集める「ChatGPT」とは
ChatGPTとは、米OpenAIが開発し、2022年に公開したAIチャットボットです。
文章を投稿すると、チャット形式で回答してくれるもので、英語や日本語のような自然言語で入力した言葉の意味を理解して、適切な回答が得られます。
たとえば、次のような文章を投稿すると、インターネットで検索するよりもピンポイントで欲しい情報が得られると感じる人がいるかもしれません。
信頼性には注意が必要。答えをどう受け取るかは人間次第
ただし、必ずしも正しい回答が得られるとは限らず、誤った内容が応答されることもよくありますので、信頼性に問題があるという一面もあります。
たとえば、次のような文章を投稿すると、正しいとは思えない回答が返ってきました。これは、知っている人であれば明らかにおかしいと思えますが、知らない人であれば正しいと思い込んでしまうかもしれません。
- このように、何らかの答えは得られるのですが、その答えが正しいものかどうか、それを受け取った人間が判断しなければならないのです。
プログラマの味方?ChatGPTでプログラムを作る
このChatGPTは一般的な自然言語の文章を応答してくれるだけではありません。プログラムを作成するように投稿すると、その応答としてソースコードを返してくれます。このため、プログラミングにも使えるのです。
たとえば、次のような文章を投稿すると、実際に動くソースコードが返ってきました。
回答として返されたプログラムを実行すると、問題なく処理されることがわかります。こういった簡単なプログラムであればChatGPTに作ってもらうことができるのです。
もちろん、プログラムの内容が正しいか、実際にテストは必要ですが、自分で実装するよりも早く、正確なソースコードができあがるかもしれません。大学でのプログラミングについての授業の課題程度であれば、自分で作る必要がなくなるといえるでしょう(プログラミングを学んでいる人は、こういったものに頼らずに自分で作りましょう。教育業界でもすでにChatGPTとの向き合い方が議論になっています)。
プログラマならではのChatGPT活用法1:プログラムのバグ(不具合)を探す
ここからはプログラマがChatGPTを便利に活用する方法を紹介します。
プログラムを書いてもらうより少し高度な使い方として、プログラムのバグを探すこともできます。たとえば、次のように、上記の出力を少し変更して、正しい結果が得られないソースコードを入力してみましょう。
これを見ると、間違えている場所がピンポイントで指摘されており、正しいソースコードと合わせて応答されています。このように、何らかのプログラムを作っている最中に不具合が見つかり、どこが原因かわからないときに使うこともできるかもしれません。
プログラマならではのChatGPT活用法2:ソースコードを改善する
このように不具合を探すだけでなく、既存のソースコードを読みやすい内容に改善することを考えます。たとえば、上記のソースコードでは、returnが多くの場所にあり、少し無駄が多いように見える人もいるかもしれません。
そこで、次のように入力してみましょう。
この結果を見ると、1つ目は正しい結果を得たまま、ソースコードが短くなっています。これが読みやすいかどうかは、人によって判断が分かれるかもしれませんが、ソースコードを短くするという目的は達成しています。
2つ目は同じ結果が得られていそうですが、これは少し表示される内容が変わってしまっています。このように、信頼性の面ではまだもう一歩というところですが、プログラムにある不具合を見つけたい、改善したい、というときに参考として使うことはできると言えそうです。
プログラマならではのChatGPT活用法3:設計書を作る
上記ではソースコードを作ることを考えましたが、要件定義や設計に使うこともできます。たとえば、Webアプリなどでのログイン処理について、設計書を作成するときに、シーケンス図を作成することを考えましょう。
このとき、次のように投稿してみます。
上記のように、mermaid.jsの表記で応答されます。この結果をコピーし、marmaid.jsを表示できるエディタに貼り付けると、次の図のように表示されます。このように、設計書の作成にも使えそうだということがわかるでしょう。
まとめ:特徴を理解して、作業に役立ててみる
今回はソースコードの生成やデバッグ、改善に加えて、シーケンス図の生成について紹介しましたが、他にもCSV形式のデータを貼り付けてMarkdown形式での表に変換してもらうなど、人が手で入力するのは面倒な作業でも、ちょっとした文章を入力するだけで自動的に応答してくれます。
ぜひChatGPTの特徴を理解して使ってみてください。
▼これまでのサクッとわかるITトレンド
・Pythonはなぜこれほど人気なのか
・大人も自由研究!IoTでプログラミングを体験しよう
・サイバー攻撃に備えている?その対策は本当に有効ですか
・Javaで開発するプログラマに将来性はあるのか
・ITエンジニアはWeb3とどう向き合えばいいのか
・RPAとプログラマーの役割はどう分担されるのか
・ITエンジニアのための“効率の良い”数学の学び方