💬

Chat GPTの秘められた力を引き出す~プロンプト編~

2024/11/10に公開

はじめに

みなさま、Chat GPT使っていますか????

実は雑な使い方では、Chat GPTの真価を発揮できていないかもしれません😰
Chat GPTの秘められた力はすごいです。
そのすごさを、プロンプト編API編に分けてブログで紹介してみます。

ますはプロンプト編です!!!!

※以下では「文章を生成するAI」=「生成AI」と呼びます

想定読者

  • Chat GPTをなんとなく使っている人
  • OpenAIに興味がある人

プロンプト編💬

プロンプトとは、Chat GPTに投げかけるチャットのことです。
ここのプロンプトを工夫することで、Chat GPTの力を引き出すことができます。

これらは「プロンプトエンジニアリング」と呼ばれます!それでは見ていきましょう。

①マークダウン言語を使う

生成AIに指示を送るときにはマークダウン言語を使うと効果的です。
マークダウン言語とは、ブログやスペックシートを書くときに使う記法です。
特に、#での見出し表現や-を使った箇条書き表現が使いやすいです。

代表的なテンプレート

#命令書:
あなたは{text}です。
以下の制約条件と入力文をもとに、最高の結果を出力してください。

#制約条件:
・文字数は{text}
・{text}

#入力文:
{text}

#出力文:

上記のテンプレートは深津式プロンプトとして広く知れ渡っています。
https://note.com/discovery_ai/n/nb42d8fba539d

②Zero shot, One shot, Few shot

なんだかかっこいいタイトルですね。
これらは、生成AIに対しての回答の例示方法の違いを表しています。

  • Zero shot:質問や命令を投げるだけの方法
  • One shot:質問や命令に対して、回答の例示を1つ添える方法
  • Few shot:質問や命令に対して、回答の例示を数個添える方法

具体的に例を挙げます。
ここでは、生成AIが苦手としている"文字の逆さ読み"をタスクとしましょう。

まずは、Zero shot

Zero shot
「カクテル」がぐちゃぐちゃになっていたり、「楽しめる」が正しく逆さ読みできていなかったり全然だめです。

// 質問
以下の文章を逆さ読みしてください。

## 文章 
バー月面歩行は三百円均一でカクテルを楽しめるお店です。


// GPTの回答
こちらの文章を逆さ読みしました:

すでみせおるしめ楽をるれしカてるクカで一均円百三は行歩面月ーば 

次は、One shot

** One shot**
「カクテル」と「お店」部分だけ間違っています。惜しい。

// 質問
逆さ読みとは例1のように文章を逆から読むことです。

## 例1
文章:男子ひと夏会わざれば刮目して見よ
逆から読んだ文章:よ見てし目刮ばれざわ会夏とひ子男

以下の文章を逆さ読みしてください。

## 文章 
バー月面歩行は三百円均一でカクテルを楽しめるお店です。

// GPTの回答
逆さ読みした文章は以下の通りです。

逆さ読み
すでお店るめし楽をルテルカクで一均円百三は行歩面月ーバ

最後に、Few shot

Few shot
最後の「です」だけ逆さになりませんでしたが、それ以外は正しく逆さに読んでくれています。回答の精度が上がっていそうですね。

// 質問
逆さ読みとは例1,例2,例3のように文章を逆から読むことです。

## 例1
文章:男子ひと夏会わざれば刮目して見よ
逆から読んだ文章:よ見てし目刮ばれざわ会夏とひ子男

## 例2
文章:仲良きことは阿保らしきかな
逆から読んだ文章:なかきしら保阿はとこき良仲

## 例3
文章:明け方までクーラーのお通夜だったんですよ
逆から読んだ文章:よすでんたっだ夜通おのーラークでま方け明

以下の文章を逆さ読みしてください。

## 文章 
バー月面歩行は三百円均一でカクテルを楽しめるお店です。

// GPTの回答
逆さ読みの結果は以下の通りです。

逆さ読み
です店おるめし楽をルテクカで一均円百三は行歩面月ーバ

上記のように、「問題やタスク」に対して「回答」の例示を上げることで「正しい回答」を誘導できます。

閑話休題:森見登美彦について📚

「月面歩行(ムーンウォーク)」とは、森見登美彦さんの小説「夜は短し歩けよ乙女」のヒロインが物語冒頭に入店するbarです。🍸
小説をもとにして作られたbarが「bar moon walk」としてけっこうそこら中にあります。新宿にもあるので気が向いたらいってみては。

ちなみに、"例"にあげた文章は「四畳半タイムマシーンブルース」という小説から引用しております。

引用元:四畳半タイムマシンブルース (角川文庫)

③回答フォーマットを指定する

プロンプトに回答のフォーマットを付けてあげることで、そのフォーマットに沿った回答を出力してくれます。
完全にフォーマットを固定はできません。が、プロンプトを工夫することで高い確率で固定することはできます。(何%とかは言えません。ごめんなさい、、、)

// 質問
日本で累計発行部数の多い漫画上位3つを以下のconditionに沿うように出力して。

<condition>
{
  number_1: { title: string}
  number_2: { title: string}
  number_3: { title: string}
}  
</condition>

// GPTの回答
Here are the top three manga series by total circulation in Japan under your condition:

{
  "number_1": { "title": "One Piece" },
  "number_2": { "title": "Golgo 13" },
  "number_3": { "title": "Dragon Ball" }
}
This list is based on total sales and popularity in Japan.

その他

ここでは以上の3つで紹介を終わりたいと思います。
その他にもプロンプトの工夫方法はいくつかあります。気になった方は下記のキーワードで調べたり、引用元のサイトを見てみてください。意外と面白いですよ(^^♪

  • 役割を与える
  • Chain-of-Thoughtを使う
  • 対象者の属性を明確化する  ...などなど

https://prompt-ya.com/chatgpt-26principle/

次回

次回はAPI編を書きます。むしろ次回がメインかも??

Discussion