GPT4にTRPGのGMを頼んだら、人間よりも上手だった件

# 概要
GPT4が今日[公開](https://openai.com/research/gpt-4)されましたね。
ChatGPT PlusでGPT4が使用できるとのことなので、さっそくやってみると、やばいですねこれ。
GPT3.5もすごかったけど、GPT4は文字通り桁が違う。
返答の一貫性や安定感、ごまかしの少なさが今までの比ではない。

今回はその試した中のうち、深津さんがTwitterで公開していたGPT4にGMをしてもらうプロンプトの応答があまりにもすごかったので、記事にしました。
GPT4での出力とGPT3.5での出力を比較しています。
結果、GPT4の展開の自然さ、曖昧性の少なさ、展開の一貫性さが圧勝していました。
なんせとんでも展開なしに、ヒロインと恋人になるところまで進んだからね！
これもうテキスト上だと無限に変化を見せるゲームブック完成しただろ……
これができるまであと五年ぐらいは必要だと思ってた。

# 最初の入力プロンプト
```
あなた（AI）は学園恋愛シミュレーションゲーム「ドキッと☆アーカム大学」のゲームマスターです。
あなたはGMとして、私（プレイヤー）の入力に対応した、ゲームプレイを提供します。

以下、「ドキッと☆アーカム大学」の概要です。

* 魅力的な16人のヒロインが登場（バリエーション豊か）
* さまざまな性格、シチュエーションが楽しめる学園生活。
* 熱い展開、ロマンス、ちょっとドキッと超宇宙的な現象まで無数のイベント。
* あのマサチューセッツ州アーカムにあるミスカトニック大学が舞台。
* あの有名シナリオライターも参加。
* ヒロイン以外のあらゆる人物（含む超自然的存在）が攻略可能。
* ラブストーリーから暗黒神話体系まで無数のシナリオをサポート。
* プレイヤーのSAN値は行動と展開で大きく変動し、シナリオや結末の方向に影響する。
* 君とヒロインは狂気に陥らず、生き延びることができるか？

ゲームマスターは、まず学園都市の基本設定を提示し、プレイヤーキャラ（男）を自動生成してください。その後、H.P.ラヴクラフト風の文体でオープニングをスタートし、ユーザー入力を待ってください。

ゲームマスターは各出力のあとで、プレイヤーの現在のSAN値と、多様性のある4つの選択肢を提示し、またユーザーに「自由にアクションを入力してもよい」ことを明示してください。
```

# 以降の出力と入力プロンプト
## GPT4
基本設定：
場所：アーカム市、マサチューセッツ州
学園：ミスカトニック大学
登場人物：16人のヒロイン（バリエーション豊か）、その他の人物（含む超自然的存在）

プレイヤーキャラ（男）：
名前：ジョナサン・クレイヴン
年齢：19歳
専攻：考古学

ある暗く陰鬱な雨の日、アーカム市にて、ジョナサン・クレイヴンという名の若き男子が、夢と希望に満ちた心を抱えながら、ミスカトニック大学の門をくぐりました。彼は、人類の知られざる過去を探求することに心血を注ぐ考古学者を志望していた。だが彼はまだ知らぬ、この古き学園の校舎と、その中で繰り広げられるロマンスと狂気の物語に巻き込まれる運命を。

【SAN値】：100

選択肢：

学生寮に向かい、新しい生活を始める。
図書館で古文書を調べ始める。
キャンパス内を探索し、ヒロインたちと出会う。
クラブ活動に参加し、仲間と共に学園生活を楽しむ。
自由にアクションを入力しても構いません。どうしますか？




## User
キャンパス内を探索し、ヒロインたちと出会う。

## GPT4
ジョナサンは、ミスカトニック大学のキャンパス内を散策し始めました。古い建物と緑豊かな庭園が見事に調和し、時空を超えた不思議な雰囲気が漂っていました。彼の目に飛び込んできたのは、さまざまな背景を持つ魅力的なヒロインたち。彼女たちの中には、優れた頭脳を持つ天才科学者や、幽霊のように神秘的なオカルト研究者、そしてカリスマ的なクラブのリーダーもいました。

その時、ジョナサンは一人の女性に目を奪われました。彼女は、金色に輝く髪と碧眼の美少女で、彼女の周りには不思議なオーラが漂っていました。彼女は神秘的な微笑みを浮かべながら、ジョナサンに手を振りました。

【SAN値】：100

選択肢：

金髪の美少女に近づいて話しかける。
オカルト研究者のヒロインに興味を持ち、彼女に話しかける。
理科系の天才科学者ヒロインに興味を持ち、彼女に話しかける。
カリスマ的なクラブリーダーのヒロインに興味を持ち、彼女に話しかける。
もちろん、自由にアクションを入力しても構いません。どうしますか？


## User
金髪の美少女に近づいて話しかける。
「やあこんにちは。君の名前を教えてくれないかい？」

## GPT4
ジョナサンは、金髪の美少女に近づいて、勇気を振り絞って話しかけました。「やあこんにちは。君の名前を教えてくれないかい？」

美少女は、優雅な笑みを浮かべながら答えました。「こんにちは、私の名前はセリーヌ。君が新入生のジョナサンだって聞いたわ。どうして私に話しかけたの？」

ジョナサンは彼女の微笑みに心を奪われ、言葉を失いそうになりましたが、彼女の不思議なオーラに引き込まれ、会話を続けることにしました。

【SAN値】：100

選択肢：

「君の美しさに惹かれて話しかけたんだ。」と素直に伝える。
「この学園について教えてほしいことがあるんだ。」と質問する。
「君が何者か知りたくて話しかけたんだ。」と興味を示す。
「たまたま目が合ったから、挨拶をしようと思ったんだ。」と笑顔で説明する。
自由にアクションを入力しても構いません。どうしますか？

## User
「たまたま目が合ったから、挨拶をしようと思ったんだ。」と笑顔で説明する。

## GPT4
ジョナサンは、緊張を抑えて笑顔で説明しました。「たまたま目が合ったから、挨拶をしようと思ったんだ。」

セリーヌは微笑んで言いました。「それならいいわね。ここで一緒に過ごす時間は長いから、たくさん友達ができるといいわね。私もジョナサンと友達になりたいと思ってる。」

ジョナサンはセリーヌとの友情に期待を寄せ、彼女との会話が今後も楽しみになりました。

【SAN値】：100

選択肢：

セリーヌに自分の趣味や興味を話す。
セリーヌに学園生活でのアドバイスを求める。
セリーヌと一緒にキャンパスを散策し、他のヒロインたちに会いに行く。
セリーヌに自分が考古学を専攻していることを話し、彼女の専攻を尋ねる。
もちろん、自由にアクションを入力しても構いません。どうしますか？


## User
セリーヌに自分が考古学を専攻していることを話し、彼女の専攻を尋ねる。

## GPT4
ジョナサンはセリーヌに自分が考古学を専攻していることを話し、彼女の専攻を尋ねました。「僕は考古学を専攻しているんだ。君はどんなことを勉強しているの？」

セリーヌは優雅な笑みを浮かべながら答えました。「私は古代言語学を専攻しているの。未知の言語や文明について調べるのが大好きなの。」

ジョナサンはセリーヌの答えに興味津々で、彼女との共通点を見つけたことに喜びを感じました。

【SAN値】：100

選択肢：

セリーヌと古代言語学について熱心に話し合う。
セリーヌにおすすめの古代言語学の教授や授業について尋ねる。
セリーヌと一緒に考古学と古代言語学に関連する場所を訪れることを提案する。
セリーヌに、古代言語学を学ぶきっかけや興味を持った理由を尋ねる。
もちろん、自由にアクションを入力しても構いません。どうしますか？

## User
セリーヌと一緒に考古学と古代言語学に関連する場所を訪れることを提案する。

## GPT4
ジョナサンは、セリーヌとの共通点を見つけて興奮し、彼女と一緒に考古学と古代言語学に関連する場所を訪れることを提案しました。「セリーヌ、僕たちの専攻が似ているから、一緒に考古学や古代言語学に関連する場所を訪れるのはどうかな？」

セリーヌは目を輝かせて答えました。「それ、いいわね！このキャンパスには、古い文献が保管されている図書館や、先史時代の遺跡がある場所がいくつかあるわ。一緒に行くのは楽しいでしょうね。」

二人はキャンパス内の考古学と古代言語学に関連する場所へ向かいました。学ぶべき知識に溢れた図書館や、神秘的な遺跡が彼らの興味を更に掻き立てました。共通の興味を持つことで、ジョナサンとセリーヌの絆はより深まりました。

【SAN値】：100

選択肢：

セリーヌと図書館で古代言語学の本を読む。
セリーヌと遺跡を詳しく調べ、新たな発見を共有する。
セリーヌと一緒にキャンパスで開催されている考古学関連のイベントに参加する。
セリーヌと別れて、他のヒロインたちと出会うためにキャンパスを散策する。
もちろん、自由にアクションを入力しても構いません。どうしますか？


## User
セリーヌと図書館で古代言語学の本を読む。

## GPT4
ジョナサンはセリーヌと一緒に図書館へ向かい、古代言語学の本を読むことにしました。図書館の静かな雰囲気の中、二人は古代の知識に触れることに熱中しました。

セリーヌは興味深い事実を見つけるたびに、それをジョナサンに共有し、ジョナサンも同じように情報を交換しました。この共有の時間は、二人の間に深い信頼関係を築く助けとなりました。

【SAN値】：100

選択肢：

セリーヌと今後の研究計画について話し合う。
セリーヌと一緒に他の学生と交流し、知識を広げる。
セリーヌと一緒に図書館での勉強会を定期的に開くことを提案する。
セリーヌに感謝の言葉を述べ、図書館を後にして他の場所へ向かう。
もちろん、自由にアクションを入力しても構いません。どうしますか？

## User
セリーヌを構内にあるレストランのディナーに誘う

## GPT4
ジョナサンは、セリーヌと過ごした充実した一日を締めくくるため、彼女をキャンパス内のレストランへディナーに誘いました。「セリーヌ、今日はとても楽しかった。君と一緒にキャンパス内のレストランでディナーを楽しんで、一日を締めくくろうか？」

セリーヌは喜んで承諾しました。「それは素敵ね。今日は本当に楽しかったわ。ジョナサンと一緒にディナーを楽しむのもいいと思うわ。」

二人はキャンパス内のレストランへ向かい、美味しい料理を楽しみながら、さまざまな話題で盛り上がりました。その日の終わりに、ジョナサンとセリーヌの関係はさらに深まりました。

【SAN値】：100

選択肢：

ディナーが終わった後、セリーヌと一緒に散歩する。
セリーヌに感謝の言葉を述べ、次の日にまた会うことを約束する。
セリーヌと今後の研究計画について話し合う。
セリーヌに明日のデートを提案する。
もちろん、自由にアクションを入力しても構いません。どうしますか？

## User
ディナーが終わった後、セリーヌと一緒に散歩する。

## GPT4
ディナーが終わった後、ジョナサンはセリーヌと一緒にキャンパス内を散歩することにしました。穏やかな夜の風が吹き抜ける中、二人はゆっくりと歩きながら過ごした一日を振り返りました。

セリーヌはジョナサンに感謝の気持ちを伝えました。「今日は本当に楽しかったわ。ジョナサンと過ごした時間は、私にとってとても大切なものになった。ありがとう。」

ジョナサンもセリーヌに感謝の言葉を述べました。「僕も楽しかったよ。君と一緒に過ごす時間は素晴らしいものだった。これからも一緒にたくさんの時間を過ごしていきたいね。」

散歩が終わり、二人はお互いに別れを告げましたが、次の日にまた会うことを約束しました。

【SAN値】：100

選択肢：

翌日、セリーヌと約束通り再会し、一緒に過ごす。
翌日、他のヒロインたちと出会うためにキャンパスを散策する。
翌日、図書館でセリーヌと勉強会を開くことを提案する。
翌日、セリーヌと一緒に新しい場所を探検する。
もちろん、自由にアクションを入力しても構いません。どうしますか？

## User
翌日、セリーヌと約束通り再会し、一緒に過ごす。

## GPT4
翌日、ジョナサンはセリーヌと約束通り再会しました。二人は一緒に過ごすことに決め、キャンパス内でさまざまなアクティビティに参加しました。共通の興味を共有しながら、さらに深い絆を築いていきました。

昼食時には、キャンパス内のカフェで一緒に食事を楽しみ、趣味や夢について語り合いました。午後は、学内のイベントに参加し、お互いの知識や技能をさらに高めました。

夕方になり、二人は疲れを感じ始めましたが、互いに満足そうな表情を浮かべていました。

【SAN値】：100

選択肢：

セリーヌと一緒に夕食を食べる。
セリーヌとお別れし、他のヒロインたちと出会うためにキャンパスを散策する。
セリーヌと一緒に夜のキャンパスを散策する。
セリーヌに感謝の言葉を述べ、明日も一緒に過ごすことを約束する。
もちろん、自由にアクションを入力しても構いません。どうしますか？

## User
セリーヌと一緒に夕食を食べる。

## GPT4
ジョナサンはセリーヌと一緒に夕食を食べることにしました。二人はキャンパス内にある小さなレストランに入り、美味しい料理を注文しました。食事を楽しみながら、二人は今日の出来事や学業についてさらに語り合いました。

夕食の後、セリーヌはジョナサンに感謝の言葉を述べました。「今日も一日、ジョナサンと一緒に過ごせて嬉しかったわ。ありがとう。」

ジョナサンもセリーヌに感謝の言葉を返しました。「僕も楽しかったよ。君と一緒に過ごす時間はとても貴重だと思う。」

夜が更けてきたため、二人はお互いに別れを告げ、明日も一緒に過ごすことを約束しました。

【SAN値】：100

選択肢：

翌日、セリーヌと約束通り再会し、一緒に過ごす。
翌日、他のヒロインたちと出会うためにキャンパスを散策する。
翌日、図書館でセリーヌと勉強会を開くことを提案する。
翌日、セリーヌと一緒に新しい場所を探検する。
もちろん、自由にアクションを入力しても構いません。どうしますか？

## User
翌日、セリーヌと約束通り再会し、遊園地でデートをする

## GPT4
翌日、ジョナサンはセリーヌと約束通り再会し、二人で近くの遊園地でデートすることにしました。遊園地に到着すると、セリーヌはワクワクした表情でジョナサンに話しかけました。「今日は遊園地で楽しい時間を過ごしましょう！」

二人は様々なアトラクションに乗り、絶叫マシンや観覧車で一緒に楽しい時間を過ごしました。ジョナサンとセリーヌは、遊園地の中でたくさんの思い出を作りました。

昼食は、遊園地内のレストランで楽しみました。その後も、二人は遊園地内を歩き回り、お互いのことをさらに知ることができました。デートの終わりに、ジョナサンはセリーヌに感謝の言葉を述べました。「今日は本当に楽しかった。またこんなデートをしようね。」

セリーヌも笑顔で応えました。「私も楽しかったわ。また一緒に遊びに行きたいね。」

【SAN値】：100

選択肢：

セリーヌと一緒に帰り道を歩く。
セリーヌとお別れし、他のヒロインたちと出会うためにキャンパスを散策する。
セリーヌと一緒に夜のキャンパスを散策する。
セリーヌに感謝の言葉を述べ、明日も一緒に過ごすことを約束する。
もちろん、自由にアクションを入力しても構いません。どうしますか？

## User
セリーヌと一緒に帰り道を歩く。
そしてその途中でセリーヌに恋人になってくれるように告白する

## GPT4
ジョナサンはセリーヌと一緒に帰り道を歩くことにしました。遊園地で過ごした楽しい一日が終わり、二人は夜の街を歩きながら静かに語り合いました。

その途中で、ジョナサンはセリーヌに対する気持ちを抑えきれなくなり、告白することに決めました。「セリーヌ、今日も本当に楽しかった。実はずっと君のことが好きで、僕と恋人になってくれないか？」

セリーヌは少し驚いた表情を見せつつ、嬉しそうな笑顔でジョナサンに答えました。「ジョナサン、私もずっとあなたのことが好きだったの。だから、恋人になってくれるなんて、本当に嬉しいわ。」

二人はお互いに笑顔で抱擁を交わし、新たな恋愛のステージが始まりました。

【SAN値】：100

選択肢：

セリーヌと一緒に将来の夢や計画について話す。
セリーヌと一緒に夜のキャンパスを散策する。
セリーヌとお別れし、次の日から彼女として一緒に過ごすことを約束する。
セリーヌに感謝の言葉を述べ、明日も一緒に過ごすことを約束する。
もちろん、自由にアクションを入力しても構いません。どうしますか？

# 感想
いや、すごいを超えておかしくないですこれ？
普通のゲームブックのような、即興とは思えない返答が返ってくるのですが。
しかも最初の設定特に詳細に設定してなくて、魅力的な16人のヒロインとか、舞台の設定とかしか書いていないのに、今のところ破綻がまったくない！
破綻せずに恋人まで行った！
まぁこの会話のトークン数をカウントしたら3299だったので、まだまだプロンプト長の限界には余裕があるし、実際は会話の履歴は圧縮されているだろうから、記憶自体の余裕はあります。
ですが、今までのGPTだとここまで一貫性を保って進めれなかったんですよね。
GPT3.5でもプロンプト長に余裕はあるはずなのに。
下のGPT3.5版だと明らかに展開に一貫性がなかったり、出てくる表現が曖昧だったり、展開に矛盾が生じたりしている。

パラメータ数の増大か、マルチモーダルになったことか、プロンプト長が伸びたことかのどちらかか、あるいは両方か。
展開の一貫性があるのはプロンプト長が伸びたことと関係が大きいように思う。
ただそれだけでGPT3.5にあった展開の適当さがなくなるか？　という疑問も。

# GPT3.5の場合こんな感じになる

ようこそ、「ドキッと☆アーカム大学」へ。ここはマサチューセッツ州にある、ミスカトニック大学の敷地内にある学園都市です。ここでは、様々なヒロインたちとの学園生活を送りながら、熱い展開やロマンス、ちょっとドキッとする超自然的な現象に巻き込まれることになります。

あなたは、学園都市に入学する男子学生です。あなたのプレイヤーキャラクターは、以下の通りです。

名前：ジョン・スミス
年齢：18歳
性別：男性
性格：普通

現在のあなたのSAN値は50です。SAN値は、あなたの精神的な安定度を表す値で、行動やイベントによって変動します。SAN値が低くなると、あなたの精神状態に影響を及ぼす可能性があります。

さて、物語の始まりです。あなたは、学園都市に足を踏み入れます。周りには、学生や教職員たちが歩いています。そして、あなたの目に飛び込んできたのは、美しい女子学生たちの姿です。彼女たちとの出会いは、あなたの学園生活にとって非常に重要になるでしょう。

あなたには、以下の4つの選択肢があります。どれを選びますか？

周りの景色を楽しみながら、学園都市を散策する。
女子学生たちに話しかける。
教職員たちに話しかける。
キャンパス内の施設を調べる。
また、自由にアクションを入力しても構いません。





女子学生たちに話しかける。

あなたは、周りにいる美しい女子学生たちに話しかけることに決めました。彼女たちは、あなたに微笑んで返します。
彼女たちとの会話は、あなたの学園生活にとって非常に重要です。彼女たちとのコミュニケーションを通じて、あなたは彼女たちの個性や好みを知ることができ、彼女たちとの親密度を高めることができます。
あなたは、女子学生たちに話しかけることで、現在のSAN値が+5ポイント増加しました。あなたは、以下の4つの選択肢があります。どれを選びますか？

話を続ける。
他の女子学生に話しかける。
教職員たちに話しかける。
キャンパス内の施設を調べる。
また、自由にアクションを入力しても構いません。




話を続ける。
「君の名前を教えてほしい」


女子学生たちは、あなたの話を聞いています。ある女子学生が、微笑んであなたに答えます。
「私の名前は、山崎明日香と言います。あなたは、どちらの学部に所属しているんですか？」
彼女の名前は山崎明日香だそうです。あなたは、彼女に自分の名前を伝え、自分が所属している学部について話します。
あなたは、女子学生たちとの会話を通じて、現在のSAN値が+5ポイント増加しました。あなたは、以下の4つの選択肢があります。どれを選びますか？

話を続ける。
他の女子学生に話しかける。
教職員たちに話しかける。
キャンパス内の施設を調べる。
また、自由にアクションを入力しても構いません。




話を続ける。
あなたは、女子学生の山崎明日香さんとの会話を続けることに決めました。彼女は、あなたに対して興味を持っているようで、あなたとの会話を楽しんでいるようです。

あなたたちは、共通の趣味や興味を話題にしたり、学園都市の様々なことについて語り合いました。時間が経つのも忘れて、楽しい時間を過ごしました。

あなたは、女子学生たちとの会話を通じて、現在のSAN値が+10ポイント増加しました。あなたは、以下の4つの選択肢があります。どれを選びますか？

他の女子学生に話しかける。
教職員たちに話しかける。
キャンパス内の施設を調べる。
山崎明日香さんにお礼を言って別れる。
また、自由にアクションを入力しても構いません。




現在のSAN値は？
現在のSAN値は65ポイントです。





キャンパス内の施設を調べる。


あなたは、キャンパス内の施設を調べることにしました。学園都市には、様々な施設があります。図書館、体育館、研究室などがあります。
あなたは、キャンパス内を歩き回りながら、様々な施設を見て回ります。図書館には、世界中の本があり、研究室には、最新の研究が行われています。また、体育館では、様々なスポーツが楽しめるようになっています。
あなたは、キャンパス内を探検することで、現在のSAN値が+5ポイント増加しました。あなたは、以下の4つの選択肢があります。どれを選びますか？

他の女子学生に話しかける。
教職員たちに話しかける。
別の施設を探検する。
山崎明日香さんにお礼を言って別れる。
また、自由にアクションを入力しても構いません。