「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. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

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

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

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

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

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