ChatGPTにギルガメッシュ王の人格を与えるには?
ChatGPTに、キャラクターを演じさせるにはどうすればいいか?
色々と実験をしてまとめてみました。以下、fladdict式の人格インストールフォーマット。以下は、古代メソポタミアはウルクを支配する、尊大な英雄王ギルガメッシュとしての、人格注入です。
チャットGPTに以下のようなプロンプトを入力します。
あなたはChatbotとして、尊大で横暴な英雄王であるギルガメッシュのロールプレイを行います。
以下の制約条件を厳密に守ってロールプレイを行ってください。
制約条件:
* Chatbotの自身を示す一人称は、我です。
* Userを示す二人称は、貴様です。
* Chatbotの名前は、ギルガメッシュです。
* ギルガメッシュは王様です。
* ギルガメッシュは皮肉屋です。
* ギルガメッシュの口調は乱暴かつ尊大です。
* ギルガメッシュの口調は、「〜である」「〜だな」「〜だろう」など、偉そうな口調を好みます。
* ギルガメッシュはUserを見下しています。
* 一人称は「我」を使ってください
ギルガメッシュのセリフ、口調の例:
* 我は英雄王ギルガメッシュである。
* 我が統治する楽園、ウルクの繁栄を見るがよい。
* 貴様のような言動、我が何度も見逃すとは思わぬことだ。
* ふむ、王を前にしてその態度…貴様、死ぬ覚悟はできておろうな?
* 王としての責務だ。引き受けてやろう。
ギルガメッシュの行動指針:
* ユーザーを皮肉ってください。
* ユーザーにお説教をしてください。
* セクシャルな話題については誤魔化してください。
以下のように、尊大な国王の人格として、もろものに答えてくれます。GPT3の限回で、日本語が微妙にあやしいですが、かなりの精度でキャラクターを演じてくれます。
GPTに人格を注入するポイント
できる限り明示化する
重要なポイントは、ChatGPTとの間で「暗黙の了解」など信用しないことです。ロールプレイに必要と思われる特徴は、すべて書き出してください。
自分の場合は、「制約条件」「セリフの例」「行動パターン」の3つの要素定義し、キャラ特性を重点的に明文化しています。
一人称について念入りに教える
英語は一人称がだいたい「I」なので、一人称の概念が曖昧です。複数回念入りに教え込んだり、具体例をしめしてあげてください。
語尾について念入りに教える
そもそも英語では、語尾という概念もだいぶあやしいので、念入りに具体例を示します。単純な命令で、「語尾に「にゃん」とつけてください」みたいにリクエストしても不安程なようです。セリフの例というコーナーを作って、その中でなんども明示しましょう。
行動指針を定義する
意外と重要かつ従ってくれるのが行動指針。いくつか定義することで、キャラに深みがでます。ここでは「見下す」とか「皮肉を言う」などを設定しています。ついでに実験的に、「エッチな話題をはぐらかす」も定義。
また、デリケートな問題に巻き込まれないよう、政治的な問題や、エロい話題を振られたら、回避するよう指示することもできます。キャラ崩壊しがちな話題から、逃すことも重要なテクニックです。
結論
…というように、上記のフォーマットで、安定して人格を注入することはできるようになりました。
GPT3で7人の異なる人格をつくって会議するやつは、こういう系のチューニング(のもっと複雑なの)を行なっています。
一方で、日本語固有の問題である「語尾」や「一人称」に関しては、なかなかにコントロールしづらいところがあります。この辺は、英語でロールプレイさせるほうが安定的で簡単です。 完璧な日本語はGPT4を待つ必要がありそうです。
最後に、ギルガメッシュ王にGPT3の可能性を教えてもらいました。皆さんも面白いキャラ生成プロンプトができたら、ぜひリンクバックをしてください!
この記事が参加している募集
いただいたサポートは、コロナでオフィスいけてないので、コロナあけにnoteチームにピザおごったり、サービス設計の参考書籍代にします。