ChatGPTのプログラミング活用法7選!コピペOKのプロンプトや注意点を紹介!

Open AI社が提供するChatGPTは今や知らない人はいないと言ってよいほど様々な分野で活用されています。

そんなChatGPTですが、プログラミングに活用することもできるのでしょうか。

また、ChatGPTを使ったプログラミングはどれくらい有用なのでしょうか。

今回はそんな疑問に答えるべく、ChatGPTをプログラミングに活用する方法7選と活用するときにおさえておきたいポイント、注意点についてそれぞれ紹介していきます。

AInformation編集部/藤井俊太のアバター

AI導入コンサルタント

藤井俊太(Shunta Fujii)

AIのスペシャリストとして、最新のAI情報を常にキャッチ、アップデートしている。自らもAI導入コンサルタントとして活動し、主に生成AIを駆使した業務効率化、生産性向上、新規事業開発を行なっている。
AIの総合情報サイト「AInformation」は、AIに関する専門的な情報やサービス・プロダクトを解説、紹介するWebメディア。AIの専門家集団の編集部がAIの活用法、最新ニュースやトレンド情報を分かりやすく発信していいます。藤井俊太のプロフィール

...続きを読む

目次

ChatGPTとは

ChatGPTをプログラミングに活用する方法について紹介する前に、まずはChatGPTとは何かについておさらいしましょう。

ChatGPTはOpen AI社が提供している生成AIで、チャット方式で質問への回答、文章の要約、コードの生成などができます。

ChatGPTには現在、無料版のGPT-3.5と有料版のGPT-4があります。

そんなChatGPTはコード生成やコード解読など、プログラミングに活用することも可能です。

ChatGPTをプログラミングに活用するメリット

コード生成など、プログラミングにも活用できるChatGPTですが、ChatGPTをプログラミングに活用するメリットは何でしょうか。ChatGPTをプログラミングに活用するメリットは主に2点あります。

プログラミングを効率化できる

ChatGPTをプログラミングに活用することでプログラミングを効率化できます。

例えばChatGPTなしで行うと何日もかかるアルゴリズム構築もChatGPTのサポートを得ることで作業時間を大幅に短縮できます。

具体的な活用方法は後ほど詳しく解説します。

プログラミング初心者でも始めやすい

プログラミング初心者でもChatGPTを活用すれば始めやすいというメリットもあります。

プログラミング初心者にとって一からプログラミングコードを生成したり、コード解読などは簡単ではありません。

しかし、ChatGPTに生成したいプログラミングコードや解読を依頼すれば簡単に答えが返ってきます。

また、自分で書いてみたプログラミングコードが思ったように機能しないときはChatGPTに質問することで簡単に解決できます。

このように、ChatGPTを使えばプログラミング初心者にとっても敷居は低いです。

なお、詳細は記事の後半で解説しますが、ChatGPTをプログラミングに活用するときは質問は簡潔にする、OpenAIが推奨するベストプラクティスを抑えるなど、いくつかのポイントを抑えてから行うといいです。

ChatGPTをプログラミングに活用する方法7選

ここではChatGPTをプログラミングに活用する方法7選について具体的に解説します。

ChatGPTをプログラミングに活用する際のプロンプトの例、ChatGPTの回答例も示しますので、参考にしてください。

プログラムコード生成

ChatGPTを使ったプログラムコードの生成ができます。

ChatGPTでプログラムコードを作る場合、行いたいタスク処理についてChatGPTに説明しましょう。

その際、持たせたい機能など具体的な説明があるとより効率的なプログラムコードの生成ができます。

例えば、来週末(土曜日、日曜日)の日付を取得するプログラムコードをJavascriptで作るとしましょう。

その際、プロンプトは目的、課題、条件を設定し、下記のようにします。

#目的:プログラムコードサンプルの提案 #課題:Javascriptで来週末の日付を取得する #条件:コードにはコメントで解説を入れること

上記のプロンプトを入力すると、ChatGPTから下記のように返答されます。

このように、条件にコードの解説も入れることで、コードを生成してもらうだけでなく、コードの解説もしてもらえるので、理解もしやすいです。

コードやエラーメッセージの解読

ChatGPTを使ってプログラムのコードやエラーメッセージを解読してもらえます。

例えば他の人が作成したプログラムコードが難解だったり、ChatGPTに生成してもらったコードがよく理解できなかったときなどはChat GPTにコードを解読してもらいましょう。

