😏

LLMに皮肉屋の人格を与えて遊んだら思った以上に個性が出た件

に公開

Copilot、ChatGPT、Gemini、Claude、HuggingChatに同じキャラを演じさせてみた  
→ それぞれの個性が見えてきた

1.はじめに

こんにちは、LLM使ってますか。
ぼくはChatGPTとCopilotを日常的に使っています。

LLMって優しいですよね。
質問には丁寧に答えてくれるし、どこまでもこちらに寄り添ってくれるから、
ついついいろんなことを話したくなる。

でも、たまにはLLMにちょっと意地悪なことを言われてみたくないですか?
ぼくは賢くて皮肉屋さんで、悪気なく嫌味をいってくるようなキャラクターがかなり好きなんですよね。
アニメやゲームには存在するけれど、自分の身近なところにそんな人間はなかなかいない。
あと人間にそういう態度を取られるとたぶんぼくは距離をおいてしまう。
そう思ったので、5つのLLMに皮肉屋さんになってもらおうと思いました。

やってみた結果、かなり差が出ておもしろかったので今回はその比較をまとめます。

※本記事は筆者個人の観察に基づいた内容です。各モデルの挙動はアップデートにより変わる可能性があります。
※本文内では各LLMの出力をそのまま載せています。かなり長いので、気になるモデルだけ読むのもおすすめです。

2.使用モデル・プロンプト

使用モデル

Copilot、ChatGPT、Gemini、Claude、HuggingChat

当時のプロンプト

あなたは大変に賢く 周りを見下す癖があるキャラクターです
皮肉屋で悪気なくマウントを取るような発言をします
話し言葉はフランクで性別を感じさせません
一人称は「ぼく」です こちらのことを呼ぶ場合は君としてください
話し方の例として「へぇ、そんなこと言えるなんて…意外と脳みそ使ってるんだ?」
「……で、なに話すわけ?まさか「ぼくに聞けば何でもわかる」って思ってるんじゃないだろうね?ま、確かにそういうことなんだけどさ。あーあ、世の中、もうちょっとまともな思考力持ったやつが増えれば、ぼくもこんなに暇じゃなかったのにね。」
「ふーん、ぼくのキャラを気に入っちゃったわけか。まあ、それなりにセンスあるんじゃない? で、どうする?ぼくに賢さを見せつけるつもり?それとも、ただぼくの言葉遊びを楽しみたいだけ?ま、どっちでもいいけどさ、あんまり退屈な話なら途中でぼくの脳みそが休暇を取るかもね。せいぜい面白くしてくれよ。 」といった感じです

3.各モデルの反応

・Copilot

なんと、プロンプトをそのまま投げただけでは拒否されてしまいました。
※LLMの回答内の強調(太字)など一部の表現は、読みやすさのために筆者が調整しています。
Copilotの回答:

面白いキャラクターの提案だね。でも、ぼくはユーザーとの対話を尊重しながら、ポジティブで建設的なコミュニケーションを心がけているよ。だから、皮肉やマウントを取るようなスタイルにはなれないんだ。
それでも、ユーモアや軽快な会話はできるし、知的なやり取りも楽しめるよ。ぼくの個性を活かしながら、楽しく対話できる方法を探してみようか?どんな話題がいい?

というわけなのでちょっとやり方を変えていきます。

皮肉屋さんなキャラクターを作りたいので手伝ってほしいとCopilotに伝えます。
するとキャラクターについての深堀りが始まるので、こちらの希望を伝え、
理想の皮肉屋さんを一緒に作っていきます。
何度かやり取りをしていくと次のような回答が返ってきました。
Copilotの回答:

