「ChatGPT」利用のヒント

「ChatGPT」を使ったコードの書き直しと改善--有用ではあるが注意点も

David Gewirtz (Special to ZDNET.com) 翻訳校正: 川村インターナショナル

2023-06-17 08:30

 この数カ月間で、「ChatGPT」のコード作成能力を検証してきた。ChatGPTは「生成AI」と考えられており、プロンプトからコードを作成する機能は、確かに生成と呼ぶにふさわしい。これまでの記事では、正常に機能する「WordPress」プラグイン一式の作成や、主要言語マイナー言語の両方を含む多数の言語でのコード記述を紹介してきた。

 しかし、最近の実験でChatGPTに別の能力があることに気づいた。それは、コードを読み取って分解する能力だ。この能力にそれとなく気づいたのは、ChatGPTをデバッグ支援ツールとして使用したときだった。小さなコードブロックとエラーメッセージを入力すると、ChatGPTはミスがあった場所を示すことができた。

 だが、今回の記事では、ChatGPTをコードの理解に役立てる方法や、コードの書き直しに利用できる可能について紹介する。これはかなり重要なことだ。

「JavaScript」について説明させる

 これを説明するために、まずJavaScriptの小さなコードブロックを取り上げる。入力値が通貨かどうかを判定するこのコードは、1行目と3行目に比較的難解な正規表現が使用されている。この部分をChatGPTに手伝ってもらうことにする。

提供:Screenshot by David Gewirtz/ZDNET
提供:Screenshot by David Gewirtz/ZDNET

 まず、このコードが何を実行するのかをChatGPTに説明してもらおう。これは非常に強力な機能であり、他のプログラマーからコードを引き継いでいる場合には特に有用だ。ChatGPTの説明が正しいという保証はないが、コードがどのように機能するかを感じ取ることができれば、時間を節約できる可能性がある。使用したのは以下のプロンプトだ。

以下のコードについて説明してほしい

 コードブロックを貼り付けたところ、ChatGPTから次のような答えが返ってきた。

提供:Screenshot by David Gewirtz/ZDNET
提供:Screenshot by David Gewirtz/ZDNET

 この機能によって興味深いことを実行できる。たとえば、ChatGPTにコードの書き直しをさせることが可能だ。一例として、ChatGPTに次のように頼んでみた。

以下の行を書き直して、正規表現を使わないようにしてほしい。

return !isNaN(n) && n >= 0 && /^\d+(\.\d{1,2})?$/.test(str);

 以下の回答から、コードを簡潔に保つ正規表現の力と、既存のコードに対応して書き直すChatGPTの能力の両方が分かるはずだ。

提供:Screenshot by David Gewirtz/ZDNET
提供:Screenshot by David Gewirtz/ZDNET

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. ビジネスアプリケーション

    生成 AI 「Gemini」活用メリット、職種別・役職別のプロンプトも一挙に紹介

  2. セキュリティ

    まずは“交渉術”を磨くこと!情報セキュリティ担当者の使命を果たすための必須事項とは

  3. セキュリティ

    迫るISMS新規格への移行期限--ISO/IEC27001改訂の意味と求められる対応策とは

  4. セキュリティ

    マンガで分かる「クラウド型WAF」の特徴と仕組み、有効活用するポイントも解説

  5. セキュリティ

    警察把握分だけで年間4000件発生、IPA10大脅威の常連「標的型攻撃」を正しく知る用語集

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]