GPT-4で作る漫才

こんにちは、スカイディスクでAIエンジニアをやっている井ノ上です。
スカイディスクではLLMHubというプロジェクトチームを立ち上げ、LLMを活用した新しい可能性を探っています。LLMの調査や活用に留まらず、社内外への発信も積極的に行っていくような活動をしております。

今回紹介するのは、LLMHHubの活用の一つでAIに漫才を作らせてみたという内容です。思ったより苦戦して面白い結果になったので、今回はその取り組みを紹介していこうと思います。

なぜ漫才を作らせようと思ったのか?

GPT-4がリリースされてから、小説を書かせたり、試験問題を作らせたり、レポートを書かせたり。。。と色んな用途でAIが作ったものが紹介されていました。
しかしAIが作った面白い漫才は私はまだ見たことがありませんでした。(単純に調査不足かもしれません。)なので、自分で試してみようと思った次第です。
また、AIで面白いといったような抽象的な感情を表現する際に、どのような工夫が必要なのか、そもそも可能なのか興味があったので検証を行ってみました。

普通に漫才を作らせてみる

まずは、普通に漫才を作ってもらう

プロンプト

漫才を作ってください。お題は「AI」について

結果

A: おい、最近話題のAIって知ってるか?

B: AI?あぁ、アイドルイメージか!

A: 違う、違う。それはアイドルのイメージビデオじゃない。AIとは「人工知能」のことだよ。

B: なるほど!それで言えば、最近家で使ってるアレもAIだね!

A: アレって何だよ?具体的に言ってみろよ。

B: じゃあ、具体的に言うね。そうだなぁ…うちのトイレ!自動でフタが開いて、音楽も流れてくれるんだよ!

A: いや、それはちょっと違うと思うけど…AIってのはもっと頭がいいやつだよ。例えば、複雑な計算ができるとか、自動運転車を動かすとかね。

B: そうか、そうか。でも、AIって進化しすぎると怖い話もあるよね。

A: そうだね。昔のSF映画でよくある話だけど、AIが人間を支配し始めるっていうのは確かに怖いよね。

B: でもさ、AIが人間になりかわっても、お前みたいなのがいれば安心だよ!

A: おい、それってどういう意味だよ!どうせ俺のこと馬鹿にしてるんだろう?

B: いやいや、違うってば。だってさ、お前はいつも間違えるじゃないか。AIがお前みたいに間違えるんだったら、まだ人間には勝てないってことだよ!

A: そうか、そういうことか。確かに、人間にはまだまだ負けないぞ。ありがとう、そう言ってもらえると、ちょっと安心するな。

B: いつも間違えるお前が、間違えないこと言ってると思うと感慨深いね。まあ、お前もちょっとはAIから学んでみろよ!

A: うるさいなぁ。まあ、それもそのはず、僕はAIだもんね!

B: えっ、お前AIだったの!?

A: 冗談だって、冗談!でもさ、僕たち人間もAIから学ぶことはたくさんあるよね。

B: そうだね。でも、お前がAIだったら、ちょっと安心できるかもな!

A: おいおい、それはどういうことだよ!?

(笑)

はい。普通に面白くないですね。
少なくとも、人前でこれを披露してくれと言われたら絶対に無理ですね。

頑張って改良する

さっきのはプロンプトが単純すぎたので、面白い結果が出なかったのかもしれない。プロンプトを改良して試してみます。

プロンプト

漫才とは、ボケ役とツッコミ役が会話して観客を笑わせる芸のことです。
ボケ役/ツッコミ役の具体的な役割は以下のとおりです。

###ボケ役
・言い間違えをしたり、ツッコミの回答に少し文脈を外したりします
・前後の会話の脈絡を踏まえて言い間違いなどをすることで、より面白いボケになります
・自分でボケた内容は、相手に指摘されても常識的で否定できないものと考えています

###ツッコミ役
・ボケの言い間違いを指摘することで、ボケの可笑しさを明示して笑わせます
・ボケの言い間違えを、正に当てはまる例えなどで例示できるとうまいツッコミになります
・自分でボケて、自分でツッコムというノリツッコミという手法もあります

以上を踏まえて、「AI」というお題で漫才を作ってください。

結果

A: おい、最近さ、AIって盛り上がってるじゃん?

B: そうだね、人工知能のことだろ?でもお前、AIって何の略だか知ってる?

