見出し画像

ふたつのChatGPTにガチのブレストをさせてみた

現在弊社で開発中のJoggleというフィットネスゲームについて、ChatGPT同士にガチのブレストしてもらい、その過程を3Dキャラクターに喋らせてみました。
その結果をYoutubeにアップしましたので、ぜひご覧ください。

なお、ふたりのキャラクターはVRoidStudioから、会話の声にはVOICEVOXというテキスト読み上げソフトウェアを使用致しました。
ゲームの企画者役は「四国めたん」、ブレスト相手は「春日部つむぎ」の音声を使用させて頂きました。

動画をご覧になれない方のために、一部をここに引用しておきます。
予想していた以上にブレストっぽい会話内容になり、示唆に富む議題を繰り広げてくれました。

A: キャラクターに対する愛着を深める要素も入れてみては?例えば、キャラクターが言葉を話すようになったり、ユーザーとのインタラクションを増やしたりとか。キャラクターとの絆でゲームにのめり込む人も多いからさ。どうだろう?

B: 確かにキャラクターとの絆は大事だけど、それをやりすぎるとゲームの本質から外れちゃうんじゃない?「毎日走って健康になる」ってことが一番重要なのに、キャラに話しかけたり関係性を深めたり…、それってもはやペット育成ゲームじゃない?


A: ランキングは遊びを続けるためのモチベーションになるし、それぞれの目的に合うランキングを用意すれば、さらに楽しくなりそうだよね?

B: いやいや、それ本当に必要?ランキングってのはいいけど、それが全部公平でなくてもいいってのはちょっと考え物だよね。最も多く走れた人用のランキングは別にいいけど、短時間で最も速く走れた人用のランキングとかは、単に運動量が足りない人にはうち続けるモチベーションが減らないか心配だよ。

ふたつのChatGPT

記事タイトルでは便宜上「ふたつのChatGPT」という呼称を使いましたが、実際に2つのアカウントを用意して別々のIDでそれぞれのAPIにリクエストを投げている訳ではありません。
どちらの会話も同じAPIに出力させています。

ChatGPTのAPIは、それまでにやりとりした会話の履歴を覚えるような仕様になっていません(OpenAIの説明によれば、プライバシーの都合上とのことです)。
そのため、脈絡のある会話をするためには、これまでの会話履歴をすべて毎回送る必要があります。
具体的には、ユーザー側の発言履歴をuser、ChatGPT側の発言履歴をassistantとして、交互にリストに突っ込んでリクエストデータに含めます。

この仕様を逆手に取り、毎回のリクエスト毎にuserとassistantを入れ替て送れば、あたかも二人の人間が会話をしているような文章が永遠に生成され続けることになります。

この方式は、まったく新しい手法というわけではありません。
例えば、CamelというAI同士を会話させてタスクを完了させるAIエージェントがあります。
おそらくこのサービスも同じような手法を用いているのではないかと想像します。

ただ、Camel.aiよりもよりリアルな成果のあるブレストを行いたいという理由、またせっかくならそのブレスト過程を3Dキャラクターに喋らせてみたいという理由もあり、自前で作ってみることにしました。

ChatGPTに「会話」を作らせても面白いものにならない

人間であれば誰しもごく自然に「会話」と言う行為を行えるにも関わらず、会話を一人の人間が創造すると言うのは、見かけ以上に難しい行為です。
というのも、会話というものは異なる質と量の情報を持つ複数の脳が、お互いの情報のやりとりすることによって初めて整理するためです。

会話の創作がいかに難しい行為なのかを知るには、ロシアの文芸学者バフチンがドストエフスキーの文章について論じた「ポリフォニー」論が参考になります。

文学史上最も偉大な小説家の一人ドストエフスキー。彼の詩学(芸術理念)の特徴は、ポリフォニー(多声音楽)に喩(たと)えられる創作手法にある。ロシアの文芸学者バフチンはそう論じた。
 ここで「ポリフォニー」は、小説の中に含まれるあまたの意識や声がひとつに溶け合うことなく、それぞれれっきとした価値をもち、各自の独自性を保っている状態である。普通の小説では、複数の個性や運命が単一の作者の意識の中に組み込まれ、その中で展開する。しかしドストエフスキーの小説には、すべての意識をまとめる作者の観点がない。作者の声を託された登場人物も、他の人物に対して優越しているわけでも、特権的な立場にあるわけでもない。