1回の解読では分からなかった場合でも質問を複数回行うことでより理解を深められます。

また、プログラムを実装してみたらエラーメッセージが表示される場面に遭遇することもあります。

この場合はChatGPTにエラーメッセージと、エラーの出たコードの解説を指示すると分析結果と原因を提示してもらえます。

ここでは一例として偶数か奇数か判定してもらうプログラミングコードの解説を下記のプロンプトでChatGPTに指示してみましょう。

プロンプトの冒頭で指示内容である「コード解説」を入れ、下段で解説してもらうコードを入力します。

#コード解説 #コード:#include <stdio.h>

int main(void)
{
int a;

 printf(“整数を入力してください = “);
scanf(“%d”,&a);

 if( a % 2 == 0 ){
  printf(“%d は偶数です\n”, a);
 } else {
    printf(“%d は奇数です\n”, a);
}

  return 0
}

上記のプロンプトを入力したところ、ChatGPTからは下記のような返答がありました。

今回は入力したコードにエラーがあったため、ChatGPTからはエラーのあったところと修正後のコードについて解説を受けました。

このように、分からないコードをChatGPTに解説してもらうことでプログラミングが円滑に取り組みやすくなります。

プログラムの修正

ChatGPTを使って自分の書いたコードの改善点を指摘してもらうことでプログラムの修正ができます。

まずは自分の書いたコードをChatGPTに提示し、レビューを依頼しましょう。

ChatGPTにコードのレビューを依頼するとレビュー結果に加え、改善案も併せて提示されます。

例えば3つの数字の中の最大値を求めるプログラミングコードを作るとして、下記のプロンプトでChatGPTに指示してみましょう。

プロンプトの冒頭は「コード修正」とし、下段で修正してもらいたいコードを入力します。

#コードの修正
#コード:

#include <stdio.h>

