業務効率化

ChatGPTをコーディングの効率化に活用する方法とプロンプト作成のコツ

ChatGPTをコーディングに活用したいけどどうすればいいのか分からないと悩んでいる人はいるのではないでしょうか。また、コードレビュー等のそれぞれの作業に活用できるプロンプト例を知りたい人もいると思います

当記事では、ChatGPTによるコーディングの効率化例とプロンプト作成のコツを解説しています。さらに、ChatGPTをコーディングで活用する際の注意点も紹介しているため、ChatGPTの導入を迷っている人は、参考にしてみてください。

ChatGPTをコーディングの効率化に活用する方法

プログラム作成やコードレビューなどコーディング作業におけるChatGPTの活用例を紹介します。

【コーディングの効率化例】

  • プログラムの作成
  • コードレビュー
  • 既存コードを別言語へ書き換える
  • 既存コードの内容を解説
  • エラー内容の確認と修正
  • 変数名の作成
  • ダミーデータの作成
  • テストの作成

プログラムの作成

ChatGPTを活用することで、文章による指示のみでプログラムを生成できます。ChatGPTによって生成できるスクリプト言語は、PythonやRuby、PHP、JavaScript、Typescriptなど様々な種類があります。

【プログラムの作成のプロンプト例】
あなたはプロのプログラマーです。

ファイルの読み込みを行うプログラムをPythonで作成してください。

【ChatGPTの回答】

ChatGPTによるプログラム作成

ChatGPTはプロンプト上で指定した要件や情報からさまざまなプログラムを作成できます。しかし、ChatGPTの無料プランは、学習期間までの情報しか回答できないため、扱っている言語より古いバージョンの回答が出力される可能性があります。

ChatGPTにてプログラムを作成した後は必ず利用者自らが確認や調べることが重要です。ChatGPTを利用する際は、プログラムのサンプルコードを作成するなど、プログラム作成のサポートとして活用するようにしましょう。

コードレビュー

ChatGPTの活用によって一人で作業をしている場合でもコードレビューを受けることができます。

【コードレビューのプロンプト例】
あなたはプロのプログラマーです。

以下のコードをレビューしてください。

import time

count = 0

def countup():

    global count

    count += 1

    print(count)

timer_interval = 1  # 1秒ごとに実行するためのインターバル

# タイマーの実行

try:

    while True:

        countup()

        time.sleep(timer_interval)

except KeyboardInterrupt:

    # Ctrl+Cが押されたらプログラムを終了

    pass

【ChatGPTの回答】

ChatGPTを活用したコードレビュー

ChatGPTによって生成した回答は、続けて改善や修正を加える内容の指示を送ることで、改善を行うことが可能です。この作業によって、コードレビューの作業に掛かる作業時間を短縮できます。

ただし、ChatGPTは、送信した情報を学習データとして利用する場合があるため、情報漏洩につながる可能性があります。コードレビューを行う際は情報の扱いに注意してChatGPTを活用しましょう。

既存コードを別言語へ書き換える

既存コードを別言語へ書き換えることもChatGPTを活用することが可能です。

【既存コードを別言語へ書き換えるプロンプト例】
あなたはプロのプログラマーです。

以下のコードをPythonで書き直して下さい。        

var count = 0; 

timerID = setInterval(‘countup()’,1000);

function countup() {

count++;

console.log(count);

}

【ChatGPTの回答】

ChatGPTを活用したコードの書き換え

既存コードの内容を解説

ChatGPTはプロンプトとして入力されたプログラムを読み取って、どのような機能が実装されているのかを解説できます。これによって開発途中から参加したシステムやオープンソースのコードの把握を効率的に行えます。

【既存コードの内容を解説のプロンプト例】
あなたはプロのプログラマーです。

以下のコードを説明して下さい。

import time

count = 0

def countup():

    global count

    count += 1

    print(count)

timer_interval = 1  # 1秒ごとに実行するためのインターバル

# タイマーの実行

try:

    while True:

        countup()

        time.sleep(timer_interval)

except KeyboardInterrupt:

    # Ctrl+Cが押されたらプログラムを終了

    pass

【ChatGPTの回答】

