13
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ChatGPTにソースコードのリファクタリングをお願いしたら想像以上にレベルが高くて感動した話

Last updated at Posted at 2023-01-20

最近巷ではChatGPTが話題になっていますね。

どれだけすごいの?と気になったので試しにプログラムのリファクタリングをお願いしてみました!

最初に感想を述べてしまうと、もはや中にベテランエンジニアが入ってるんじゃね!?と思うほどレベルが高く良くできていると感じました。

※ 記事中は英語での会話になっていますが日本語でも可能でした

ChatGPTとの会話

とりあえず最初のやり取りはこんな感じでリファクタリングをお願いしてみました。

image.png

自分のシンプルなメッセージに対してすごい熱量で前向きに返信してくれます。この時点ですでに感動。そのまま翻訳を適用すると以下の日本語になります。

ソース コードのリファクタリングをお手伝いできれば幸いです。コードの機能と、具体的にどのような変更を加えたいかについて、さらに詳しい情報を提供していただけますか?また、ソース コードまたはそのリンクを提供してください。確認できるようになります。

快く受け入れてくれたので早速リファクタリングしてほしいソースコードを貼り付けて送ってみます。

image.png

上記のソースコードは、過去に以下の記事で紹介したeachよりもmapを使う方が適切なパターンです。さて、ChatGPTの実力やいかに・・・

その後返ってきたメッセージがこちら

image.png

おおおお!最初は送ったソースコードの処理の流れを説明してくれていますね
そしてmapを使う方が良いよと教えてくれて期待通りeachをmapに変更したソースコードを送ってくれました!しかも2パターン!
(2023/1/21追記:実際には後者のパターンは文法エラーになります。提案されたコードが正しく動作する保証はないのでご注意ください)

この時点で感動して鼻血出そう。すごいぞChatGPT!

早速続いてのお題を与えてみます。
次はifをネストしたプログラムを送ってみました。

image.png

そして返ってきた返答がこちら。

image.png

先ほどと同様にプログラムの解説とリファクタリング後のソースコードが返ってきました。
期待通りぼっち演算子(&.)を使った書き方に直してくれています!

しかもプログラミング言語がrubyだと教えていないのに勝手に判断してくれたようです。すごすぎる。

最後に人間にとっては理解が難しいような条件式を試してみます。

image.png

こちらも例の如く解説とリファクタ後のコードを返してくれます。

image.png

一つ目は期待通りド・モルガンの法則を使ってリファクタリングしてくれました!
しかし、二つ目はどうやら元のプログラムとは結果が変わってしまいます。

どうやらChatGPTも完璧というわけではなさそうです。

最後にお礼を述べて去ることにします。

image.png

私の一言だけのそっけないメッセージに対しても温かい返事をくれました。
ホスピタリティが高くて涙が出そうです。

おわりに

AIのレベル感がどんなものか興味本位での試みでしたが、どのお題に対しても私の想像を超えるレベルの高い回答が返ってきたので正直度肝を抜かれました。

返答のホスピタリティも非常に高く「AI = 冷たい」という私の勝手なイメージも覆されました。

果たしてChatGPTはエンジニアの存在を脅かす存在なのか?はたまたエンジニアと並走できる強力なパートナーなのか?

いずれにせよ私たちのプログラミングのやり方を大きく変えるゲームチェンジャーになり得る存在だと感じました👏

追記

勝手に英語でないと使用できないと思っていましたが日本語でも大丈夫でした。

image.png

13
3
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?