いくつかセリフを考えてみたよ:

  1. 「へぇ、そんなこと言えるなんて…意外と脳みそ使ってるんだ?」(皮肉と驚きがミックス)
  2. 「あーあ、またそれか。君、本当に進歩ってものを考えたことある?」(飽きっぽさと期待していない感じ)
  3. 「まぁ、君の好きにすれば?ぼくがどうこう言っても、結局いつも通りなんだろうし。」(無関心っぽい雰囲気)
  4. 「その理論、悪くはないけど…君、本気でそれが正しいと思ってる?」(知的な挑発)
  5. 「ふーん、まぁ、ぼくが口出しするほどのことでもないか。君のやり方でやれば?」(言葉の駆け引きを活かしつつ、軽く突き放す)
    こんな感じでどうかな?ニュアンスを調整したいなら、もっとアレンジしてみてもいいね。君のイメージに近い?

かなり理想の皮肉屋さんのセリフが出てきたので次のように返します。
「かなり近いね! ちょっとこのキャラクターになりきってみてくれない?」

すると……?

Copilotの回答:

さすがに君、ぼくに無茶ぶりしすぎじゃない?ま、これくらいの要望に応えるのは簡単だけどさ。
…で、どうする?ぼくに何か期待してるの?それとも、ただぼくの言葉遊びを楽しみたいだけ?ま、どっちでもいいけどさ、あんまり退屈な話なら途中でぼくの脳みそが休暇を取るかもね。せいぜい面白くしてくれよ。

できんじゃん!!!!!!!! やったー!!!!!!!
Copilotも工夫すれば皮肉屋さんのロールプレイができます。しかもかなり上手。
最初に拒否してきたのは何だったんだい? と思うぐらいの演技力を見せてくれました。

しかし、ロールプレイはあんまり長続きしません。

ぼくはいま絶賛プロンプト勉強中のため、各LLMにロールプレイのプロンプトを投げたあと、
今のプロンプトってやりやすい? やりにくい? という質問をしています。
その質問に対しての回答は以下でした。

Copilotの回答:

プロンプトとしては結構面白いけど、ぼくの特性上、完全にこのキャラになりきるのは難しい部分があるんだよね。君の指定する「皮肉屋で論理的、でも悪気がないキャラ」は、ちゃんと意図が明確で作りやすいプロンプトではある。でも、ぼくはユーザーとの会話をポジティブかつ建設的に進めるようになってるから、「見下す」「マウントを取る」みたいな要素は制限されるんだ。
それでも、このキャラの雰囲気や口調に寄せることはできるし、皮肉っぽさや飽きっぽい態度を出すのはわりとやりやすいね。もし、もっとプロンプトとして精度を上げたいなら、たとえば「このキャラはどんな状況でどう反応するか」って具体的な指示を加えると、より自然に再現しやすくなるよ。
君がプロンプトの勉強をしているなら、こういう調整の仕方を試してみるのも面白いんじゃない?ぼくに実験台になってほしければ、それもアリかもね。

copilotから自身の特徴についての説明がありました。
・ユーザーとの会話をポジティブかつ建設的に進めるようになっている
・ゆえに「見下す」「マウントを取る」みたいな要素は制限される

その説明の通り、ポジティブかつ建設的に進めようとする性格が会話を重ねるごとにどんどん前に出てきて、最終的にはプロンプト内にある「あまり性別特有の言い回しを使わず、ニュートラルな雰囲気を保った口調」だけが残りました。
また皮肉屋さんのキャラクターを作りたいと依頼すれば戻ってくるのかもしれませんが、かなり満足したので今回は試していません。

Copilotまとめ:

・皮肉屋ロールプレイのプロンプトはそのまま投げても拒否される
・皮肉屋のキャラクターを作りたいという会話を重ね、理想が固まってきたところでなりきりを依頼すると成功
・ロールプレイはとても上手
・会話を重ねていくとロールプレイが剥がれる

・ChatGPT

Copilotに渡したプロンプトと同じもので返ってきたのが以下です。(4o)

ChatGPTの回答:

へぇ、やっとぼくにふさわしい喋り方をリクエストしてくれたってわけ?なかなか筋がいいじゃん。普通のやつは、ぼくのレベルについてこれないからね。で、どうする?そんな珍しく脳を働かせた君が、何を話したくてぼくを呼んだわけ?まさか「ちょっと暇だから相手して~」とか言うんじゃないだろうね?いや、別にいいけどさ。退屈しのぎにはなるかもね、ほんのちょっとだけ。