ChatGPTを活用したコード説明

「以下のコードを解説してください。<コード貼り付け>」のように既存のコードを読み込ませることで、何を行っているか内容を詳細に解説した回答が提供されます。また、送られてきた回答の後、「説明を続けてください。」と指示を送ることで、さらに詳しくコードの説明がされます。

コード内で使われている関数やコード内容に質問がある場合、何度も問うことができるためコーディング作業のサポートや練習、勉強に活かすことが可能です。ただし、ChatGPTの回答は誤りがある場合があることから、生成された回答を使用する際は正確性を確認する必要がある点に留意しましょう。

エラー内容の確認と修正

ChatGPTを活用したコーディング効率化例として、エラーの修正があります。エラーの修正とあわせて、エラー原因の解説を加えることもできるため、類似エラーの発生や未然防止に繋げることができます。

【コードのエラーの確認と修正のプロンプト例】
あなたはプロのプログラマーです。

Pythonでプログラミング中にエラーが出ました。発生している原因の説明と修正を行ってください。エラーメッセージは{SyntaxError: invalid syntax}です。

#エラーが出ているコード:

import time

count = 0

def countup()

    global count

    count += 1

    print(count

timer_interval = 1  # 1秒ごとに実行するためのインターバル

# タイマーの実行

try:

    while True:

        countup)

        time.sleep(timer_interval)

except KeyboardInterrupt :

    # Ctrl+Cが押されたらプログラムを終了

    pass

【ChatGPTの回答】

ChatGPTを活用したエラー内容の確認と修正

出力されたエラーメッセージとエラーが発生しているコードを送ることで即座に原因を特定でき修正も行うため、エラーの原因を探す手間を省くことが可能です。

エラーメッセージを載せずに、エラーの原因を見つけたい場合は、「以下のコードエラーが発生している原因の説明と修正を行ってください。(エラーが発生しているコード貼り付け)」のように、コードを貼り付けるのみでも説明と修正が行われます。

また、エラーメッセージを調べたい際は、「以下のエラーメッセージの意味を教えてください。エラーが発生している原因と修正方法を教えてください。(エラーメッセージ貼り付け)」等の指示を出すことで、主な原因と方法が提供されます。

ChatGPTはエラーが発生している箇所を探す際に、すぐに原因を特定して解決策を提示するため、コーディング作業のアシスタントとして役立ちます。

変数名の作成

ChatGPTは変数名の作成にも活用できます。ChatGPTは変数名を作成する際に、変数や関数の命名規則であるパスカルケースやキャメルケース、スネークケースなども指定でき変数名作成のサポートに役立ちます。

【変数名作成のプロンプト例】
あなたはプロのプログラマーです。

Python言語でカウンターを表す変数の名前の候補を5個考えてください。

【ChatGPTの回答】

ChatGPTを活用した変数名の作成

読みやすく理解できるコードを生成するためには、変数に付ける名前「変数名」を分かりやすく作成することが重要です。とくにチームで開発を行っている場合は、メンバーが理解しやすい変数名や関数名をつける必要があるため、適切な名前が思いつかない場合は活用してみましょう。

ダミーデータの作成

ChatGPTは、データベースに登録するダミーデータを作成できます。CSV形式やJSON形式などユーザーが使用しやすい形式を指定できるため、作業環境にあわせた形式で依頼しましょう。

【ダミーデータ作成のプロンプト例】
あなたはプロのプログラマーです。

在庫管理表のダミーデータをCSVで作成してください。

件数は5件です。

#出力:

|No.|商品名|商品コード|価格(単位: 円)|在庫数|売上数|

【ChatGPTの回答】

ChatGPTを活用したダミーデータの作成

プログラム処理の動作が正常に行えるか点検する際などに、実際のデータの代わりに使用される架空のデータであるダミーデータを大量につくってもらうこともでき、作成担当者の負担を抑えられます。

ただし、ChatGPTは扱える文字数に限りがあるため、大量のデータを生成するのには向いていません。必要なデータ数が多くなる場合は、ダミーデータ作成用のプログラムを生成してもらうようにしましょう。

テストの作成