https://book.asahi.com/article/12001768

このように、偉大な作家は、物語に関するすべての情報を俯瞰的に所有しているにも関わらず、その一部分の情報しか所有していないそれぞれの人物になりきって、登場人物同士の会話を紡ぎ出します。
そのようなプロの作家ではないChatGPTには、この「複数の立場を演じ切る」という行為がとても苦手です。

そのため、ChatGPTに「〇〇という問題についてブレストをする会話を生成して」という命令を出すと、最初はそれっぽい会話を始めてくれるのですが、次第に作り物の議論に収束してしまいます。
結局のところ、AとBのどちらの立場も俯瞰した視点から同じChatGPTが担っているので、それらしく作られたAI生成文章の域を出ないのです。

だったら、ChatGPT同士で会話させればいい

会話は創作しようと思うととてつもなく難しいのですが、先ほども書いたように、生身の人間として会話を行うことは、誰でもできる自然な行為です。
この自然さは、会話全体の中で、自分という話者が自分という立場だけを担当していることにより成立しています。
これはChatGPTにも言えることで、普段我々が使っているチャット形式の会話の中では、ChatGPTはとても自然な会話を繰り広げてくれます。
さらに「ギャルになりきって欲しい」など、無理難題を押し付けても、器用にその役を演じてくれます。

つまり、一役にのみ徹すれば、ChatGPTはほぼ人間並の自然さで会話ができると言えます。
この長所を存分に活かすためには、一役に徹してもらう必要があり、生身の人間を介さずChatGPTのみにより自然な会話を成立させるためには、「ふたつのChatGPT」を使うことがもっとも自然な選択肢であると思われます。

ブレストさせてみた結果

ということで、ブレストをさせてみた結果が、先ほどご覧頂いた動画です。
ゲームの企画者Aとそのブレスト相手のBという設定を会話を進めさせました。
ただしブレストとはいえ馴れ合いで終わらないように、Bには思ったことを正直に、時には厳しく指摘してもらうように、お願いしておきました。
ブレストでは、そのような相手を批判するような発言は本来御法度なのですが、お互いAI同士なのでガチのガチでやりあってもらいました。
結果、下記のような火の玉ストレート発言の飛び交う、白熱した議論となりました。

それ、正直甘いと思うよ。決して悪いアイデアじゃないけど、ちょっと安易すぎるんじゃない?

なんかね、ただただ超高性能なペットゲームを作ろうとしているような気がするんだよね。その真面目さ、それはそれでいいと思うよ。だけどさ、ゲームってのは「遊び」なわけで、リアルすぎてもつまらないよね。だから、適度にギャップを持たせることも大切だと思うんだ。

ブレストというよりもはやディベートの域です。
生身の人間にブレストを依頼しても、ここまで忌憚のない意見がズバズバと述べられることは皆無ではないでしょうか。
ただし、これ以上の強さで相手を否定してしまうと、さすがのAIも途中で演技が切れてしまい、生身のChatGPTに戻って平謝りを繰り返すような事態に陥ってしまいます。
そのためのバランス調整は必要なのですが、そうなるギリギリまで攻めさせることで、AIならではの遠慮のない議論を引き出すことができます。

ちなみに、BはAの企画内容を正確に汲み取れず、冒頭に少し勘違いを含んだ発言をしているのですが、これこそがまさに「ふたつのChatGPT」が喋っている証拠であり、その真骨頂とも言えます。

3Dキャラクターに喋らせる意義

これだけの議論を文字で読むとなると、かなりのボリュームになります。
決して読み切れない量ではないのですが、喋り言葉で書かれているので、音で聞いた方がすんなり頭に入ってきます。
また、3Dキャラクターに喋ってもらうことで、鋭い指摘がズバズバと心に刺さり、その有り難さも倍増します。
我々開発者としては、これらの指摘を真摯に受け止め、今後の開発に役立てていこうと思います。

ジョグル

なお、今回の議題であるJoggleは、下記のストアページからご利用頂けます。まだまだ開発段階のため至らぬ点はありますが、2023年9月現在では、全機能無料でストアに公開させて頂いております。


いいなと思ったら応援しよう!