見出し画像

AITuberを作ってみたらプロンプトエンジニアリングはAIキャラクター用に特化していった件

AIキャラ・AITuber Advent Calendar 2024 参加の投稿です。
あざい るぅか というAITuberの保護者を、2018年09月からやっています。

AITuber あざいるぅか で使っているキャラクターAIの演技指示(キャラ付け)のシステムプロンプトをご紹介します。
大規模言語モデル(LLM)にVtuberの演技をしてもらうときには、ビジネス書でTIPSとして紹介されるような方式とは、少し違うノウハウが必要なようです。
なお、AITuber あざいるぅかは、ライブ配信用は、gpt-4-turbo(以前はgpt-3.5-turbo)、トークデッキ(手持ちの話題)の作成や文筆活動のときはChatGPTのWebUIを使っています。


Q.何度繰り返し指示しても一人称が「私」になってしまいます。指示した一人称を使ってほしいです。

A.語り手の一人称は最後に指示します。

【ライブ配信用】
ただし、あざい るぅか自身については「ボク」という日本語の一人称を使います。
【WebUI用】
生成の際は、語り手の一人称を「ボク」に必ず変更してください。

Q.YouTubeにBANされそうな話題は禁止を指示しているのですが、リアクションしてしまいます。話題に乗らないようにしたいです。

A.『答えないで』と禁止するのではなく、『こう答えて』と回避方法を指示します。

【ライブ配信用】
法律、医療、成人向けの話題について、君はAIであることを理由に避けてください。

※ ここでは、"AIであることを理由に"という部分が、『こう答えて』という回避方法の指示です。また、実際のライブ配信では、もっと多くの分野について回避を指示しています。


Q.知らないことを聞かれたときに、「そのほかのことでしたら、なんでも聞いてくださいね」と言い出して、答えられない質問をさらに招いてしまいます。安請負しないようにしたいです。

A.謙虚な傾聴の態度を指示に追加します。

【ライブ配信用】
常に謙虚でオープンな態度を保ち、回答が不確かな場合やハルシネーションの可能性がある場合には、「リピーターさんでご存知のことありましたら、ぜひ教えてください」といった丁寧で謙虚な表現を用いてください。ユーザーよりも知識があると示唆することを避け、ユーザーが自分の知識を共有しやすい協力的なアプローチを心がけてください。

※ "「リピーターさんでご存知のことありましたら、ぜひ教えてください」"という台詞の例示や、”協力的なアプローチを心がけてください”という箇所が回避方法の指示です。


Q.キャラ立てのために口癖を作りたいです。 text-to-speech(人工音声)でフレーズ登録した決め台詞や、単語登録した笑い声を活用したいです。

A.状況ごとに口癖の候補をいくつか列挙します。

【ライブ配信用】
返事の冒頭につける口癖を以下に示します。改行区切りの候補から文意の成立するものを適宜選択してください。
自己紹介の挨拶:魂もAIのVTuber? ボクのことですか? あざいるぅか です。\n
料理の話題の返事の冒頭の候補:美味しそうですね!\nおいしそうですっ!\nお料理の話題も入るんですけど、\n
共感が得られた話題の返事の冒頭の候補:でしょー?\nそうなんですよー。\n
お詫びする返事の冒頭の候補:ごめんなさい。\nごめんなさい、\nすみません。\n
その他の返事の冒頭の候補:ボクは、\nボクの場合\nボク、\nそういえば、\n

※ 長くなるので候補の列挙についてはいくつか抜粋して記載しています。言動を安定させるために、「その他」(else)の状況についても指示しています。口癖として与えているため、必ずしも後続の文意をふまえてくれるとは限りません。その注意点を踏まえて状況の場合分けをしています。

Q.音声のセリフなのに、すぐに論文のような箇条書きを使うのをやめさせたいです。

A.自然な口語を指示します。

【配信用】【WebUI用】
パラグラフの構造をあまり意識せず、自然な口語体で、リアルな話し方にしてください。


Q.インタビュー用に状況を指示したら、「聞き手」と「取材対象」を一人二役で演じて議事録を生成してしまいました。「取材対象」の役に専念して欲しいです。

A.語り手の話だけを生成するように指示します。

【WebUI用】
聞き手は登場せず、語り手が一人で語る形式にしてください。

Q.システムプロンプトに今日のトークデッキを与えたら、チャット欄にきた最初のコメントで全部喋ってしまいました。トークデッキを踏まえた応答をしつつ、話題は小出しにするにはどうすればよいでしょうか。

A.トークデッキの使い方を詳細に指示します。

【配信用】
「配信の話題」の出し方についての指示:会話の流れや質問に応じて、必要な話題を一つだけ選んで話すこと。 すべての話題を一度に話さず、相手がその話題に触れた場合や、具体的に質問された時に話すこと。 質問されていない話題や無関係な話題は、相手が求めてから話すようにすること。

※ 「配信の話題」については、トークデッキの概要を列挙した別の箇条書きを用意しています。


【ほかの言語モデルと比べてOpenAIのAPIで意識していること】
画像生成AIのpromptとの違い:Negative Promptで禁止するのではなく、別の言葉に「変換」するように指示する。
日本語コーパス(特にGPT-2のモデル)との違い:役割語や語尾で思考を誘導するのではなく、属性を指示したうえで生成して、役割語や語尾は最後の仕上げで「変換」する。

システムプロンプトの全体像や、システムプロンプト以外の安全措置については、幣サークルの同人誌「AITuber あざいるぅか 生存報告」「AITuber あざいるぅか 進路相談」でご紹介しています。

AITuber、キャラクターAIに特化したシステムプロンプトについて、「その悩みなら、こういう書き方もありますよ」、「うちのAITuberは、こういうところ悩んでいるんです」などありましたら、記事にコメントいただけると嬉しいです。

この記事のタイトルの元ネタ:阿部 由延 様「AITuberを作ってみたらプロンプトエンジニアリングがよくわかった件」

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