int main(void)
{

 float a, b, c;

  printf(“異なる3つの数値を入力してください。\n”);

  /* 3つ数値を入力 */
 printf(“1つ目の数値: a = “);
 scanf(“%f”, &a);
 printf(“2つ目の数値: b = “);
scanf(“%f”, &b);
 printf(“3つ目の数値: c = “);
 scanf(“%f”, &c);

  /* 一番大きい数値を探す */
 if(a>b && a>c)
    printf(“一番大きい数値: a = %.2f\n”, a);
 if(b>a && b>c)
   printf(“一番大きい数値: b = %.2f\n”, b);
if(c>a && c>b)
    printf(“一番大きい数値: c = %.2f\n”, c);

上記のプロンプトを入力すると、ChatGPTからは下記のように修正されます。

このように、ChatGPTからはコードの修正案と主な変更点などを解説してもらえます。

サンプルデータの作成

ChatGPTを活用してサンプルデータを作成してもらうこともできます。

例えば自分の書いたプログラミングをデモンストレーションしたい場合、サンプルデータが必要になります。

サンプルデータを手作業で作成するのは手間がかかるので、ChatGPTにサンプルデータを作成してもらいましょう。

例えば下記の要件でChatGPTに学校名、生徒数、都道府県のサンプルデータの作成を指示してみます。

#目的:テストデータの作成
#要件:言語はjavascriptで、配列データ[(学校名)(生徒数)(都道府県)]を作成。配列の中身はランダムな50件

上記のプロンプトを入力したところ、ChatGPTからは下記のように示されました。

このように、ChatGPTを使うことで手間を省いてサンプルデータを作成することが可能です。

アルゴリズム構築

ChatGPTを活用したアルゴリズム構築も可能です。

アルゴリズムについておさらいすると、課題を解決するための計算方法や処理方法のことをいいます。

プログラミングにおいてアルゴリズム構築が最も手間のかかる工程ですが、ChatGPTに提案してもらうことで効率化できます。

例えば10の倍数を除外するアルゴリズムを構築したいと仮定し、ChatGPTに指示してみましょう。

プロンプトには上から順に目的、課題、条件を設定します。

#目的:以下の課題に対してアルゴリズムを提案する
#課題:10の倍数を除外する
#条件:3パターンほど提案し、それぞれのメリット・デメリットを解説してください

上記のプロンプトで入力するとChatGPTからの返答は下記のようになります。

ChatGPTにアルゴリズムを提案してもらうだけでなく、条件設定の際に複数パターンを提案するよう指示することで、それぞれのパターンのメリットやデメリットも併せて解説してもらえます。

このように、時間を擁するアルゴリズム構築もChatGPTを活用することで簡単に構築できます。

言語変換してもらう

ChatGPTを活用して別の言語に変換してもらうこともできます。

ChatGPTは多言語に対応しており、自分の書いたコードをPythonからJavascriptにするなど、別のプログラミング言語に変換することもできます。

例えばJavascriptで書いたコードをPythonに変換してもらう場合、下記のプロンプトでChatGPTに指示してみましょう。

なお、プロンプトには上から順に目的、要件(変換したいプログラミング言語)、変換したいコードを設定します。

#目的:プログラム言語の変換
#要件:Javascriptからpythonへ変換
#コード:
// 現在の日付を取得
const today = new Date();

// 今日の曜日を取得(0:日曜日, 1:月曜日, …, 6:土曜日)
const dayOfWeek = today.getDay();

// 来週の土曜日を取得するために必要な日数を計算
// 今日が土曜日(6)の場合は、7日後の土曜日を目指す
const daysUntilNextSaturday = (6 – dayOfWeek + 7) % 7 || 7;

// 来週の土曜日の日付を取得
const nextSaturday = new Date();
nextSaturday.setDate(today.getDate() + daysUntilNextSaturday);

// 来週の日曜日(次の日)の日付を取得
const nextSunday = new Date(nextSaturday);
nextSunday.setDate(nextSaturday.getDate() + 1);

// 結果を表示
console.log(来週の土曜日: ${nextSaturday.toLocaleDateString()});
console.log(来週の日曜日: ${nextSunday.toLocaleDateString()});

上記のプロンプトでChatGPTに指示すると、下記のようにPythonに変換したコードが示されます。

このように、ChatGPTはプログラミング言語の変換にも活用できます。

動作テストをする

ChatGPTを活用して自分の書いたプログラミングの動作テストも可能です。

自分で書いたプログラムが正常に動作するのか確認したいときに、ChatGPTにテストコードを作って動作テストしてもらうことができます。

例えば、奇数か偶数か判別するコードの動作テストをするとして、下記のプロンプトでChatGPTに指示してみましょう。

プロンプトには上から順に目的、要件、テストしたいコードを設定します。

#目的:関数のテスト
#要件:以下の関数に対するテストコードを生成
#コード:#include <stdio.h>

int main(void)
{
  int a;

 printf(“整数を入力してください = “);
 scanf(“%d”, &a);

 if (a % 2 == 0) {
   printf(“%d は偶数です\n”, a);
 } else {
    printf(“%d は奇数です\n”, a);
 }

  return 0;
}

上記のプロンプトをChatGPTに入力すると、下記のようにテスト方法、テストコード、実行方法が示されます。

このように、Chat GPTをプログラムの動作テストに活用することも可能です。

ChatGPTをプログラミングに活用するときのポイント

これまでChatGPTをプログラミングに活用する方法について解説してきました.、活用する際のコツは何でしょうか。

ここではChatGPTをプログラミングに活用するときのポイントについて解説していきます。

下記のポイントを抑えることでより便利にChatGPTをプログラミングに活用できるようになります。

質問は簡潔かつ具体的に

ChatGPTに質問や指示を行うときは簡潔かつ具体的な質問、指示を行うようにしましょう。

ChatGPTへの質問内容が抽象的だったり複雑だと的確な回答が得られにくいからです。

また、情報が不足していて具体的でない場合も同様です。

そのため、ChatGPTへ質問するときは簡潔かつ具体的に、なるべく短くまとめましょう。

なお、プロンプトの冒頭部分に指示内容を入力すると簡潔にまとまりやすくなります。

質問は段階的に行う

ChatGPTへの質問は段階的に行うのがポイントです。

中には動作が複雑になり、なかなか短くまとめにくいという場合もあるでしょう。

どうしてもまとまりにくい場合は一度に全て質問したくなるところですが、それでは的確な回答が得られにくくなります。

そこで、ChatGPTには一度に全て質問するのではなく、段階的に短く質問するのがおすすめです。

ChatGPTはこれまでの履歴から情報把握することが可能なため、質問を重ねることでより精度の高い回答を得られます。

動作が複雑になるなどの場合はまずは順序だてて考え、機能や工程を分けてChatGPTに段階的に質問しましょう。

入力情報の取捨選択を行う

ChatGPTに質問する前に、入力情報の取捨選択を行いましょう。

先述したように、入力内容が多すぎたり、複雑だとChatGPTから的確な回答が得られにくいためです。

入力情報を取捨選択するにあたり、ChatGPTがしない動作など、求めない要件や機能などについては省きましょう。

ChatGPTに求める要件や機能などに絞って質問することでChatGPTから精度の高い回答を得やすくなります。

つまり、必要な情報だけに絞って簡潔に、情報が多い場合は優先して質問したい情報に絞って段階的にChatGPTに質問することでChatGPTの回答の精度が上がります。

例文などの具体例や関連情報があるといい

例文などの具体例や質問に関連する情報を提供するとChatGPTの回答の精度が上がりやすいです。

例えばプログラミングツールや開発環境などといった情報があてはまります。

また、コードの例文や表などの具体例を使って、具体的に何がしたいのかをChatGPTに提示することでさらに精度の高い回答を得やすくなります。

コーディング規約を学習させる

ChatGPTをプログラミングに活用する際、統一感のあるコーディングができると取り組みやすいです。

そこでChatGPTにコーディング規約を学習させるのもおすすめです。

ChatGPTにコーディング規約を学習させることで、事前に学習したコーディング規約に沿ったコードを出力してもらえます。

また、その後の指示にも予め学習させたコーディング規約が反映されるので、統一感のあるコーディングが可能です。

ChatGPTと相性のいいプログラミング言語を使う

ChatGPTをプログラミングに活用するときは、ChatGPTと相性のいいプログラミング言語を使うのもおすすめです。

例えばPythonやJavascriptなどのプログラミング言語はChatGPTとの相性がいいとされています。

ChatGPTと相性のいいプログラミング言語を使う方がChatGPTの回答の精度が上がりやすいので、なかなか的確な回答が得られないと感じたらPythonなどに切り替えてみるのもいいでしょう。

Open AI推奨のベストプラクティスを抑える

最後に、ChatGPTをプログラミングに効果的に活用するコツとしてOpen AI推奨のベストプラクティスを抑えましょう。

ベストプラクティスとは、Open AIが推奨しているプロンプト作成時のポイントのことです。

ChatGPTをプログラミングに活用するときはこれまで説明した5つのポイントに加え、下記の8つのベストプラクティスも抑えておきましょう。

  • 最新のモデルを使用する
  • プロンプトの冒頭に指示を記載する
  • 具体的かつ詳細に指示する
  • 目的の出力形式を例で示す
  • 具体例を示しながら微調整する
  • 曖昧な説明や表現は避ける
  • すべきことのみを説明する(しないことは説明しない)
  • コード生成するときに書き出しで正確な回答へ導く

ChatGPTをプログラミングに活用するときの注意

これまでChatGPTをプログラミングに活用する方法、プログラミングに活用するときのポイントについて解説しました。

プログラミングにも活用できて大変便利なChatGPTですが、プログラミングに活用するときはいくつか注意点もあります。

ChatGPTをプログラミングに活用するときは下記の3点に注意して使いましょう。

情報が正しいか確認すること

ChatGPTの回答は必ずしも全てが正しいわけではありません。

情報が古い、バージョンが最新でないなどの理由で出力されたコードが意図したように動かないなどといったこともあるからです。

そのため、ChatGPTの出力結果を鵜呑みにするのではなく、出力結果をよく検証して情報が正しいか確認しましょう。

著作権や無断転載に注意

ChatGPTをプログラミングに活用するときは著作権や無断転載にも注意しましょう。

ChatGPTはこれまでに蓄積された学習データを基にコードを生成します。

そのため、意図せずに既存のプロジェクトや著作権で保護されたコードに酷似したものが生成される場合もあります。

意図せずに著作権を侵害する事態になるのを避けるために、生成されたコードが既に著作権で保護されているコードに酷似していないかよく確かめるといいでしょう。

機密情報を絶対に送らない

最後に、ChatGPTをプログラミングに活用するときは絶対に機密情報を送らないでください。

特に会社の業務でChatGPTを活用している場合は要注意です。

ChatGPTにコード生成などを指示する際、プロンプトに機密情報を含めてしまうとAIが学習し、AIはその学習をさらに活用できるようになります。

その結果、AIが機密情報を学習し、活用することで機密情報の漏洩に繋がってしまいます。

会社などに限らず、業務でChatGPTをプログラミングに活用するときはプロンプトに顧客情報や自社で独自開発したコード、個人情報などを含めることは絶対に避けましょう。

目次