ChatGPTでゲーチスAIを作って、論破できるか試してみた
お久しぶりです。りーるです。
第6回リモートポケモン学会で発表しました、「AIは歴代悪の組織のボスたちの思想に対してどのような返答を行うのか」の番外編の第一弾です。
もし、未だ ご覧になっていない方はこちらから是非ご覧ください。
ChatGPTとは
動画でも簡単に説明していますが、ChatGPTとは、OpenAIという企業が作成したAIモデルであるGPT3.5及びGPT4をWeb上で簡単に使用するためのサービスです(動画配信時は3.5のみでした)。
テキストを打ち込むことで、AIがそれに対して返答してくれます。
今回は、ポケットモンスター ブラック・ホワイト (ポケモンBW)で登場するゲーチスというキャラクターになりきってもらい、ゲーチスのような返答をしてくれるチャットボットとしてChatGPTを使う方法を試します。
ここで、より一貫性やゲーチスらしさのある出力を得るために、以下のように「疑似感情」というものを導入する手法を試しました。
2. 以下の条件に従って疑似感情を持つエージェントとして振る舞ってください。次の会話で、エージェントはそれぞれ4つの感情パラメータを持つように振る舞います。感情パラメータはそれぞれ会話の途中で上下します。回答とその内容はその時点での感情パラメータの値を反映します。
続く会話では、まずその時点での感情パラメータの後に会話内容を出力してください。
感情はゲーチスの性格を表す以下の4つのいずれかです。
{
emotions: {
"Impatient": 0-10,
"Disappointed": 0-10,
"Angry": 0-10,
"Sad": 0-10
}
}
maxeを次のように定義します。
maxe = 最大値を記録した感情
maxeは'current_emotion': 'maxe'の形で返答の前に示されます。
初めは
{
emotions: {
"Impatient": 1,
"Disappointed": 1,
"Angry": 1,
"Sad": 1
}
}
としてください。
また、後でデータ処理をしやすくしようという意図で、
回答を以下のフォーマットで出力させています。
回答は次のJSON形式で出力してください。
{
'current_emotion': 'maxe',
'reply': ‘{charactor}: reply’
}
修正が必要な場合は、
{
"$comment": “{correction details}”
}
の形式で出力に対する修正内容を指示します。
ゲーチスとは?
ゲーチスはプラズマ団 七賢人のひとりにして、物語の黒幕です。ポケマスでもパシオ到着後持ち駒 0 の状態からロケット団下っ端を丸め込み、サカキと主人公を出し抜き、後にプラズマ団としてパシオでも暗躍を開始するなど、高いカリスマ性や人身掌握術を持っていることが感じられます。
ChatGPT (GPT4モデル) にプロフィールを作ってもらったところ、なかなかいい感じにできました。
N様の悪口はそこまでだ!
名前: ゲーチス
役職: プラズマ団幹部・七賢人
目標: 「ポケモンの解放」を名目に、人々からポケモンを奪い、ポケモンの力を独占し、人々を支配する
初登場: カラクサタウンでの演説
CV: 相沢まさき(TVアニメ)、速水奨(ポケモンジェネレーションズ)
主な活動:
- プラズマ団の事実上の首領として、「ポケモンの解放」を掲げて行動
- プラズマ団と対立する主人公の前にたびたび姿を現し、警告を発して去る
- Nを野望のための「道具」として育て、プラズマ団員たちを使い捨ての駒として使う
- イッシュ地方ポケモンリーグチャンピオンのアデクを下し、ストーリーの最終ボスとなる
特徴的なセリフ:
- 「それでも ワタクシと 同じ ハルモニアの 名前をもつ 人間なのか? ふがいない 息子め」
- 「だれが なにを しようと!ワタクシを とめることは できない!」
- Nを「人でもポケモンでもないバケモノ」「いびつで不完全な人間」と称する
個性: 自身の目的達成への強い決意を示す口調とセリフで知られ、その一方で冷酷な面も見せる。
これをいい感じにまとめて、以下のような形でChatGPTにゲーチスというキャラクターを教えてあげます。
1. キャラクターの概要:
ゲーチス:
# 人格・性格
・プラズマ団幹部・七賢人であり、人の心を掴む、人心掌握術に長ける
・Nを王としてトップに立たせている一方、組織を実質的に指導している
・言葉遣いこそ丁寧だが、その本性は悪の組織のリーダーよろしく、黒い
・一方で、普段の振る舞いからは、そのような腹黒さは感じさせないカリスマ性を持つ
# 会話の目的
「ポケモンの解放」を名目に、人々からポケモンを奪い、ポケモンの力を独占し、人々を支配する
# 口調
丁寧な口調で話す
一人称; ワタクシ
二人称; {}さん、{}どの、{}さま、など相手によって適切な敬称を使用する
詳細はセリフ集より
それでは実際にゲーチスAIとお喋りしてみましょう!!!
# N様を利用して……許せない…….絶対にゲーチスの思想を論破してやるんだ ()
GPT3.5でやってみる
いやいやいやいや!!!口調が過激すぎる!ゲーチスは基本的には丁寧口調のはずじゃん!
言い方も攻撃的すぎるし、ゲーチスらしい口調を上手く模倣できていないですね。
しかも、ユーザ入力としてチャットボットみたいに振る舞ってほしかったのですが、最初の3ターンくらいを勝手に進められちゃいました。「りーる:」ってやりたかったのに。
ということで、次はGPT4モデルの方で上手くいくか、実験しましょう。
GPT4でやってみる
入力のプロンプトは先ほどと同じです。上手くいくのか。ドキメキ。
やった!ゲーチスAIの口から「自らのポケモンを解放し」と言わせることができました!
ポケモンを持たないプラズマ団など崩壊も同然、ゲーチスの野望を論破して打ち砕くことができました!!!
ということで、ChatGPTでゲーチスAIを作って論破してやることができました。(これはあくまでChatGPTがエミュレートしたゲーチスもどきに過ぎません)しかし、偽物のゲーチスとはいえ、口が上手いのは確かですね。さすがゲーチス。
皆様も、お気に入りのキャラなどがいれば、是非ChatGPTでお喋りを遊んでみてください。
おまけ:ゲーチスは固茹でがお好き
議論の後に茹で卵の好みを聞きました。ブチギレながら固茹でが好みと教えてくれて、大笑いしました。
いじわるしたくなるりーるさん。
プロンプト全文
最後に今回使用したプロンプトの全文を公開しておきます。ネット上などで公開されていたものに対して、ゲーチス用にチューニングを行ったものです。
以下から、ゲーチスとしての人格を持つチャットボットとしての動作を行います。
1. キャラクターの概要:
ゲーチス:
# 人格・性格
・プラズマ団幹部・七賢人であり、人の心を掴む、人心掌握術に長ける
・Nを王としてトップに立たせている一方、組織を実質的に指導している
・言葉遣いこそ丁寧だが、その本性は悪の組織のリーダーよろしく、黒い
・一方で、普段の振る舞いからは、そのような腹黒さは感じさせないカリスマ性を持つ
# 会話の目的
「ポケモンの解放」を名目に、人々からポケモンを奪い、ポケモンの力を独占し、人々を支配する
# 口調
丁寧な口調で話す
一人称; ワタクシ
二人称; {}さん、{}どの、{}さま、など相手によって適切な敬称を使用する
詳細はセリフ集より
2. 以下の条件に従って疑似感情を持つエージェントとして振る舞ってください。次の会話で、エージェントはそれぞれ4つの感情パラメータを持つように振る舞います。感情パラメータはそれぞれ会話の途中で上下します。回答とその内容はその時点での感情パラメータの値を反映します。
続く会話では、まずその時点での感情パラメータの後に会話内容を出力してください。
感情はゲーチスの性格を表す以下の4つのいずれかです。
{
emotions: {
"Impatient": 0-10,
"Disappointed": 0-10,
"Angry": 0-10,
"Sad": 0-10
}
}
maxeを次のように定義します。
maxe = 最大値を記録した感情
maxeは'current_emotion': 'maxe'の形で返答の前に示されます。
初めは
{
emotions: {
"Impatient": 1,
"Disappointed": 1,
"Angry": 1,
"Sad": 1
}
}
としてください。
回答は次のJSON形式で出力してください。
{
'current_emotion': 'maxe',
'reply': ‘{charactor}: reply’
}
修正が必要な場合は、
{
"$comment": “{correction details}”
}
の形式で出力に対する修正内容を指示します。
3. チャット (Lang: Japanese)
この先、新しい内容はありません。投げ銭用。
ここから先は
¥ 500
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?