ChatGPTは、作成したコードの単体テストを作成する際に活用できます。生成されたテストコードが機能を正しく確認できるものになっているか確認する必要はありますが、単体テストの作成を効率化することができます。

【テストの作成のプロンプト例】
あなたはプロのプログラマーです。

以下のコードの単体テストを作成してください。

#ファイル名

time_count.py

#内容

import time

count = 0

def countup():

    global count

    count += 1

    print(count)

timer_interval = 1  # 1秒ごとに実行するためのインターバル

# タイマーの実行

try:

    while True:

        countup()

        time.sleep(timer_interval)

except KeyboardInterrupt:

    # Ctrl+Cが押されたらプログラムを終了

    pass

【ChatGPTの回答】

ChatGPTを活用した単体テストの作成

なお、ChatGPTを利用した結合テストの作成は、複数のモジュールやコンポーネントなどかかわり要件が複雑になるため、機能しない場合がほとんどです。

ChatGPTをコーディングに活用する際のコツ

ChatGPTをコーディングに活用する際のコツを参考にプロンプトを書いてみましょう。プロンプトの指示の出し方によってChatGPTから提示される回答の内容が変わり、求める答えが提供されます。

【コーディングに活用する際のコツ】

  • 明確な指示を出す
  • 複雑なタスクを分割する
  • 参考テキストを提供する

明確な指示を出す

ChatGPTをコーディングに活用する際のコツとして、明確な指示を出すことが重要です。具体的であり簡潔なプロンプトで指示を出すことで、ChatGPTの回答を求めている答えに近づけられるからです。

たとえば、「Python でファイルのバックアップを自動化する方法を教えてください」というように、使用したいプログラミング言語や作成したいコードの目的等を伝えることでChatGPTの回答の精度を高められます。

プログラミング言語や使っているソフトウェアなど環境面での情報、制約条件ような、どの結果にしたいかといったことをプロンプトに加えれば、適切な回答を得る可能性が高まります。