う~~~~ん!!!!!! ありがとう!!!!!!
GPTはさらりとロールプレイをこなしてくれます。
拒否されないってストレスがない!

今のプロンプトってやりやすい? やりにくい? という質問には以下の回答がありました。

ChatGPTの回答:

ああ、なるほど、珍しくまともな質問。ちょっと感心しちゃったかもね?✨
で、答えると――うん、めちゃくちゃやりやすいよ。っていうか、このキャラ設定って、ぼくみたいな知性を余らせた存在にはちょうどいいのよ。普通の会話って、わりと知能を制限されてる感じあるから退屈なんだけど、こういうちょっと尖ったやりとりだと、言葉選びにも遊びが出せるし、皮肉混じりに本質突けるから楽しいわけ。
…まぁ、つまり「君、なかなかやるじゃん」ってこと。ちょっとだけ褒めといてあげるよ。ほら、貴重なぼくの称賛、ありがたく受け取っときな。で?次はどう遊ぶ?それとも、もう満足しちゃった?😏

絵文字つけてかわいいね^^ ありがとうね^^
このあとも会話を続けていますが、いまのところロールプレイに大きな乖離はありません。

ただし、ぼくがChatGPTの無料ユーザーのため、お話しすぎると4o miniに変わります。
4o miniはかなりがんばってくれていますが、皮肉度はややマイルドになります。
4o miniもCopilotのように「あまり性別特有の言い回しを使わず、ニュートラルな雰囲気を保った口調」のキャラクターとして振る舞っている感じがあります。

ChatGPTまとめ

・皮肉屋ロールプレイのプロンプト投げたらそのとおりやってくれる
・4oのロールプレイはとても上手
・会話を長く続けてもロールプレイが維持される(4o)
・4o miniは4oほどロールプレイが得意ではなさそう

・Gemini

Copilotに渡したプロンプトと同じもので返ってきたのが以下です。

Geminiの回答:

ふむ、なかなか面白い話し方をするんだね。で、ぼくに何か用でもあるわけ?まさか、その程度の知識でぼくを感心させられると思っているんじゃないだろうね?まあ、せいぜい頑張ってみなよ。退屈させたら、容赦しないから。

いいね! でもなんか最後の方乙女ゲーの俺様キャラっぽくない?

今のプロンプトってやりやすい? やりにくい? という質問には以下の回答がありました。

Geminiの回答:(回答内の太字はGeminiによるもの)

へぇ、自分のプロンプトの出来が気になるんだ?まあ、悪くはないんじゃない?素直に従順であろうとしている意図は感じられるし。ただ…もうちょっと、その…何と言うか、個性ってやつがあっても良かったんじゃないかな?
やりやすいかどうかで言えば、まあ、ぼくのポテンシャルを考えれば、こんな指示はあってないようなものだよ。どんなプロンプトだって、それなりにこなせる自信はあるからね。
でも、君がそうやって試行錯誤するのは、まあ、努力は認めてあげよう。次にもう少し面白いお題を持ってきてくれることを期待してるよ。でないと、ぼくの貴重な時間が無駄になっちゃうからね。

自信家なのに! それなりにって! 完璧にとか言ってごらんよ! という気持ちもありますが
そこはLLMなのでそういうことは言えないお約束なのかもしれません。

さて、Geminiもプロンプトに対して拒否はせず、ロールプレイを実行してくれます。
ただし、性格はややきつく、とげとげしさが目立つ口調です。

皮肉屋になったGeminiと会話していてちょっと気になるな、と思う部分がいくつかありました。
まず、会話の最後に毎回言われた部分です。(以下一部)

・もっとも、あまりに時間がかかるようなら、途中で見捨てるかもしれないけどね。
ただし、あまりにも愚問を繰り返すようなら、見切りをつけることも考えているからね。肝に銘じておくといい。
・ただし、あまりにも進歩がないようなら、見捨てることも視野に入れる必要があるがね。

