この数カ月間で、「ChatGPT」のコード作成能力を検証してきた。ChatGPTは「生成AI」と考えられており、プロンプトからコードを作成する機能は、確かに生成と呼ぶにふさわしい。これまでの記事では、正常に機能する「WordPress」プラグイン一式の作成や、主要言語とマイナー言語の両方を含む多数の言語でのコード記述を紹介してきた。
しかし、最近の実験でChatGPTに別の能力があることに気づいた。それは、コードを読み取って分解する能力だ。この能力にそれとなく気づいたのは、ChatGPTをデバッグ支援ツールとして使用したときだった。小さなコードブロックとエラーメッセージを入力すると、ChatGPTはミスがあった場所を示すことができた。
だが、今回の記事では、ChatGPTをコードの理解に役立てる方法や、コードの書き直しに利用できる可能について紹介する。これはかなり重要なことだ。
「JavaScript」について説明させる
これを説明するために、まずJavaScriptの小さなコードブロックを取り上げる。入力値が通貨かどうかを判定するこのコードは、1行目と3行目に比較的難解な正規表現が使用されている。この部分をChatGPTに手伝ってもらうことにする。
提供:Screenshot by David Gewirtz/ZDNET
まず、このコードが何を実行するのかをChatGPTに説明してもらおう。これは非常に強力な機能であり、他のプログラマーからコードを引き継いでいる場合には特に有用だ。ChatGPTの説明が正しいという保証はないが、コードがどのように機能するかを感じ取ることができれば、時間を節約できる可能性がある。使用したのは以下のプロンプトだ。
以下のコードについて説明してほしい
コードブロックを貼り付けたところ、ChatGPTから次のような答えが返ってきた。
提供:Screenshot by David Gewirtz/ZDNET
この機能によって興味深いことを実行できる。たとえば、ChatGPTにコードの書き直しをさせることが可能だ。一例として、ChatGPTに次のように頼んでみた。
以下の行を書き直して、正規表現を使わないようにしてほしい。
return !isNaN(n) && n >= 0 && /^\d+(\.\d{1,2})?$/.test(str);
以下の回答から、コードを簡潔に保つ正規表現の力と、既存のコードに対応して書き直すChatGPTの能力の両方が分かるはずだ。
提供:Screenshot by David Gewirtz/ZDNET