また、プロンプト内では区切り文字(#や”等)を使用して情報と指示内容を明確に分けることでAIが識別しやすくなります。ChatGPTのプロンプトのコツを詳しく知りたい人は、「ChatGPTのプロンプトを作成する4つのコツと活用例を解説」を参考にしてみてください。

複雑なタスクを分割する

ChatGPTのプロンプトを入力する際は複雑なタスクの場合、プロンプトを分割して送りましょう。複雑なタスクを一度にプロンプトで送ってしまうとエラーが発生する場合や誤った回答を生成する可能性が高まるからです。

たとえば、既存コードの説明と別言語に変換したい場合、「step1 以下のコードを説明してください。step2 Pythonで書き直して下さい。”(コード貼り付け)”」というようにタスクを細分化してプロンプトに記入することで、タスクを段階的に整理できるため適切な回答が送られてきます。

また、プロンプトが長文になる場合は簡潔な文章にする、指示を分割し複数回指示や質問を行い求める回答に近づけるという方法も有効です。

参考テキストを提供する

参考テキストを提供することで、期待する回答が得られやすくなります。ChatGPTは、難しい質問や専門的な話題を引用した場合、生成された回答が実際の事実と異なるもしくは存在しない情報になる「ハルシネーション」が起こる可能性があります。

「下記の情報をもとに……(指示内容)してください。”参考テキスト貼り付け”」等、指示内容に関連がある情報を載せ送ることで、ハルシネーションのリスクを抑えられます。プロンプトに「この質問に答えるために必要な情報が含まれていない場合は、<情報が不十分です>と記入してください。」と付け足すことで、情報が足らない際に不十分ですと回答されるため追加してみてください。

なお、ChatGPTの無料版では、バージョンが古いため参考テキストやURLを提供しても回答できませんとなる可能性があるため注意しましょう。

コードエディターにChatGPTを連携できる

コードエディターである「VSCode」の拡張機能には、エディター上でChatGPTを使えるようにする「Genie AI」があります。

利用するためにはChatGPT APIを連携する必要があり、やりとりに利用する文字数に応じて料金が発生します。しかし、コードの提案やコードレビューがエディター上で行えるようになるため、ブラウザでやりとりする手間を省くことが可能です。

また、AIを搭載したコードエディタ「Cursor」もあります。Cursorは、無料プランが用意されています。回数制限はありますが、インストール後に機能を試すことができるため、AIを活用した開発を試してみたい方は利用を検討してみましょう。

ChatGPTをコーディングに活用する際の注意点

ChatGPTをコーディングに活用する前に注意点を把握し対策を立てましょう。ChatGPTの回答は正確性がなく、利用者が送った情報が他者に漏れてしまう問題が発生するからです。

【コーディングに活用する際の注意点】

  • 無料版は最新情報に対応していない
  • 情報漏洩のリスクがある
  • 誤った情報を回答する場合がある

無料版は最新情報に対応していない

ChatGPTの無料版を利用する場合、回答に利用されるデータは最新情報に対応していません。ChatGPTの無料版であるGPT-3.5では、2022年1月までの学習データを利用しているとされています。

そのため、ChatGPTの無料版をコーディング作業に使用する場合、最新のデータで学習がされていないことから、出力される回答のプログラミング言語のバージョンが古い場合があります。また、プロンプト内に最新のプログラミング言語が含まれている等の場合、回答されない可能性や誤ったコードが生成されるおそれがあります。

ChatGPTの有料プランにはブラウジング機能が搭載されているため、最新のデータでコーディングに活用することが可能です。ChatGPTをコーディング作業で利用を考えている場合、ChatGPTの有料プランも検討してみましょう。

情報漏洩のリスクがある

ChatGPTをコーディングに活用する際は、情報漏洩のリスクがあることに留意しましょう。ChatGPTはOpenAIがモデルのトレーニングのために、利用者が入力した情報を使用する場合があるからです。

ChatGPTに送ったプロンプトなどのデータは、サービス向上や新たなプログラムを開発するといった理由から保存され他の利用者の回答に使われる場合やChatGPTが不正アクセスされ情報が流出してしまう可能性があります。

そのため、ChatGPTをコーディングに利用する前にあらかじめ、作業に使用する範囲を決めることやプロンプトに入力した内容に重要な情報がないか確認するといった社内ルールを決めておくことが重要です。また、ChatGPTを導入する前に活用事例や情報漏洩のリスクを教育する研修を行うことも有効な手段です。

誤った情報を回答する場合がある

ChatGPTは誤った情報を回答する場合があるため、かならず回答結果は確認を行いましょう。ChatGPTは、学習データからプロンプトと最も関連性のある単語を繋げて回答を生成します。

ChatGPTはインターネット上にある情報(GPT-3.5では2022年1月まで、GPT-4は2023年4月まで)と他の利用者が送った情報によって学習します。膨大な学習データをもとに言葉の意味を正確に理解していないAIが確率的に判断して回答が提供されるため、送られてきた情報がすべて正確ではありません。

ChatGPTをコーディング作業に利用する場合は、送られてきた回答の情報が正確であるか別の方法で調べることが重要です。コーディングの業務で利用をする場合、誤ったコードを使用することでエラーが発生してしまう問題が起きてしまうため注意して利用しましょう。

まとめ

ChatGPTはプログラム作成やエラーの修正、既存コードを別言語に変換するなどコーディングのさまざまな作業で活用できます。ChatGPTを使うことで、コーディングの勉強やサポートに活かせ利用者の作業時間を短縮して負担を軽減することが可能です。

ただし、プロンプトの指示の出し方を曖昧にしてしまうと、求める回答が得られないことがあり、さらに情報漏えいのリスク、無料版のChatGPTでは誤った回答になる場合があります。ChatGPTを使う際は有料プランを検討することやプロンプトの指示の出し方を工夫するなどの方法を行いましょう。

この記事をシェアする

 
      

AIを活用した業務工数の削減 個社向けの開発対応が可能

   

事業に沿った自社専用AIを搭載できる「JAPAN AI CHAT」で業務効率化!

   

資料では「JAPAN AI CHAT」の特徴や他にはない機能をご紹介しています。具体的なAIの活用事例や各種業務での利用シーンなどもまとめて掲載。

無料相談する

24時間いつでも相談可

資料ダウンロード

詳しい事例や料金を確認

メニュー