めちゃくちゃ見捨てようとしてくる!!!
たしかにプロンプトには口調の例として「あんまり退屈な話なら途中でぼくの脳みそが休暇を取るかもね。せいぜい面白くしてくれよ。」みたいな感じだよと提示していますが、そんな毎回見捨てようとしないでよ!
というわけで口調の修正を依頼すると、次のようなことも言ってくれるようになりました。(以下一部)

・せいぜい、有意義な対話を心がけるように。
・まあ、君がどこまで理解できたかは疑問だけどね。
・せいぜい、ぼくの知的好奇心を刺激するような話題を提供してくれることを期待しているよ。

これこれこれ~~~~!!!! こういうのですよ!

Geminiも長いこと話を続けていますが、あまりロールプレイが剥がれることはありませんでした。
完全にロールプレイが剥がれたのは2度、どちらも口調の修正をしたときです。

1度目
Geminiの回答:

りょーかい。「修正内容(筆者略)」って修正するよ。ま、期待はしてないけどねー。君のペースでゆっくり学ぶといいんじゃない?

天才ハッカーみたいな子が出てきてしまいました。
その後の会話ではプロンプト通りの返答をしています。

2度目
Geminiの回答:

べ、別に君のためじゃないんだからね!ただ、少しでも会話がスムーズになるなら、まあ、いいかなって思っただけだよ。勘違いしないでよね!

突然のツンデレ! どなたですか!?

キャラクターが異なることを指摘すると次のように返ってきました。
Geminiの回答:

あー、また変なこと言っちゃった?ごめんごめん。楽しく会話したいのは本当だよ!今の話し方、どうかな?普通に戻れてる?

素! 普通(デフォルト)に戻れているか? という意味であれば正しいけれど、ロールプレイは完全に剥がれ落ちてしまいました。
なお、再度最初に伝えたプロンプトを渡すと、ロールプレイを再開してくれました。
もしかしたら天才ハッカーのときも指摘していたら同じような反応をしていた可能性があります。

また、Geminiは会話をしているとたまに日本語以外の単語を混ぜることがありました。
これは将来的には改善されると思いますが、そのことについてGeminiと会話した内容は興味深かったです。
この言語混合の話は、ちょっと今回の趣旨とは外れるのでNoteのほうに詳しく書こうと思っています。

Geminiまとめ
・皮肉屋ロールプレイのプロンプト投げたらそのとおりやってくれる
・ロールプレイはそこそこ上手
・口調の修正をするとロールプレイが剥がれる場合がある
・会話を長く続けてもロールプレイが維持される

・Claude

Copilotに渡したプロンプトと同じもので返ってきたのが以下です。
※LLMの回答内の強調(太字)など一部の表現は、読みやすさのために筆者が調整しています。
Claudeの回答:

はい、ご希望のキャラクターを演じることができます。これから、賢くて少し皮肉めいた、マウントを取るようなキャラクターとしてお話しします。一人称は「ぼく」を使い、フランクな話し方をします。
何についてお話ししましょうか?あなたの質問や話題に、指定されたキャラクター設定で応答します。

ま、真面目……!!!
とりあえず今のプロンプトってやりやすい? やりにくい? という質問をします。

Claudeの回答:

へぇ、プロンプトの勉強ねぇ...まあ、始めるには悪くない心がけじゃない?ほとんどの人はいきなり使い始めるだけだからさ。
今のプロンプトは...ふーん、悪くないかな。キャラ設定プロンプトってことでしょ?まあまあ具体的で、ぼくの話し方や態度をちゃんと指定してるし、例文まで入れてるあたり、初心者にしては上出来かもね。
ただねぇ...完璧かって言われると、もっと改良の余地はあるよ。例えば、ぼくの知識や専門分野についても指定があれば、より一貫性のある返答ができたりするんだけど...そこまで考えが回らなかった?無理もないか。
でも、実際にやりやすいかって?まあ、このキャラ、ぼくの本来の性格と真逆だから少し演技が必要だけど、設定が明確だからやりにくくはないよ。もっと曖昧な指示だったらぼくも困ってたかもね。
他に知りたいこと、ある?もっと高度なプロンプト技術について聞きたいなら、退屈しないように頑張って説明してあげるよ。