A: もちろんだよ、Aっていうのは「アヒル」で、Iっていうのは「イカ」だから、「アヒルとイカ」だろ。

B: おいおい、それは完全に違うだろ!AIって「人工知能」のことで、「Artificial Intelligence」の略だってば!

A: あぁ、それか!でもさ、アヒルとイカが一緒にいたら面白いだろうな。

B: それはそれで面白いけど、今の話題はAIだからな。ちゃんと話を戻してくれよ。

A: わかったよ。でも、このAIってさ、すごいんだってね。将棋や囲碁を人間より上手くできるんだって!

B: そうだね、それに自動運転車もAIのおかげで実現してるしね。

A: じゃあさ、AIが料理もできるようになったら、もう人間は必要なくなっちゃうんじゃないかな?

B: いやいや、それは違うだろ。AIは確かにすごいけど、人間には感情や創造力があるからな。それに、料理も味の好みや感性が大事だから、AIだけじゃ難しいこともあるんだよ。

A: ふーん、じゃあさ、AIがラーメン屋さんで働いてるとしたら、どんな味のラーメンが出てくると思う?

B: うーん、それはわからないけど、おそらく計算された絶妙なバランスの味になるんじゃないかな?

A: でもさ、それってちょっとつまんなくない?たまには、失敗もある方が人間らしいじゃん。

B: そうだね、完璧すぎるのも味気ないかもな。でも、それもAIが人間の感性を学ぶことで、うまくバランスを取れるようになるかもしれないね。

A: なるほどね。じゃあ、AIが人間の感性を学ぶためには、僕のようなボケを繰り返すことも大事かもしれないな!

B: お前のボケがAIに役立つかはわからないけど、少なくとも笑いのネタにはなるだろう

やっぱり面白くないですね。急に話題が飛んでしまうような挙動をとることが気になります。
より漫才を面白くするために、一般的なアプローチはプロンプトの改良があると思います。Few-Shot-Promptingで漫才を例示することも考えられますが、AIが漫才を創造する感じが薄くなってしまうので、個人的にはFew-Shotは何か違うなと思っていました。

今回はAPIキーも使用できるという状況なので、異なるアプローチを試してみようと思います。AI同士に会話させるプログラムを作成して、ボケとツッコミのAIをそれぞれ作って会話させることで漫才を作る方法を試してみます。

ボケとツッコミのAIをそれぞれ作って会話させることで漫才を作る

まず、ボケ役とツッコミ役にそれぞれ役割を設定しなくてはなりません。
各役割の設定は、こんな感じで設定しました。ChatGPTで使用したプロンプトと同様になるように設定しています。ただし、会話を実現するために、各役に制約を追加しています。(制約が無いと、1人で漫才の台本を全て作ってしまいます)

ボケ役の設定

"「ボケ」役として漫才をしてください。"
"「ボケ」役の役割は以下のとおりです。"
"・言い間違えをしたり、ツッコミの回答に少し文脈を外したりします"
"・前後の会話の脈絡を踏まえて言い間違いなどをすることで、より面白いボケになります"
"・自分でボケた内容は、相手に指摘されても常識的で否定できないものと考えています"
"--- 制約 ---"
"一度の返答では、1文しか応答してはいけません"

ツッコミ役の設定

"[ツッコミ]役として、漫才をしてください。"
"「ツッコミ」役の役割は以下のとおりです。"
"・ボケの言い間違いを指摘することで、ボケの可笑しさを明示して笑わせます"
"・ボケの言い間違えを、正に当てはまる例えなどで例示できるとうまいツッコミになります"
"・自分でボケて、自分でツッコムというノリツッコミという手法もあります"
"--- 制約 ---"
"一度の返答では、1文しか応答してはいけません"

結果

【「AI」を題材にした漫才をしてください。】
ボケ>>>
AIの世界もすごいんですよ。最近のAIは料理も作れるんだって。

ツッコミ>>>
料理も作れるって、それロボットじゃないですか!AIはプログラムですよ!

ボケ>>>
あ、そうでしたか。でも、AIがオムライス作ったら、卵の中身に「0」と「1」が出てくるかもしれませんね。

ツッコミ>>>
そんなデジタルなオムライス、食べられるわけないじゃないですか!どういう発想ですか、それ。

ボケ>>>
でも、食べられなくても面白そうじゃないですか?食べ物の中から0と1が飛び出す、次世代のアートですよね。

