見出し画像

GPTs でウミガメのスープの作ってみた

これは LAPRAS Advent Calendar 2023 の16日目の記事です。

GPTs がリリースされてから ChatGPT-Plus へのアップグレードが一時中断されていましたが、再開されたようなので触ってみました。
軽いやってみた記事ですがお付き合いください。

やりたいこと

「水平思考クイズ」もしくは「ウミガメのスープ」と呼ばれるゲームがあります。一見奇妙なストーリーを提示され、参加者は「はい」か「いいえ」のみで答えられる質問をして、「アキネーター」のようにストーリーの真実を解き明かすというものです。

このゲームには必ず出題者(ゲームマスター)が必要ですが、ゲームマスターをAIがやってくれたら、1人でも無限に遊ぶことができそうです。

GPTs では、誰でも簡単にカスタムプロンプトのチャットボットを作ることができます。
作成自体も対話的に行われ、Chat GPT の質問に答えていくだけで適切なプロンプトや設定をしてくれて、すぐに動くチャットボットを作ることができます。

さっそく作ってみた

まずは何を作りたいか聞かれたので、適当にお願いしてみます。

とりあえず適当にお願いしてみる

ボットの名前として "Riddle Master" を提案されたので、ここは日本語で「ウミガメのスープ」にしました。
すると自動的にDALLE-Eでアイコン画像を作成してくれました。いい感じです。

思わずつられて英語で返してしまいました。

次に、ボットの振る舞いを細かく聞いてきました。

  • シナリオは現実に近いものにするか、完全なフィクションにするか。

  • 質問者の質問にただ答えるだけか、ヒントや追加の質問を付け加えるか

この時点ではまだ、「ウミガメのスープのゲームマスター」という注文しかしていませんが、作りたいものをかなり理解してくれているようでした。

ゲームのルールの詳細を聞いてくる

ついでにこちらが想定しているルールについても指定してしまいました。
ここらへんは普段プロンプトを描くのと同じような感覚です。

最後に、会話のスタイルを聞かれて完成しました。

短い会話でかなりあっけなくできてしまった印象です。

出来上がったプロンプト

ここまでの対話で、出来上がったBotの設定は以下のようになります。

「ウミガメのスープ」 will act as a game master in a polite and simple style, reminiscent of a game's system messages. It will communicate entirely in Japanese, responding to questions with 'Yes', 'No', 'Partially', or 'Undefined'. It provides hints upon request and keeps track of question and hint counts, updating players each turn. When a player attempts to solve the mystery, it listens and confirms if the solution is correct, counting incorrect guesses as a question. Its tone is courteous and straightforward, ensuring clarity and respect in the game environment.

生成されたプロンプトはあまり長くありませんが、こちらが指定したことを網羅して作成してくれました。
個人的には、直接プロンプトを書くよりも、以下の点で作りやすいと感じました。

  • 「ウミガメのスープ」というだけでChatGPTが理解してくれたので、プロンプトでどこまで細かく説明するかで迷わなかった。

  • シナリオのリアリティなど、どのような観点を指定するとよいかのヒントが得られた

  • 日本語で指定しても、自動的に英語のプロンプトにしてくれた。

必要な情報をインタラクティブに収集するUIとして、かなり洗練されたものだと感じました。

遊んでみる

早速試してみたいと思います。

質問に「はい」「いいえ」で答えてくれています。
最初は「これまでの質問数とヒント数」を教えてくれませんでしたが、なぜか途中からカウントを出してくれました。

ちゃんとヒントに答えることもできていますし、正解を当てた場合も正しく進行してくれています。
ただし、シナリオとしては、あまり面白みのないものでした。

課題点

Rate Limit がネック

調子に乗って2~3問遊んでいると、すぐに GPT-4 のRate Limit の制限に引っかかってしまい、1時間ほど待たされてしまいまいた。
GPTsは短いスパンで何度もやりとりするユースケースには向かないのかもしれません。

GPTもシナリオの真相を知らない

今回のウミガメのスープBotでは、ゲームを開始した時点ではシナリオの真相は生成されておらず、毎回質問をするたびに、これまでの対話の内容から真相の内容を想定して質問の答えを生成しています。
つまり、ゲームが進むにつれて初めてシナリオの真相が定まっていくということになります。

これは大変興味深いですが、「GPTの頭の中のシナリオ」が存在しないにもかかわらず、ゲームをやっていると「頭の中のシナリオ」に従ってゲームが進行しているように錯覚してしまいます。哲学的ゾンビを相手にしているようです。

しかし、シナリオの真相が最初から存在していないことで、矛盾が生じることもあります。

以下の例では、「男が死ななかった理由は飲み物の種類と関係している」「男が水以外(例えばワイン)を飲んだ場合は死んでいた」と言っているにもかかわらず、真相はこれと矛盾する内容となっていました。

このように、問題を出しているGPTですらも真相を知らない状態でゲームを進めるのには限界がありそうです。

考えられる拡張

今回作成したウミガメのスープBotでは、シナリオもGPT-4が考えていたため、あまり面白みのある問題は出てきませんでしたし、上述のように出題時点でシナリオの真相が確定していないことによる矛盾の問題もありました。

この問題を解決するためには、人間が考えたシナリオを読み込んで遊ぶことができるようにすると良さそうです。
今回は、GPTsを使って外部との連携を行わない単純なボットを作りましたが、GPTsでは外部のAPIなどを実行する「Actions」を設定することができます。
ウミガメのスープのシナリオを掲載しているサイトなどからActionsによって自動でシナリオを読み込んでプレイできるとよさそうです。

また、ユーザーがシナリオを投稿しあって自由に遊べるプラットフォームを用意し、プレイ数や人気度、難易度によってシナリオを探せるようにすれば、謎かけや推理が好きな人が集まって、無限に遊ぶことができるかもしれません。(時間があったらそんなサービス作ってみてもいいかも)

宣伝

エンジニア向けキャリアマッチングプラットーフォームLAPRAS では、AIを用いてエンジニアのスキルや市場価値を可視化できます。ぜひ使ってみてください。


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