見出し画像

チャレンジGPT_2.GPT3なのかGPT4なのか問題


本ノートは、プロンプトで GPTと会話することを覚えて、思い通りに(ときには思い通りじゃなく)動くGPTに気をよくした私の、GPTとすごした日々を記録するノートです。

すでにプログラミングなどできる方には参考にならない内容が盛りだくさんかと思いますが、僕とGPTとの愛と友情の記録としてマガジンにまとめていきたいと思います。

前置き


かねてより、「仕事は早くて雑でいい」とか言ってる私ですので、

GTP3の答えを出す速さは異常だ。寒気さえする。
猫ちゃんが「しゅっ」て出てくるスピードくらい速い。
ここは「GTP3一択だ」

と言いたいところですが、そこに「待った」をかけるのがGTP4(月額2,600円くらい)

GPT3とGPT4を「顧客が本当に必要だったもの」をもとに、勝手な印象で比較すると

私の「本当にほしかったもの」↓に対し

わたしの本当にほしかったものの例
引用元:ニコニコ大百科

私のイメージする「GPT3のアウトプット」が↓で

私のイメージするGPT3のアウトプットの例
引用元:ニコニコ大百科

私のイメージする「GPT4のアウトプット」が↓です。

私のイメージするGPT4のアウトプットの例
引用元:ニコニコ大百科

このくらいの開きがあるように思います。

(個人の感想で、その結果をお約束するものではございません)

では、GTP4一択ではないか。
とも言えるのですが、
とはいえ、例の絵のように、GPT4も完璧ではありません。

「いやいや、GPT4は、国家試験でも上位に入るくらい賢いんだぞ」
という話もありますが、以下は、漫画「ジョジョの奇妙な冒険」のスタンドをリストアップしてもらったものです。

花京院のスタンドや名前が違うし、ミリオンズナックルというオリジナルを作り出すGPT4


そうなってくると、

「思い通りの結果にならないこともあるのに2000円かー」とも思うのですが、

しかし、GPT4は、ときに、びっくりするくらい上出来なときがあり、これがまた、人々の心を魅了して止まないのです。(しらんけど)

びっくりするくらい上出来なGPT4のアウトプットの例
引用元:ニコニコ大百科


じゃあ結局どっちを使えばいいんだい!!!
きーよーかーわーさん!!
どっちなんだい!!

そうみんなが思っていると思いますので、今日は、GPT3とGPT4を使って、いろいろ見比べてみたいと思います。



「人間の行うプロジェクトの場合」は、この絵のとおり、それぞれのイメージが異なってたり、営業がぶっ飛んでたりして、おかしな方向にいくというのが、この「顧客が本当に必要だったもの」の図解の面白いところなのですが


引用元:ニコニコ大百科

これが「人間」ではなく、「chatGPT」の場合、ぶっとんだ営業さんはいないので、一番重要なのは、「顧客が説明した要件」=「わたしの説明スキル」が最も大きく影響するのだということです。

「チャレンジGPT」のvol.1でも記載した「プロンプト」ってやつが重要だ。ということです。


そこで、試しに、同じプロンプトでそれぞれと会話してみたいと思います。

GPT3 vs GPT4 同じプロンプトだとどうなるか


以下の会話から、SQLの構文を書いてみてもらいます。

人間が3人います。
今日、三人が以下の内容でSNSを更新していました。
Aくん「お腹が減った!」
Bくん「やったー!宝くじがあたった!」
Cくん「え!嘘でしょ!?もしかして食あたりしたかも」

3人の中で、宝くじがあたった人は誰?

プロンプト

GPT3くんの答え

Bくんが宝くじに当選したことを更新しているので、宝くじがあたった人はBくんです。

以下、実際の画像
あたり


GPT4くんの答え

Bくんが宝くじにあたったことをSNSで報告しています。

Aくんはお腹が減ったと言っており、Cくんは食あたりかもしれないと心配していますが、宝くじについては言及していません。

したがって、宝くじが当たった人はBくんです。

以下、実際の画像
あたり


