2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ChatGPTのプロンプトの書き方

Last updated at Posted at 2024-10-17

概要

  • ChatGPTはOpenAIが開発した Generative Pre-Training(GPT:生成的事前学習)を利用した言語モデルです
  • GPTモデルはバージョンアップのたびに、大量のテキストデータを学習しています
    • GPT-1(1.17億のデータ)
    • GPT-2(15億のデータ)
    • GPT-3(1750億のデータ)
    • GPT-4(推定100兆のデータ)

image.png

  • 最新のGPT-4oではGPT-4よりも多いデータ量で学習されているとされています(様々な意見あり)
  • そのため、多様で自然な文章を生成することができます

プロンプトを書く時に意識すること

私がChatGPTでプロンプトを書くときに一番意識していることは

どうやったら伝わるか


です。
あなたは後輩に仕事を引き継ぐときや、任せるとき、
その業務はどんな背景があって、何が課題で、どこをどうすれば完成なのか
など、いろいろ説明してから頼みませんか?
逆の立場に立った時、先輩から仕事を任されて先輩が説明不足だったら質問しないですか?
仕事がある程度できるのなら、ChatGPTは使いこなせます。
別にChatGPT使わないなら使わなくていいと思います。
以下に一つ例を載せますが、「これ書くのめんどくさいな~」って思う人は
ChatGPT向いてないと思います。

プロンプト例

  • GoogleSpreadSheetで株価を取得するツールを作ってほしいとき
    # 命令
    GASを使って株価を取得して設定値よりも低い値になったらメールで通知するツールをGoogleSpreadSheetで作りたいです。
    以下の条件を見てコードを作ってください。
    
    # 条件
    ・1行目はヘッダーでA列から順に「株名」「設定額」「現在額」「前日額」となるようにしてほしいです。
    ・A列は株名が入っていて、それに対応する株価をC(実行時の額)、D(実行時の1時間前の額)、B列には設定値を入力するようにしたいです。
    ・取得してくるURLは`https://finance.yahoo.co.jp/quote/`でURLの後ろに株名に対応する銘柄コードを書くことで対象のページを開くことができます。
    ・URLを開いたときの<span class="StyledNumber__value__3rXW"></span>で囲われてるデータが株価になるので、そのデータを取得してきてほしいです。
    ・メール送信関数を実行時に現在額が設定額より低い値になったかどうか判断し、低くなった場合のみメールを送信するようにしてください。
    ・メールは「testtest@gmail.com」に送信してください。トリガーはこちらで設定します。
    

大体こんな感じのプロンプトが書ければ作れます。

例の説明

  • プロンプトを書く時はマークダウンを使うといいらしいです
    なので極力マークダウンを使ってプロンプトを書きましょう

  • 基本のプロンプトは「命令文」+「条件」で構成すればいいと思います
  • もし現在書いているコードがあればそれも載せると現在のコードに沿った修正をしてくれます
    ※社外秘の情報は載せないようにしましょう
  • また、出力例があるなら出力例も載せてあげると精度が高まります
  • 使用してほしい項目・アイテムがあるなら条件として記載することで使用してくれます

以下では私がよく使用しているプロンプトを分類して、
例題を載せているので参考にしてみてください。

プロンプトの分類について

私がChatGPTで利用しているプロンプトを分類すると以下の4つになります。それぞれで記事を作成しているのでそれぞれのシーンに分けてプロンプトの参考にしてみてください。
それぞれの項目ごとに記事を書きました。
実際にChatGPTで利用できるプロンプトになっているので、試しに使ってみてください:relaxed:

質問・解決型プロンプト

疑問に感じたこと、自分の知識では解決できないようなことを知りたいときによく利用します。

(例)

  • 坂本龍馬は何をした人ですか?
  • 添付のエラーの解決方法を教えてください。
  • Pythonのprint(f'test: {test}')とは何か説明していただけますか?

指示・作業型プロンプト

やろうと思えば自分でできるが、めんどくさいと感じる作業のときによく利用します。

(例)

  • ~~というメールが来たのでその返信文を考えてください
  • 添付の文章を要約してください
  • 以下の文章をだ・である調に変換してください

創作・発案型プロンプト

ブレインストーミング的にアイデア出しをしたいときやイメージ図をデザインしてほしいときによく利用します。

(例)

  • windowsで動いている環境をすべて洗い出したいです。洗い出すべき情報をすべて書き出してください
  • バンテリンを売り出すときのキャッチコピーをいくつか考えてください
  • 社内で会議をしている図をデザインしてください
image.png

計算型プロンプト

複雑な数式の解法(課金する必要あり)や単純な計算をしてほしいときに使いますが、信ぴょう性が低いためあまり利用しません

  • $∫e^xsinx\hspace{5px}dx$ の解法を教えてください
  • [231,531,642,236,743,752,234,643]このリストの平均、標準偏差、分散を計算してください

プロンプト列挙してみた

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?