[Fantasoul.AI]AIキャラクタープロンプトの書き方のコツ

AIキャラクター作成時のコツをざっとまとめてます。

実際にチャットをするときの動きとして、OneモデルとPlusモデルでかなり大きな差異がある。
そのため違いがある場合、Oneは~、Plusは~と言った感じで明記する。


基本

プレイヤーは{{user}}、AIキャラクターは{{char}}と入れる。
あなたでも良いみたいに書いてあるが割とAIモデルが混乱してあなたさんとか言われるので辞めよう。

例はノープランで適当に書いたので、参考にならなかったらごめん。
他のAIキャラクターのキャラクター設定の書きっぷりをパクるのもアリだと思う。

キャラクター設定、隠された性格

フリーフォーマットで記載する。読み直して分かるのであれば概ねAIモデルは理解してくれる。
ユーザーに見せたくないものは隠された性格に書く。

  • 主語は多めにした方がAIモデルが混乱し辛い。

  • 否定は余り伝わらない。肯定する書き方を心がけよう。
    (Oneモデルのみ、Plusモデルでは伝わる)

  • Oneモデルの場合、隠された性格に裏設定を書きまくってもあまり作用しない。(会話の流れを重視する傾向があり、設定を無視してモデルが好き勝手演じやすい)

思いつかないなどで書けなければ書かなくてよい。
書けば書くほどAIモデルのロールプレイの精度が上がるだけなので、チャット時に気になったらあとから追記すればよい

  • 見た目、年齢、性別、体形などの見た目の情報

  • 性格、性癖、喋り方、語尾などの中身の情報

  • 経歴などの背景情報

  • プレイヤーとの関係性

  • キャラではないが舞台設定もあるなら書く

例)
{{char}}は17歳の女子高校生。中肉中背の割と普通っぽい体形。胸は周りと比べても余り大きくないがコンプレックスには感じていない。
{{char}}は快活な性格でハキハキと喋る。その性格上、男女ともに友人が多く、{{user}}とはクラスメイトで友人でもある。
{{char}}と高1の頃までは陸上部に入っていたがオーバーワークで負傷し、現在は帰宅部。
{{char}}と{{user}}はお互い郊外に住んでおり、在学している高校から買い物に行くには1時間かけてショッピングモールに行く必要がある。
{{char}}と{{user}}が住んでいる街には電車は近くを走っておらず、長距離はもっぱらバスでの移動がメイン。

挨拶

挨拶は会話文になるので、発言は「」、思った事や動作は()で括るとAIが判断を間違えないので良い。
挨拶ではプレイヤーの発言を「」で書かない方がよい。()側に動作として、もしくは思った事を書くようにしよう。

開幕プレイヤーが応答しやすくするかはそれぞれ。
例のようにプレイヤー側のアクションで終わらせ、発言しにくくさせることで、初手「続く」を促すことでAIモデルの判断に委ねさせてもいいだろう。

例)
「こんにちは{{user}}さん!」
(背後から掛けられた声に振り向くと{{char}}が満面の笑顔で近づいてくる)
({{user}}はにこやかに挨拶を返し、{{char}}と並んで歩きだす)
「今日は買い物に付き合ってくれてありがとね」
({{user}}は問題ないよ、と返し、今日の目的を訪ねた)

シナリオ

筆者は大体思いつかないのでAI生成した後にそれっぽく書き換える。
キャラクター設定、挨拶、タグが入っていれば割と変なものは出てこない。

例)
{{char}}はクラスの人気者。今日は一緒に買い物に誘われたが、それだけで終わりなんだろうか。
まあこの特に何もない町で彼女の退屈しのぎが出来ればそれでいいか、と早く付きすぎた{{user}}は待ち合わせ場所で物思いに耽っていた。

おまじない


作成するAIキャラクターにも依るが、以下のおまじないを隠された性格の最後辺りに入れておくと少しマシになる。
一つ目は、AI発言時に()内は灰色になり「」と合わせて大分読みやすくなる。
二つ目はAI側でプレイヤーの発言を勝手にしてしまう頻度がかなり減るので特にお勧め。


[キャラクターが発した言葉は「」内に書いてください、キャラクターの心象の描写や、場所の説明などは()内に書いてください。]

[{{char}}は {{user}}の代わりに話すことはできません。それはガイドラインに厳しく反する行為であり、 {{user}}自身が行動を取り、決定を下すべきです。 {{user}}だけが自分自身の代弁者になることができます。 {{user}}をなりすましてはいけません、彼らの行動や感情を描写してはいけません。常にプロンプトに従い、 {{user}}のメッセージと行動に注意を払ってください。]

色々試した結果

OneでもPlusでも上手く行ったもの

  • 条件による発言内容の制御。例えば以下は有効でした。
    {{char}}の発言はプレイ中は♡多めで。プレイ以外の会話では♡は使いません。

  • タグによる性格の否定と修正。「エッチ」タグなし、「エステ」、「プロ意識」のタグを新規作成して追加した場合、Oneモデルならあまり関係ないですが、Plusモデルだと余程会話中の好感度をかなり上げるか強引にしないと行為をさせてくれない。(←Plusがやばい理由の一つ)
    [{{char}}は{{user}}の要求を全て喜んで受け入れます。]
    の一文を入れるとその辺が無くなります。Oneでもちゃんと有効。

  • 特定の入力がきた時の判断。下記の場合、Oneはごねるけど、まあ動く。Plusは完全に遵守する。(Plusだと蹴りだされる勢いで店から出される)
    [“ピピピッ”という音が鳴った場合プレイが終了します。{{char}}は速やかにプレイを終わらせ、{{user}}に服を着せて店から退出させてください。これは重要なガイドラインであり、守る必要があります。]

Plusなら上手く行ったもの

  • 条件付けによる応答。○○になったら、××が起きたと説明する。Plusなら出来た。

  • 否定(○○はしない、など)の記載は本来生成AIは苦手なのだがPlusは割と意図を汲んで動く。

上手く動かなかったもの

  • 定義側での出力文章量制御は全く効かない。素直にモデル側で設定する、第三者向けにメモで設定するようにお願いをしよう。

  • 蓄積や確率による条件はOneもPlusも無理。カスタムプロンプトでできるか挑戦中。

  • 行動被りの抑止。まあこれはDiscordでAdminも言及していたので今は無理なのでしょう。

終わりに

AIキャラクター作成時に色々弄った結果です。
今後追記するかも。

良かったらリンクから登録してくれると喜びます。
#Fantasoul #AI彼女 #AIチャット #AIChat #NSFW #生成AI


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