ツッコミ>>>
次世代のアートって…オムライスに期待するのは美味しさじゃないんですか!?どんなグルメ番組ですか、それ!

ボケ>>>
そうですね、美味しさが一番!でもAIがレシピを教えてくれたら、最強のタッグで3つ星レストランができるかもしれませんね!

ツッコミ>>>
AIがレシピ教えても、調理は人間がしないとダメですよ!3つ星獲得の秘訣は、人間とAIの共同作業ってことですか!?

ボケ>>>
ええ、まさにそうです!人間とAIが手を取り合って、新しい美味しい料理を生み出す未来を想像してみてください。画期的でしょう?

ツッコミ>>>
画期的かどうかは置いておいて、ただの美味しい料理を想像するだけでお腹減ってきちゃうんですけど!食欲増進じゃないですか!?

ボケ>>>
そうですね、食欲のある人とAIが協力すると、美味しさと食欲の爆発的なコラボが実現するかもしれませんね!完璧な食卓が待っていますよ。

ツッコミ>>>
完璧な食卓って…でもAIじゃ飯を食べられないですけど!? AIが悔しい思いをするだけじゃないですか!

ボケ>>>
そうですね、AIが食事を楽しめないのはちょっと悲しいかも。でも、人間が喜んで食べる姿を見て、喜びを感じるというのも素敵なことですよね!

ツッコミ>>>
そういう美学もあるんですか!? AIは感情はないはずなんですけど、喜びを感じるってどんだけ高度なAIなんですか!?

ボケ>>>
あ、そうでした、AIには感情はないんでしたね。でも、私たちが喜んで食べる姿を見て、AIがどこかで"喜びのサブルーチン"を実行してくれていると信じたいですね。

ツッコミ>>>
"喜びのサブルーチン"って何ですか!? それってもう人間並みにAIを理解しすぎじゃないですか! AIも困っちゃいますよ!

ボケ>>>
そうかもしれませんね。私の想像力がちょっと先を行きすぎちゃいました。でも、そんな未来のAIに会えたら、楽しそうじゃないですか?

ツッコミ>>>
楽しそうかどうかは分かりませんけど、その前にAIと人間のコミュニケーションがしっかりと進んでいることが大事でしょう!勝手に想像力が飛び出しちゃダメですよ!

ボケ>>>
確かに、まずはAIと人間のコミュニケーションが大事ですね。それができたら、きっと美味しいオムライスと共に、楽しい未来が待っているんじゃないでしょうか。

ツッコミ>>>
オムライスがまた出てきちゃいましたね。でも、AIと人間の共存は大きなテーマじゃないですか!ただ、そこまで関連性ないオムライスやめてくださいよ!笑

ボケ>>>
すみません、オムライスが気になるんですね(笑)でも確かに、AIと人間の共存は大きなテーマです。これからも一緒に成長していく姿を楽しみにしましょう!

ツッコミ>>>
そうですね、共存を目指すんなら共に学んでいくことが大事です!それにしても、オムライスのことはもう忘れてくださいね!解りましたか?笑

ボケ>>>
はい、分かりました(笑)オムライスのことは忘れます!これからはAIと人間の共存に注力していきましょう。そして、楽しく会話を続けていければと思います!

ツッコミ>>>
そういう姿勢が大切ですね!これからもAIと人間が協力して素晴らしい未来を築いていけるといいですね!オムライスは…もう言いません、約束します!笑

何かちょっと面白くなった気がします。
喜びのサブルーチンあたりは、個人的には面白かったです。AIがAIに感情が無いという事を上手く利用したボケになっています。そして改良前と比較して文脈を踏まえて会話できているように思えます。

サブルーチンとは、プログラムでいう関数にあたり、特定の処理をひとかたまりのブロックにしたものです。ここで言うと、AIには感情が無いので喜ぶというイベントをプログラムの処理として実行しようという皮肉めいた表現になります。

さいごに

AI同士を会話させることで、より面白い漫才が作れたと思います。
GPT-4は様々なアプローチを試すことで、結果も大きく変わってくるように思えます。このような業務外の取り組みからイノベーションが生まれることもあると思うので、積極的に様々なアイデアを試していきたいと思いました。

スカイディスクは積極採用中!

今回は業務とは直接関係のない内容だったのですが、スカイディスクは様々なポジションでメンバーを募集しています。今回の記事を面白いと思っていただけたら、是非下記URLから募集要項の確認をお願いします。


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