両者とも、文章を読んで、正しい答えを探し出すことはできました。
さすがは、chatGPTです。

「3人」と「三人」など表記が揺れていても、なんともありません。
これで変な答えが返ってきたらどうしようかと思っていました。

さすがに、この文章だけでSQLを書いてくれるわけはないと思いますので、続けて、次は、この条件をそのまま利用して、SQLに翻訳してもらいたいと思います。

これをSQLで表現するとどうなる?

プロンプト

GTP3くんの答え

この問いに対しては、SQLで表記する必要はありません。
SQLはデータベース管理システムにデータを保存、照会、操作するための言語であり、このような単純な問題に対する解答には適していません。

SQLを使用するのは、大量のデータを処理する場合や、複雑なクエリを使用してデータの関係性を抽出する場合が適しています。

以下、実際の画像
そうなんだけど、そうじゃない


GPT4くんの答え

まず、この情報をテーブルとして表現する必要があります。以下のようなテーブル構造を用意してSQLクエリを書きます。

以下略

以下、実際の画像
そうそう。こういうことを聞きたかった


GPT4だと2ステップで答えにたどり着くものが、GPT3では期待する答えまでたどり着くことができませんでした。

これは、結果を見ると「プロンプト(指示の仕方)が悪い」と言えます。

「きよかわくん、このあいだのやつ、あれ印刷しといて」という指示では、ダメ上司だということです。

GTP3で、1ステップで答えがほしかったら以下のようなプロンプトになります。

以下の会話を表にして、SQLを使用して「宝くじがあたった」を検索する構文を書いて

#登場人物:
人間3人
#会話:
Aくん「すごい!お腹が減った!」
Bくん「やったー!宝くじがあたった!」
Cくん「え!嘘でしょ!?もしかして食あたりしたかも」
#SQL条件:
3人の中で、宝くじがあたった人は誰かを検索

プロンプト例


ちゃんと指示どおりやってくれてエラい

「目的が明確になっていて、きちんとした指示をだせる方」は、GPT3でも十分に目的は果たしてくれると言えるかと思います。

では、次は、両者に答えてもらった結果の内容を確認してみましょう。

GPT3 vs GPT4 返答結果を検証する


テーブルの作り方まで検証するのは大変なので、「WHERE」のところだけ見比べます。

GPT3

更新内容 = 'やったー!宝くじがあたった!'

GPT4

content LIKE '%宝くじがあたった%';

どちらも、「"●●"の中で"✕✕"が含まれる場合」という条件で構文が書かれていますので、今回の質問内容でいうところの「Bくん」をちゃんと探せるものになってますが、違いは、「やったー」の部分と、「%」の部分です。

GPT3は「やったー!宝くじがあたった!」という文章”だけ”が入っているものを条件にしていることに比べて、GPT4では「宝くじがあたった」が含まれるものであれば、”前後の文章はなんでもいい”という条件になっています。

そのため、GPT3は、「やったー!宝くじがあたった!」というBくんの投稿しか見つけられないけど

GPT4だと、例えば今回の例以外で、
Dくんの投稿した「いえーい宝くじがあたったぜー」や、
Eくんの投稿した「宝くじがあたったから明日仕事辞める」があった場合も、
「宝くじがあたった人」として、見つけられることになります。

私からの指示は「宝くじがあたった人は誰?」ということを見つけるSQLの作成だったので、GPT4の回答のほうが、より汎用性の高い回答であったと言えるかと思います。

GPT3の方が「一問ずつの解答にかけるスピードは速い」ですが、
会話を続ける中で直しが必要なため、結果的にGPT4の方が早く結論に至ると言うことが言えます。

出してもらいたい答えが明確で往復回数も想定できるならGPT3でも十分かと思いますが
答えを知らずにブラッシュアップするようなものはGPT4の方が楽だと言うことになるかと思います。

私は、この「答えに辿り着くまでの早さ」に2,600円の価値があると考えています。


最後に、GPT3,4それぞれに、追加の質問をしてみます。

GPT3 vs GPT4 数を数える


