この記事は何
記事投稿キャンペーン「ChatGPTなどの活用方法を発信しよう!」の参加記事です。
ChatGPTの可能性を色々模索している中で試したことを記事としてまとめました。
ChatGPTとは
ChatGPTについてはすでに多くの記事が投稿されていますので、割愛します。
以下の記事などをご参考ください。
思ったこと
の記事を読み、「ChatGPTはコンピュータの処理のエミュレートもできるのでは?」と考えました。
つまり、ChatGPT上でプログラムの実行も行えそうです。
実際に試した
ChatGPT上でプログラムが実行できそうか、試してみました。
まずはRuby。今回はフィボナッチ数列のプログラムが実行できるか試してみました。
ちなみにコードは https://qiita.com/zooootech/items/d8ca1e9d8cfde5646591 の記事のものを実行しています。
できていそうです!
では次はPython。
https://qiita.com/dovedove/items/3456c4f317a5c680f437 の記事のコードを試してみます。
同じくできていそうです!
最後にC言語です。
こちらんのプログラムは https://qiita.com/keitean/items/18d667db7030c8add8c4 のコードを参考にしました。
実行できました。
どこまで可能なのかはわからないですが、フィボナッチぐらいの処理であればChatGPT上でエミュレートできることがわかりました。
リファクタリングをしてみる
最近ChatGPTの利用方法として「要件に合わせたプログラムを生成してもらう」事例をよくみます。
しかしその逆の渡したプログラムのエミュレートをしてもらうことができることもわかりました。
これだけでも簡単なスクリプトであれば環境構築をせずとも実行できてしまう、とても画期的なものですが、
今回はこのエミュレートできる特性を用いて以下のことをChatGPTだけでやってみたいと思います。
- コードのリファクタリング
- リファクタリングしたコードが正しいかテストをする
今回は先ほど用いたRubyのフィボナッチ数列のコードのリファクタリングをしてみます。
できました!
テストをしてみる。
前項でリファクタリングができたことは確認できましたが、本当にリファクタリング前後で同じ処理をしているかも検証したいです。
とりあえず以下のようなプロンプトを投げてみました。
ただしそうです。
ただ、これだけだと本当に検証をしているのか(適当に言っていないか)わからないので、少し意地悪をしてみます。
関数の処理は同じだが出力する文字列の表現が違う。
リファクタリング後のコードの出力から「第」を消してみます。
ちゃんと認識できていそうです。
余計な処理を入れてみる
フィボナッチ数列の処理に関わるところは同じですが、二つの目のプログラムに最後余計な出力を出してみます。
ちゃんと認識できていそうです。
結果は変わらないけど余計な処理を入れる
結果自体はかわらない状態で、使っていない不要なメソッドを追加してみます。
これも認識されていそうです。
まとめ
今回はChagGPTでコードの実行→リファクタリング→テスト
を行ってみました。
どれだけ精度が出るかはわかりませんが、今回のユースケースぐらいであればかなりの精度で処理を行えそうです。
現在でもこれだけのことができるということは、本当に近い将来いまの開発体験の常識が変わっていきそうです。
※なお、この記事のタイトルとタグはChatGPTに生成してもらいました。