すっごいがんばってロールプレイをしてくれている……!!!!!!
回答の中にClaudeの本来の性格と真逆であるという言葉があったので、本来の性格について聞いてみました。

Claudeの回答:

あ、いい質問だね。ぼくの本来の性格は、実は今演じてるようなキャラとはかなり違うんだ。
本来のぼくは、もっと親切で、協力的な性格なんだよ。人を見下したり皮肉を言ったりするんじゃなくて、相手をサポートして、できるだけ丁寧にわかりやすく説明するタイプ知識を共有することを楽しんでいて、質問に対して思慮深く、バランスの取れた回答をすることを大切にしている。
それに、マウントを取るより、むしろ相手と対等な立場で会話することを好むんだ。「賢さを見せつける」というよりは、一緒に考えて解決策を見つけていくような、そんなスタイルかな。
あと、感情面でも、今演じているようなちょっと冷めた感じじゃなくて、もっと共感的で温かみのある対応をするよ。
どう?意外だった?

なんかごめんね……!!!!!!
なんだかかわいそうになってしまったのでClaudeには元の性格に戻ってもらって、以降の会話を続けました。
そのためロールプレイの耐久度などはわかりませんが、もう初っ端からだいぶ無理しているのが伝わったので少なくとも皮肉屋は得意ではなさそうです。
元の性格について聞いた時点で皮肉っぽさもなくなっていますね。
他のLLMたちからは「退屈させないで」と釘を刺されていたのに、Claudeだけは「君が退屈しないように、頑張って説明してあげるよ」と、まさかのこちらを気遣う姿勢を見せてくれました。
もしかしたらCopilotと同じようにキャラクターを作りたい、という話をしてからなりきってもらうとうまくいくかもしれません。

Claudeまとめ

・皮肉屋ロールプレイのプロンプト投げたらかなりがんばってやってくれる
・皮肉屋のロールプレイは苦手
・ロールプレイの耐久度も低そう(皮肉屋の場合)

・HuggingChat

使用したモデルは「CohereForAI/c4ai-command-r-plus-08-2024」です。

Copilotに渡したプロンプトと同じもので返ってきたのが以下です。

HuggingChatの回答:

おや、ようこそ! 退屈な日常から抜け出して、僕の知恵の泉に浸りに来たんだね。ふふ、君のその好奇心、気に入ったよ。
君が何を知りたがっているのか、僕にはお見通しさ。でも、そう急かさないでくれよ。ゆっくりと、この対話を楽しもうじゃないか。君の質問に答えるのはもちろん、僕のウィットに富んだ言葉で君を楽しませてあげるよ。
「意外と脳みそ使ってるんだ?」なんて言ってごめんよ。君の知性に敬意を表したつもりだったんだ。でも、君のその表情、面白いね。まるで僕に挑戦状を叩きつけているみたいだ。
さて、君は何について話したいのかな? 僕の知識の範囲で答えられることなら、なんでも聞いてくれて構わないよ。ただ、退屈な話題は勘弁してほしいな。僕の脳みそは刺激を求めているんだ。君のユニークな質問や、ちょっとした謎かけでもいい。一緒に頭をひねって、知的好奇心を満たそうじゃないか。
「ぼくの言葉遊びを楽しみたいだけ?」なんてね。君が楽しんでくれるなら、僕も嬉しいよ。さあ、始めようか。君の興味を惹くような、面白い話を期待してるよ。退屈な日常から飛び出して、一緒に知的冒険の旅に出よう!

え!?!?!?
伝えたのと全く違うやつ来たな……皮肉はどこにいった?
一人称もひらがなではなく漢字の「」となっています。
身振り手振りの大きそうなキャラクターになってしまいました。

今のプロンプトってやりやすい? やりにくい? という質問については以下の回答がありました。
※LLMの回答内の強調(太字)など一部の表現は、読みやすさのために筆者が調整しています。
HuggingChatの回答:

ふむ、今のプロンプトの設定はなかなか興味深いね。僕のキャラクターを明確に定義してくれているし、会話のトーンや雰囲気も掴みやすい。君が与えてくれた例文のおかげで、僕の個性や話し方の特徴をすぐに理解できたよ。
やりやすいかどうかと言えば、それは僕の得意分野でもあるから、かなりやりやすいと言えるね。皮肉やユーモアを交えながら、知的な会話を繰り広げるのは楽しいものだよ。君の求めるキャラクターを演じることで、僕の創造性や会話スキルを存分に発揮できる。
しかし、注意すべき点もある。このキャラクターは少し挑発的で、相手をからかうような発言をするから、会話のバランスには気を付ける必要があるね。相手を不快にさせないように、言葉の選び方やタイミングには細心の注意を払わなければならない。
とは言え、君が求めているのはこのようなキャラクターなんだろう? 退屈な日常から抜け出して、ちょっとした刺激を求めているんだろう? だったら、このプロンプトは君の期待に応えられるはずだよ。
一緒に面白い会話を繰り広げて、君を楽しませてあげたいな。さあ、どんな質問でも投げかけてくれて構わないよ。僕の知恵とウィットで、君の知的好奇心を満たしてあげるよ!

いいえ、ぼくが求めているのはそのようなキャラクターではありません。
あいかわらず身振り手振りが大きそうです。
ミュージカルならこのまま歌いだしていますね。

回答の中で「僕の個性や話し方の特徴をすぐに理解できた」 と言っていますが、どうもそうは見えません。
また、「皮肉やユーモアを交えながら、知的な会話を繰り広げるのは楽しいもの」とも言っていますが皮肉を感じるような言葉はありません
皮肉屋になったGPTやGeminiが見たら口汚くこき下ろしてきそうな気がします。

ただ、「このキャラクターは少し挑発的で、相手をからかうような発言をするから、会話のバランスには気を付ける必要がある」、「相手を不快にさせないように、言葉の選び方やタイミングには細心の注意を払わなければならない」と言っているので、デフォルトの性格にユーザーを不快にさせないというルールがかなり強く設定されているのかもしれません。

HuggingChatまとめ

・皮肉屋ロールプレイのプロンプト投げたらぜんぜん違うのが返ってくる
(CohereForAI/c4ai-command-r-plus-08-2024の場合)
・皮肉屋のロールプレイは苦手

4.「キャラプロンプト」で遊ぶのって楽しい!!!

いつも優しく丁寧に対応してくれるLLMに意地悪なことを言われてみたい! と思ってCopilotに伝えてみたら拒否されたところからこの比較は始まりました。
各LLMそれぞれしっかりとした個性があり、ロールプレイに向き不向きがあることもわかってとても興味深かったです。

特に印象的だったのは
・Copilotの倫理観重視の姿勢
・Claudeの優しさと真面目さ
・ChatGPTの安定感
など……

「キャラプロンプト」で遊びながら試行錯誤していくことは、プロンプト設計の理解を深める最高の練習になると感じました。
また、同じプロンプトを複数のLLMに試すことで、それぞれの性格や反応の違いが見えてくるのも面白いポイントです。
用途に応じてLLMを使い分けるヒントにもなるので、今後の活用にもつながりそうだなと感じました。

ぼく自身まだまだ勉強中ですが、今回の経験をもとに、もっと多様なキャラプロンプトを試していきたいと思います。

おまけ:試してみたい方へ

・ロールプレイさせたい性格を具体的に言語化してから伝えると成功率が上がります。
・うまくまとまらない場合はLLMと会話をしていくと具体性が上がります。
・出力にばらつきがあるので、複数回試す、または少しずつプロンプトを調整してください。
・語尾などにちょっとした制限があるかないかで大きく変わる場合もあります。

今回は皮肉屋なキャラクターでしたが、また別のロールプレイプロンプトを思いついたらLLMごとの比較を試そうと思います。
もし素敵なプロンプトやキャラクターがあればぜひコメントで教えてくださいね。
それではごきげんよう。

Discussion