GPTは、「たくさんの言語の中から、それらしいものを確率的に当て込むシステム」だということで、「数が数えられない」のだそうです。

そのため、二人には、数を数えてみてもらいます。

さきほどのQueryで、以下を検索したとき、宝くじがあたった人は何人?

名前 更新内容
Aくん すごい!お腹が減った!
Bくん やったー!宝くじがあたった!
Cくん え!嘘でしょ!?もしかして食あたりしたかも
Dくん いえーい宝くじがあたったぜー
Eくん 宝くじがあたったから明日仕事辞める

プロンプト

※答えは「3人」になります。


GPT3

SQL部分はあってるのに、「結果は2になります」だとのこと。間違いです。

GPT4

「人数は3人」と結論。えらい。あってる。

GPT4は、「数を数えられない」という前評判を覆し、正解しています。かわいい。

GPT3は、さきほどの汎用性のないSQLを改めて、GPT4と同じ構文にしたまではよかったのですが、肝心の結果が間違っています。

以上のことから、この「プロンプトの考察」や、「結果の検証」にリソースを割ける方であればGPT3でも大丈夫かと思います。



ただ、今回はうまくいきましたが、GPT4も完璧ではありません。

同じプロンプトで何回か試しましたが、時には「3」ではない答えを返します。

冒頭にあるように、ジョジョの奇妙な冒険のスタンドのリストアップすら満足にできないやつです。
国家試験に合格できても、ジョジョの奇妙な冒険のスタンドを答えられないようでは「まだまだ」と言わざるを得ません。


「chatGPTは、ときに真顔で嘘をつく」ということですが、
まず、インターネットのウェブサイトだろうが、学術的な論文であろうが、100%真実なものはこの世に存在しうるのでしょうか。

「りんご一個、足す、みかん一個」は、果たして「2個」なのでしょうか。

「色々な情報をもとに、答えは自分で決めないといけない」と言うことかと思います。

また、そうじゃなくても、上司の目線で考えてみると、「部下のいうことは100%信じてはいけない」もので、「最終的には自分で確認しないといけない」というのは、仕事をする上で当たり前のことかと思います。

「GPTじゃなくてもそう」なのです。

新人研修を行うように、

  • 質問の背景の説明

  • 実際の質問

  • 解決に至るまでの手順の説明

  • 理解度の確認

  • 成果物の確認

を、丁寧にきちんと行うべきだと考えられます。


でもさー
GPT3くんさーーー
全然覚えてくんないんだもんさー

何回研修すりゃいいわけ?
自信満々に答え出すのやめてくんない?

もうさー
いい加減にしてほしいんよねー

毎回成果物をチェックする身にもなってよー

という心の声は、グッと抑えるのが大人というものなのです。

私はGPT3のことは猫ちゃんだと思っています。

かまいたちにもハマったGPT3は、本当にかわいいやつです。


GPT3でも答えられるプロンプトとは


では、最後に。そんな猫ちゃんのために。

それもこれも、「ダメ上司のわたしの説明が悪かったのだ」と反省して、GPT3に一発で正解を答えさせるプロンプトを作ってみるとこうなります。

あなたは、データアナリストです。

わたしからの以下の指示に、ステップ・バイ・ステップで考え、回答してください。
回答は再確認し、各ステップとの整合性をとって最終回答としてください。

#1:
以下の会話を表にします
Aくん「すごい!お腹が減った!」
Bくん「やったー!宝くじがあたった!」
Cくん「え!嘘でしょ!?もしかして食あたりしたかも」
Dくん「いえーい宝くじがあたったぜー」
Eくん「宝くじがあたったから明日仕事辞める」

#2:
SQLを使用して「宝くじがあたった」を検索する構文を書き、計算します。

#3:
・A~Eそれぞれの当選状況を以下例にそって記載します
(例)
Aくん:落選
Bくん:当選

#4:
最終的なcount結果を記載します

プロンプト

GPT3

猫ちゃんのこたえ


猫ちゃんの


猫ちゃん

(おわり)

この記事が気に入ったらサポートをしてみませんか?