![見出し画像](https://assets.st-note.com/production/uploads/images/79535165/rectangle_large_type_2_a43792b7590dda71052afc990ad0ac0f.png?width=1200)
AIのべりすと攻略 キャラクターブックの書き方
長編の書き方に触れたい、と以前の記事で書いた訳ですが、
ひとまず方法を固めても実際に書いてみるとアップデートの余地は次から次へと来てしまう訳で……なかなか記事を書ける状況には至りません。
キャラクターブックの書き方も同じなのですが、需要がありそうなのと
出回っていない情報が多いので、一度記事として形にしてみました。
ちょっとだけ記事をアップデートしました。(9/1)
<unk>についての注釈、要素に(カテゴリ)と趣味、寄せられたご意見について、という記事項目を追加。
合わせて例文も少し変更。
はじめに
デフォルト設定のキャラクターブックは本文、脚注やメモリなどよりも
コンテキストの最後尾に配置される要素です。
『コンテキスト』とは最終的にAI側に渡されるテキストを指している用語で、設定に応じて本文、メモリ、脚注、キャラクターブックを一つに繋げた文面となります。これは基本的に下の方、最新のテキストに近ければ近い程、影響力が上がります。
つまり、AIのべりすと公式での入力例ではメモリや脚注とは異なった書式が紹介されていますが、いずれも単一のテキスト上に配置されるものです。
どの機能も記入した文面がAIに与える影響は同一であり、違いはコンテキスト上の配置場所によって発生すると知っておいてもらえれば十分です。
キャラクターブックの仕組み
本文や脚注から、タグに設定された単語が検出されたら、コンテキストに対応した文字列が配置される仕組みです。(更新でメモリは除外に)
トークンはAIが独自に認識する単語のようなものですが、あまりに長文のタグを使用しない限りは、あまり気にしなくても大丈夫です。
キャラクターブックに書いただけでは、本文に登場する事はないため、
メモリに最低限の記載を行い、キャラクターブックに詳細を書くというのも有効でしょう。
そのため、AIダンジョンなどでは探索や移動という単語に反応して、イベントを起こすといった使い方もされていましたし、キャラクターブックという名称なものの、場所や物品の設定を書くにも使用できます。
キャラクターブックの書式
公式の入力例で紹介されている書式が一番有名だと思います。
トリン:[女性。スフィアの神様……
これはAIダンジョンの公式wikiで紹介されている、Zaltys書式と呼ばれる書式にかなり近いものです。
もちろん、日本語としてアレンジはされていますが。
まず最初に公式でJSON書式というのが使われていて……これはプログラミング用語なので、詳細は別に検索して把握してもらうとして。
Zaltys氏という方が、JSON書式からAIダンジョン用に発達したものとして、コミュニティ内の検証をまとめたり普及させたりしたものがZaltys書式ですね。
おそらくは一番有名で、使用頻度も高いものではないでしょうか。
しかし、それとは別に各自研究は続けている訳で……独自の形式を公開している方もいます。その一つがCAT<nip>書式というCurious Nekomimi氏が作った書式です。
ええと、原文にはエッチな文章を書かせる、という熱意が少なからず反映されてるため、note上で直接誘導する事は憚られるので、同氏のJSON書式のチュートリアルを紹介しておきます。
その原文はこのチュートリアル内のリンクから飛べます。
さて、前置きが長くなりましたが、ここからが本題です。
自分が使用している書式はオリジナルというか、まだまだ固まっておらず
実験しつつ、という事になるのですが、これらの複数の書式で使われている理論の影響を受けています。
キャラクターブックの書き方
さっそく、例文を記載しましょう。
これは戦闘テスト用に活用しているキャラクターです。
[アキラ:男性。説明≡新鋭の闘技者、勢いのある剣士、鋭気のある青年。年齢≡21。(改行なし)
アキラ:名称≡アキラ・グラビル。特徴≡頬の傷、ベージュ色の髪、ボサボサの髪。(改行なし)
アキラ:性格≡元気、勢い。一人称≡俺。(改行なし)
アキラ:クラス≡剣士。戦術≡<先手を取って一気に攻める>。(改行なし)
アキラ:使用≡ミスリルソード。所持≡ミスリルソード。得意技≡連続攻撃。]
[アキラ:「アキラっす。負ける気はないんで」]
[アキラの関係:ロジェ≡ライバル。]
[アキラの衣装:服装≡鋼鉄の鎧、鉄の兜。]
(改行なし)は本来、改行せず繋げている箇所です。
個人的に[項目:要素≡情報。]と用語としては分類しています。
他にも色々と疑問に思われる点があると思いますが、一つ一つ説明していきましょう。
1."キャラ名:"は[]の内側に収める。
基本。[]の外側に置くと、文体に影響してしまいます。
AIダンジョンにはあまり無かった問題なのですが、AIのべりすとで真似る必要はないと思います。
2.適宜、≡や<>などの記号を使う。
これはあまり見かけないやり方ではないでしょうか。
"≡"は合同、定義を意味する記号で、CAT<nip>書式では"="や":"よりも
強い関連付けができるとして推奨されています。実際に、AIのべりすと上でテストした所、効果があったので採用しました。
追記、試行時は知らなかったのですが、≡は<unk>というトークンに変換されます。余計な情報がなく、消去法的に効いているのではないか、という仮定を見かけましたが、実際の所はよく分かりません。
辞書登録でもしない限り、それなりに入力しにくい記号なので、内部的に<unk>に変換される他の記号を用いても良いでしょう。
"<>"は強調、文字通り解釈し、創作を行わない効果があるとされます。
これもテストした結果、変動が激しかった瞳の色や服装が安定する効果が確認できたので採用しました。しかし、挙動には若干の癖があります。
頻繁に使用しすぎると、AIの表現幅が減ってしまいますし、たまに『』で囲む書式のものが<>に変化する事も起こります。
("<"全角を禁止ワードリストに入れる事で対処可能。半角だと問題あり)
こうした副作用よりもメリットが上回ると判断し、使用を続けています。
表現幅の問題は情報の安定とトレードオフなので、ある程度、用途は絞って安定しないと確認した要素をその都度、<>で囲むのが良いのではないでしょうか。
他にも、CAT<nip>書式で推奨されている記号はありますが未採用。
一応、この場を借りて紹介しておきます。
"/"
or、またはandを示す記号。
効果は確認できたが"、"と大きな差はないと判断し未採用。
"&"
強くand、二つのものをセットと解釈させる記号。
"&&"
"&"の上位版。最後の手段、だそうです。
両方とも上手く使えずに未採用。
一応、断っておくと"&"と"&&"ですが、筆者はAIダンジョンでも上手く使えなかったので、AIのべりすと上で上手く使える方も居るかも知れません。
3.[○○の△△:……]という形で項目を分離する。
これも筆者と扱いは違うものの、CAT<nip>書式で推奨されている方式です。ただ、本当は[○○ △△:……]のように半角スペースが相応しいのかも知れませんが、テスト結果をみて現状の形を採用しています。
[○○の関係:××≡恋人。]
[○○の態度:××≡怖がっている。]
[○○の衣装:服装≡<黒装束>、<マント>。]
[○○の戦闘:実力≡×××××。戦術≡×××××。能力≡×××××。]
これは問題なく効果を発揮し、特に衣装は通常の形式よりも強い効果を見せました。ただ例えば態度は流動的ですし、キャラクターブックよりもメモリや脚注が相応しい記述も多いと思います。
[○○の口調:一人称≡俺。「(何か台詞)」]
逆に、これは悪い例で項目を分離したら普段よりも効果が悪くなりました。
一人称などはともかく、台詞の例は明確に悪くなったと感じました。
何でも分離すればいい、という訳ではなさそうです。
EX.その他
・一つの要素(○○:)に対して、"、"と"。"は出来るかぎり5つに留める。
・説明という要素を設けているように、
基本的に関連付けされた情報はされてない情報より強い。
・口調は台詞を独立させる形で指定する。例ではTRPGリプレイに
近い形式だが、":"を除外して台本形式にしても機能する。
変な語尾などは指定できるが、口調から乖離した一人称の指定には
限界がある。
基本的にこれらは改良中で、決定版というものではないです。
しかし、参考に色々と試してみるのも良いではないのでしょうか。
キャラクターブックの各要素
いつもの記事に近い、単語の影響力のチェック。
基本的に"≡"を用いており、それでも不安定なら<>で影響力をブーストしてテストしています。
「(要素)は(情報)。」のような形でも機能するはずですが、
通常の記述より影響力が高い書式でテストしている事に注意してください。
・(カテゴリ)
これは厳密には要素ではなくて、直接書き込む情報です。
文中でどう表現される存在、要素かの方向性を書き込みます。
例文では性別の代用として利用しています。
キャラクターであれば『銀髪の少女』とか『攻撃的な不良』とか。
種族なら『空飛ぶ怪物たち』のような複数形を仕込むなど。
ファンタジー世界の名称であれば、『この世界』。
一定の具体性が必要で、例えばスカイツリーなら建造物ではなくて、
『電波塔』『観光名所』まで書いてしまった方が良さそうです。
(スカイツリーは定義しなくとも履修済みだと思いますが)
・説明
文字通り、キャラクターを端的に説明する要素。効果は確認済み。
汎用性が高く、ストーリー性があると拾ってくれる事もあります。
・(性別)
効果は確認済み。ただ、関連付けせずに男性/女性と書いても効果は十分なので、トークン節約で要素自体は使用しない事が多いです。
例文ではカテゴリで代用していますが、カテゴリで性別を示唆できなかった場合は、こちらで指定すると良いかも知れません。
・年齢
数字でも十代半ばという書き方でも効果あり。
AIが年下、年上を間違えるのはご愛敬。
・名称/姓名
フルネームを書く場所。効果は確認済み。
姓で呼ばれるキャラなどの影響で、姓と名が別キャラと扱われる分裂現象という問題があるらしいのですが、今の所は実感できずに現状維持。
項目のキャラ名をフルネームにするという手段で対策ができると聞いたが、試した限りでは眉唾。
姓と名前が他のキャラと混線する場合、<>囲いを活用してもいい。
(名称≡<アキラ・グラビル>。)
・特徴
文字通り、キャラクターの特徴を書く場所。効果は確認済み。
広義的な要素ですが、"外見"や"容姿"といった要素より自然に拾って貰える印象があります。
"髪"や"瞳"、"体形"。おそらく"肌"や"顔立ち"も個別に指定できるので、
代表的なものや個別に定義しにくい要素を置くといいでしょう。
"髪"はロングと書くと=長いと認識され、「長い」髪を/ツインテールにしているなど、文章的に色々な髪型に繋がってしまうので、ストレートと書くといい、みたいな余談があります。
・衣装/服装
意外に鬼門で、効果は不安定。
[○○の衣装:服装≡……]といったように項目を独立させると安定します。
身体情報は他の要素で賄えるので、"特徴"で代用するのも手でしょう。
・性格
かなり重要な要素。おそらく口調への影響が強い。効果は確認済み。
だいたい指定すれば想定通りの効果ができるので、語る事が少ないです。
口調への影響が強いので、付近に台詞のサンプルを置くべきだと考察しているのですが、今のところは思い付きレベルでしっかり検証した訳ではありません。
・元の性格
過去はこういう性格だった……という形で機能するようです。
プロフィール生成上のみで効果を確認。
ストーリーに影響してくれるかは不明ですが、見込みはあると思います。
・一人称
効果はあるが安定という程ではないです。おまじない程度。
一般的な一人称でないものを、捻じ曲げて使える程の効果はないように思えます。ただ、おそらくこれも口調を定義する要素の一つですね。
口調に見合った、一人称を設定するという用途も考えられます。
・二人称
かなり不安定で検証中。おまじない程度。
"○○の呼び方"のような要素は、不安定ながら効果を確認できたので、
"呼び方"、"相手の呼び方"を試してみてもいいかも知れないです。
・出身
たまに拾ってくれる。効果は確認済み。
名称だけではなく、[出身:ロナコ村、疫病で滅びた村。]みたいに名称+概要を書くと、物語上で影響するかも知れません。
・種族
ファンタジーやSFなどに。効果は確認済み。
不自由はないですが、踏み込んだ事を書くほどは検証できていないです。
・趣味
キャラクターの趣味を書く欄。効果は確認済み。
これもキャラクターを描写する方法として、自然に拾ってくれれます。
戦闘に関わる要素
・クラス/職業
いわゆる職業、意外に重要要素。効果は確認済み。
見習いなど、明確に弱いクラスだとボコボコにされたりします。
収入を得る手段と戦闘的な役割を区別するために、クラスという要素を用いています。前者は"仕事"という要素が使えるかもしれませんが未検証。
・戦術
大半の項目が何ができるか、に対して何を実行するか、という要素なので影響度は大きいです。効果は確認済み。
戦士に炎魔法を使わせると、炎の魔法剣を使ったり、一種のすり合わせがあるので、単純な行動の上書きにはならないようです。
・能力/異能/魔法
主に何が出来るか。効果は確認済み。
能力が汎用的なのに対して、異能は特殊能力的な概念です。
"特殊能力"という要素もいけるかも知れません。(未確認)
"魔法"はやはり魔法として扱われますが、他の魔法を使う可能性も多くなる傾向があります。
・得意技/得意魔法
上記の能力に近いのですが使用頻度は多く、さらに技名として認識され易いという性質があります。効果は確認済み。
[得意技≡(技名)、(説明)。]のような記述が良いかと思います。
・必殺技
得意技と似た要素ですが、ここぞという時に使う大技として認識されます。効果は確認済み。"必殺魔法"は未検証です。
・属性
使う魔法や能力など、広範に影響します。効果は確認済み。
・実力
どれくらいの強さか。効果は確認済み。
弱いキャラを強くはできますが、強いキャラを弱くするのは不安定に思えます。
・使用/使用武器
"武器"という要素が貧弱だったので、代用として発見したもの。
使用しているものを指定できます。効果は確認済み。
機能するタイミングが限られる"武器"と違って、こちらは自然に戦闘で使われます。
まだまだ影響が低いので、色々な要素と重ねて使うのが良いかも知れません。上記の例では"所持"を併用していますが、こちらの効果は未確認です。
おわりに
記事は以上です。まだまだ未検証が多いので不格好になりましたが、
キャラクターブックを書く際の一助となれば幸いです。
雑にファンタジー世界を冒険させる事が楽しくて、そういう用途に偏っている所がありますね。
次は長編の書き方をブラッシュアップして記事にしてみたいと思います。
……AIのべりすと文学賞には間に合わないですね。
第1回とあるので、第2回に使える事を祈りましょう。
寄せられたご意見について
追加項目です。(9/1)
夏休みが切っ掛けか分からないのですが8月頃に改めて話題になって、
各所で意見が寄せられたので、それについて所感を記載していきます。
・しらたま氏の記事
AIのべりすとのキャラクターブックでの≡の効果について
許可をいただき、こうしてリンクを張らせていただきました。
「≡」(<unk>)を利用した書式について、統計的に検証した記事となります。指摘募集中だったので、自分も色々と指摘させてもらいました。
公式Discord内での話題も含んだ話ですが、
検証結果を大雑把に説明すると……
名称と趣味の要素については、内部的に「名称は」「趣味は」という
「は」を内包したトークンが存在しているので、実質的には三形式の比較となっています。
[XXXはYYY。] [XXX≡YYY。] [XXXXYYY。]
見た目は変わらなくとも内部的には、三番目の形式が存在している、
という事ですね。
・結果
「は」を内包したトークン > 「≡」形式(<unk>) > 「は」形式
[XXXXYYY。] > [XXX≡YYY。] > [XXXはYYY。]
この順番で、指定した単語の出力率が高いという結果が出ました。
ただし、「は」を内包したトークンについては要素に対応したトークンが存在しない事が多いので、ひとまず「は」より「≡」を利用した形式の有用性は高そうだ、と思しき結果になりました。
「は」を内包したトークンはまとめ作業中ですが、必要であればAIのべりすとwikiで今すぐにでも検索する事ができます。
(分類されてないものの、トークン一覧ページに全て記載されている)
・意見:≡は<unk>に変換される。効果はない。
<unk>が効く可能性を考慮していないので、飛躍のある話です。
統計を見る限りでは、概ね同等~2倍の効果がある可能性が高いですね。
・意見:<>囲みは「/」や「=」と相性が悪い。
そもそも、「、」を優先して使ってるので併用は別に推奨している訳ではないのですが、元になった書式では「/」が併用されていたという事もあって、そちらは最初に試しています。
結果、「/」と相性が悪いというのはデマ。
ただ、<>の内側に「/」を入れるのは良くないと思いますね。
変更加えずに、解釈するという性質上、内側に特殊な書式を持ち込むのには向かないのです。
〇<大人しい>/<実は腹黒>/<弱気>。 ×<大人しい/実は腹黒/弱気>。
有効な例と問題のある例はこんな感じでしょうか。
「=」と相性はあまり良くないかな、という程度の感想はあります。
個人的に「=」はカクヨムの特定作品の用語(VRMMOのオリジナルタイトル)が頻発してから、リスクありと判断して使わなくなりました。
つまり、実際の所は分からないし、あまり試す価値も見いだせていない状態ですね。
・意見:区切り文字としては「:」や「/」が優秀であり、<unk>は不要。
うーん、その二つだけで書ける書式も優秀なので可能性はありますね。
ただ見かける書式で気になるのは、複雑な情報の入力に対応できるか、
項目名の繰り返しへの依存が強くないか、という点。
項目名の繰り返しは別の書式で真似するのも容易ですが、物量で情報の強さを成立させる場合、相応のコンテキストが占有されるので、ブンコウ会員以上のアカウントが欲しくなりますね。
(ブンコウ会員以上だと、認識トークン数が飛躍的に上がる)
もちろん、ブンコウ会員以上だとしても、トークン数は節約するに越したことはないと思うのですが。
・意見:「≡」利用は変な出力が多くなる。出力の幅、分散が大きい。
これも、しらたま氏の見解ですね。
考え方が真逆で、コンテキストに情報量が不十分な時、書体が安定しないのは、キャラクターブックの書式としては健全だと思っています。
方向性があるよりも、本文が充実して、自ずと安定するのが好ましいのではないかと。