こんにちは。システムデザイン開発 プログラマーの田邉です。
皆さんは今話題のAIチャットサービス「ChatGPT」をご存知でしょうか?
存在は知っているけど、実際に使ったことがないという方もまだまだ多いかと思います。
私が実際に使用してみたところ、まず文章として自然な回答であることと
どのような質問をしても、ある程度適確な回答を出してくれることに衝撃を受けました。
また用途も多様であり、ChatGPTに関する記事を見ると、既に業務で活用した事例等の記事も散見されるようになってきました。
この時代の波に乗り遅れてはいけない!ということで、今回は実際に私が業務でChatGPTを使用し気付いたことや、感想をお伝えしたいと思います。
プログラミングにおけるChatGPTの活用方法
まず、プログラミングにおいて、ChatGPTはどのような利用ができるのでしょうか?
実際にChatGPT自身に聞いてみたところ、以下の回答が返ってきました。

いかがでしょうか?
今一度、回答をよく読んでみても、まず文章が非常に読みやすい構成になっていて
google翻訳よりも自然な文章であることに驚いてしまいます。
また意図的ではないと思いますが、自身のことを
「自然言語処理の分野で最も先進的な技術の一つ」と評している点が面白いですね(笑)。
内容としては、プログラミングにおいて非常に幅広い用途で活用できそうな印象を受けます。
それでは、ChatGPTの回答に沿って、実際に業務でChatGPTを利用してみた結果をご紹介します。
実例紹介
1.自然言語処理
今回はKotlinを使用して、AndroidアプリケーションからHTTPリクエストを行う機能の作成を依頼してみました。
質問文は以下の通りです。

こちらの質問を送ったところ、以下の回答が得られました。

個人的な感想としては、こちらが期待していた通りの回答が得られたという印象です。
実際に上記のコードを試してみたところ、特にエラーもなく使用が可能なため
過去に使用したことがない言語やライブラリを使う際に、google検索の代替として
ChatGPTに質問すると、効率的に開発が進められると思います。
ただし注意点として、時々エラーが発生するコードを回答したり
実際には存在しない関数を使用したり等、間違った情報を回答することもありました。
また、情報が古いために正確な回答にならない場合もありました。
そのため、現時点では
「自然言語で機能を説明すると、それをコードに変換してくれる夢のツール」
というよりは「特定の状況下でプログラミング作業を効率化してくれるツール」
という評価に留まると思います。
2.エラー解析
エラー解析については、何度か試してみた結果、概ね適切な回答を返してくれる印象でした。
ただし、特定のバージョンのみ発生するエラーの場合等
特殊な状況下のみ発生するエラーの場合は、その原因に辿り着くことができませんでした。
原因究明のために必要となる情報を与えるという、使う側の問題もありますが
総合的に判断すると、「一般的なエラーの場合に限り有効」という印象でした。
3.デバッグ支援
4.ドキュメンテーション作業の効率化
3と4に関しては、業務で使いたいと思う機会がありませんでした。
特にドキュメンテーション作業を行う機会はほとんどないのですが
コードを質問として投げて、適切な場所にコメントを挿入してもらうことができるのであれば使う機会はあるかなと思いました。
5.リファクタリングの効率化
5については、個人的にソースコードのリファクタリングは自分の考えに基づいて
実施したいため、 ChatGPTに代行してもらいたいと思う場面がありませんでした。
ただその代わりに、システム改修案件で他人が書いたSQLを修正する機会があったため
それをChatGPTに投げてリファクタリングとパフォーマンスの向上をお願いしました。
結果として、文字数自体は約30%削減され、非常にシンプルな構造となったうえ
実行速度は30分の1以下まで改善されました。
(元々のSQLの作り的にアレな部分はありましたが・・・)
SQLのリファクタリングについては回答の精度が高いと感じたので
複数の回答が想定されるような質問よりも、回答が限定的になるような質問であったり
どちらかというと定型的な作業である場合は、ChatGPTの利用が有効であると感じました。
結論
今回ChatGPTを業務で使用してみましたが、全体的な評価としては
「使う状況と用途を選べば、開発作業を効率的に進めることが可能」という結論になりました。
注意点としては、現時点ではAIの精度の問題もあり、どのような状況でも有効に活用できる
という訳ではないため、使用者側がChatGPTにできることを理解したうえで
利用する必要があると思います。
また、その他にも
・無料版では1度の回答の文字数が最大2048文字までである
・質問の仕方にもコツが必要となる
・間違った情報を返すことがある
・ソースコードの流出など、セキュリティ上のリスク管理を行ったうえで利用すること
などに注意して利用する必要があります。
将来的には、AIの精度が向上していくことで、プログラマーがChatGPTを活用することが当たり前の時代になるのは間違いないでしょう。
さらにその先には、プログラマーの仕事自体がAIに代替される未来も十分に考えられますが、そのレベルに到達するまでには、もう少しかかるのではないでしょうか。
いずれにしても、今後、プログラマーが開発する際に、AIをうまく活用することが重要なスキルとなっていくと思いますので、ぜひChatGPTをぜひ試してみて下さい。
システムデザイン開発は、北海道の地で35年以上の歴史があります。企業向けのシステム設計~開発・構築~保守運用までワンストップサービスを提供するシステム開発会社です。豊富な開発実績と高い技術力を強みとして、北海道から全国へ幅広い分野・業種へトータルにサポートいたします。
システムの導入やご検討、お困りごとがありましたら、お気軽にご相談・お問合せください