ロアブックのエントリー: キー、位置、タイミング

エントリーとは、ロアブックの中の1つの事実と、Marinaraがそれをプロンプトに追加する条件を決めるルールをまとめたものです。このガイドでは、エントリーの追加、キーとエントリータイプの選び方、エントリーがプロンプトのどこに入るかの決め方、タイミングを説明します。

始める前に: ロアブックを作成して開いてください。ロアブックの概要を参照してください。

Entriesタブ

Lorebooks(ロアブック)パネルからロアブックを開きます。エディターにはOverview(概要)とEntries(エントリー)の2つのタブがあります。Entriesをクリックすると一覧が表示されます。タブのバッジには、エントリーの数が表示されます。

ツールバーには次の操作があります。

ツールバーの下の行には、エントリー数、フォルダー数、すべてのエントリー内容の推定トークン数の合計が表示されます。

エントリーの追加と編集

  1. Add Entryをクリックします。新しい行が表示されます。
  2. 行に名前を入力します。どのエントリーにも名前が必要です。名前は自分と検索のためのもので、AIのためのものではありません。
  3. 行、またはその矢印をクリックします。行の下にパネルが開き、すべての項目が表示されます。
  4. Primary Keys(主キーワード)にキーを入力して<kbd>Enter</kbd>を押します。次に、AIに渡すテキストをContent(内容)に書きます。内容とキーを参照してください。

編集内容は自動的に保存されます。ドロワーにはAutosaving…、続いてSaving…、最後にSaved automaticallyと表示されます。保存に失敗しても入力したテキストは残り、Marinaraは次に編集したときに再試行します。

エントリーを複製するには、その行のDuplicate entry(エントリーを複製)をクリックします。削除するには、Delete entry(エントリーを削除)をクリックして確認します。コンピューターでは、行にカーソルを合わせるとこれらのボタンが表示されます。

内容とキー

項目説明
Primary Keys(主キーワード)エントリーを発動させる語です。キーを入力して<kbd>Enter</kbd>を押すと追加されます。どれか1つが一致すれば、Normalのエントリーは発動します。
Content(内容)AIに送られるテキストです。事実を素直に書きます。マクロを使え、ボックスの下に推定トークン数が表示されます。
Secondary Keys(副キーワード)追加のキーで、Selectiveのエントリーだけが使います。
Description(説明)Knowledge Routerエージェントだけが読む短い要約です。メインのモデルに送られることはありません。知識ソースを参照してください。

キーが10個を超える場合、一覧には最初の10個だけが表示されます。残りを見るにはShow N moreをクリックし、隠すにはCollapse(折りたたむ)をクリックします。隠れているキーも一致の対象です。

たとえば、名前がSilverhaven、キーがSilverhavenとthe capital、内容がSilverhaven is the mountain capital. Its people mine blue crystal and distrust outsiders.のエントリーは、直近のチャットにどちらかのキーが現れるたびにAIへ届きます。

一致のルール

デフォルトでは、キーが直近のチャットのどこかに現れれば一致とみなし、大文字と小文字は区別しません。これを変える設定が3つあります。

Regexは、正規表現がわかる場合だけ使ってください。各パターンには短い制限時間があり、時間がかかりすぎたパターンは一致しない扱いになるため、パターンは単純に保ってください。たとえば\bVlad(?:'s)?\bは「Vlad」と「Vlad's」に一致します。

エントリータイプを選ぶ

行の色付きの丸をクリックすると、タイプのメニューが開きます。

Constantのエントリーは1件ごとに毎メッセージでトークンを消費するため、数は少なくしてください。

Selectiveのエントリーでは、Secondary Keysを追加し、Logic(条件)ボタンを選びます。

条件エントリーが発動するのは
AND Any副キーワードも少なくとも1つ現れたとき。
AND All副キーワードもすべて現れたとき。
NOT Any副キーワードが1つも現れないとき。
NOT All副キーワードのすべてが同時には現れないとき。

たとえば、主キーワードがking、副キーワードがSilverhavenでAND Anyのエントリーは、チャットで両方に触れたときだけ発動します。

うまくいかなかった場合: キーのないNormalのエントリーには、一致させるものがありません。キーを追加するか、Constantにしてください。キーのないエントリーも意味から見つけられることはありますが、それはセマンティック検索をすべて設定した場合だけです。

Position、Depth、Order

これらの設定は、発動したエントリーがプロンプトのどこに入るかを決めます。画面が広い場合は、コンパクトな行に並んでいます。画面が狭い場合は、行のEntry quick controls(エントリーのクイック操作)ボタンをタップします。

設定働き
Position(位置)エントリーを入れる場所です。デフォルトはBefore character definitionsです。
Before character definitions(キャラクター定義の前)プロンプトのキャラクターカードの前に入ります。行のラベルは↑Charです。
After character definitions(キャラクター定義の後)キャラクターカードの後に入ります。行のラベルは↓Charです。
@ Depthチャット履歴の中に入ります。行のラベルは@Depthです。
Outlet自動ではどこにも入りません(下記を参照)。
Depth(深さ)@ Depthのときだけ表示されます。最新のメッセージから数えて何件前にエントリーを置くかを指定します。デフォルトは4です。
Order(順序)複数のエントリーが発動したときの順番です。数値が小さいほど先に入り、予算が厳しいときも切り詰められずに残ります。デフォルトは100です。

Role(役割)は、クイック操作ではなく、展開したエントリーのパネルにあります。挿入するテキストをSystem、User、Assistantのどれとして扱うかを決めます。影響するのは@ Depthのときだけで、デフォルトはSystemです。

エントリーに特別な必要がない限り、これらはデフォルトのままにしてください。@ Depthは控えめに使います。テキストが直近のメッセージのあいだに割り込むように入るため、モデルが何度も忘れるルールや、たったいま変わった事実だけに使ってください。たとえば、「酒場がいま燃えている。」を@ Depthの1で入れます。

Outlet

Outletのエントリーは、マクロを置いた場所にだけ現れます。

  1. PositionをOutletにします。Outlet name欄が表示されます。
  2. character_rulesのように、大文字と小文字まで正確な名前を入力します。
  3. プリセットのプロンプトのセクションに{{outlet::character_rules}}を書きます。

同じ名前を持つエントリーは、Orderの順に改行で区切って連結されます。Outletマクロは、Conversation、Roleplay、Gameのチャットのプロンプトのセクションで使えます。現れるのは、この返信で発動したエントリーだけです。これらのエントリーも、キー、確率、フィルター、タイミング、Entry Limit(エントリー数の上限)、Token Budget(トークン予算)に従います。発動したエントリーがなければ、マクロは何も追加しません。Outletのエントリーから別のOutletマクロを呼ぶことはできません。このマクロについてはマクロを参照してください。

確率とタイミング

Probability(確率)は、キーが一致したときにエントリーが発動する確率です。デフォルトは100%です。25%にすると、毎回4回に1回の確率で発動します。

Timing(タイミング)の各項目は、複数のメッセージにわたるふるまいを決めます。4つとも最初は未設定で、これはオフを意味します。

項目働き例
Sticky(継続)発動した後、キーが一致しなくても、さらにこの数のメッセージのあいだ有効なままになります。明かされた秘密を3にすると、3メッセージのあいだ残ります。
Cooldown(待機)発動した後、再び発動できるまでこの数のメッセージだけ待ちます。予兆を5にすると、発動は5メッセージに1回までになります。
Delay(遅延)チャットがこの数のメッセージに達するまで発動できません。どんでん返しを20にすると、最初は伏せておけます。
Ephemeral(回数制限)この回数だけ発動すると、自動的にオフになります。0は無制限を意味します。導入のメモを1にすると、1回だけ発動します。

Sticky、Cooldown、Delayはメッセージ数で数えます。Ephemeralは発動回数で数えます。

Decisionによる起動

Decision欄では、Decisionモデルにエントリーが当てはまるかを判断させます。Decisionモデルとは、はい・いいえの質問に答える小さなモデルです。In the latest message, a dragon is physically presentのように直近のチャットについての文を書き、モードを選びます。

モード効果
Off(オフ)エントリーは通常どおり起動します。これがデフォルトです。
Require(必須)エントリーは通常どおり起動しますが、判定文も真である場合に限られます。単に触れただけの言及を除外します。
Trigger(起動)判定文が、エントリーを起動するもう1つの経路になります。キーがなくても起動します。言い換えや状況を拾えます。

判定文には{{user}}や{{char}}などのマクロを使えます。

始める前に: Connections(接続)パネルのDecision modelでDecisionモデルを選んでください。Decisionモデルがない場合や回答がない場合、判定文は「いいえ」として扱われます。未設定のときは、エディターに警告が表示されます。

重要なエントリーには通常の起動経路も用意し、Requireは任意のロアを絞り込むためだけに使ってください。

Requireが確認するのは、キー、意味的な一致、Constant、地図の場所のいずれかですでに対象になっているエントリーだけで、判定文も真の場合にだけ通します。Constantのエントリーに使うと、状況に応じたエントリーにできます。たとえば戦闘ルールにA fight is happening in the latest messageを使います。未使用のエントリーをすべて調べるわけではありません。

判定文はモデルへのリクエストを増やし、Decision statements per turn(1ターンあたりの判定文数)の上限を共有します。書き方のコツ、制限、費用、回答の再利用については、判定文の書き方、制限と費用、回答の再利用を参照してください。モデルの設定はDecisionモデルを参照してください。

そのほかの詳細:

グループ、フィルター、その他の設定

展開したドロワーには、ほかにも項目があります。

項目働き
Group(グループ)同じグループのエントリーは排他的です。1回の返信で発動するのは1つだけです。3つの「今日の天気」のエントリーのような選択肢に使います。低いProbabilityと組み合わせると、噂をたまにしか出さないようにできます。
Tag(タグ)自分で整理するための自由入力のラベルです。発動には影響しません。
Locked(ロック)Lorebook Keeperエージェントがこのエントリーを変更できないようにします。ダウンロードできるエージェント一覧を参照してください。
No Vectorエントリーをセマンティック検索の対象から外します。ロアブックのセマンティック検索を参照してください。
Recursion(再帰)このエントリーの内容で、さらに別のエントリーを発動させられるようにします。デフォルトはオフです。ロアブックのトークン予算と再帰を参照してください。

Context filters & matching sources(コンテキストのフィルターと照合対象)セクションでは、エントリーを特定のキャラクター、キャラクターのタグ、生成の種類に限定できます。キャラクターの説明など、カードの追加の項目もエントリーのキーの照合対象にできます。Individual(個別)モードのグループチャットでは、各返信で数えるのはその返信を書くキャラクターだけなので、キャラクターのフィルターを付けると、ほかのキャラクターの返信からエントリーを外せます。Merged (Narrator)の返信では、チャットにいるキャラクター全員が数えられるため、絞り込んだキャラクターのうち誰かがチャットにいればエントリーは残ります。1人のキャラクターだけが知っている秘密に使ってください。

事実に合わせて設定を選ぶ

その事実をAIがいつ見るべきかを考え、次の表を使ってください。

事実設定
常に成り立つConstant。数は少なくしてください。
名前が出たときだけ意味がある具体的なキーを付けたNormal。たとえばCastle Dracul、the castle、the fortress。
キーがkingやhomeのようなありふれた語Whole Words、または副キーワードを付けたSelective。
重要だが名前で呼ばれることは少ないセマンティック検索を使うNormal、またはより広いキー。
同時に出てはいけない複数の版がある同じGroup。
場面の途中でモデルが忘れるルール1から4前後の@ Depth。

ロアブックを小さく保つ習慣:

たとえば、悪役を倒す方法のルールは、AIが忘れがちです。これをSelectiveにしてAND Anyを選び、Whole Wordsをオン、Orderを10にします。主キーワードはweakness、kill、destroy、stake、副キーワードはVlad、the countです。副キーワードがあるので、パーティーが狼を倒すときには発動しません。Whole Wordsにより、stakeが「mistake」に一致しなくなります。Orderが小さいので、エントリーが多い場面でも切り詰められません。

ロアブックをどこに置くかで、どのチャットから見えるかが決まります。グローバル、リンク、埋め込みのロアブックについては、ロアブックの概要とロアブックをキャラクターやペルソナに結び付けるを参照してください。

エントリーの内容でマクロを使う

Contentは、送信の前にほかのプロンプトのテキストと同じように展開されます。便利なマクロ:

すべてのマクロはプロンプトマクロを参照してください。

Recursive(再帰)がオンのとき、Marinaraは発動したエントリーの展開後の内容をもう一度走査します。マクロが生み出したテキストが、さらに別のエントリーを発動させることがあります。

Keyword testツール

Entriesタブの上部にあるKeyword test(キーワードのテスト)パネルでは、チャットなしでキーを確認できます。

  1. Keyword testを展開します。
  2. サンプルの段落や数件のメッセージをボックスに貼り付けます。

一致するエントリーには、緑色のアクセントとWould activateチップが付きます。ConstantのエントリーにはAlways activeチップが付きます。件数の行には、有効なエントリーのうち何件が発動するかが表示されます。Include other lorebooks(ほかのロアブックを含める)スイッチをオンにすると、ほかのロアブックの有効なエントリーも確認します。

このテストは、タイミング、確率、キャラクターとペルソナのフィルター、意味による照合を考慮しないため、実際のチャットでは結果が変わることがあります。

エントリーのフォルダー

フォルダーは、1つのロアブックの中でエントリーをまとめます。Lorebooksパネルのライブラリー用のフォルダーとは別物です。

フォルダーがグループとして表示されるのは、検索せずにOrderで並べ替えているときだけです。それ以外のときは入れ子のない一覧になり、Folder view paused (clear search and sort by Order)という注記が表示されます。

トラブルシューティング

症状対処
エントリーがまったく発動しない。キーを付けるか、Constantにしてください。ロアブックがオンになっていて、そのチャットで有効かも確認してください。
キーが効いていたのに、効かなくなった。Marinaraが走査するのは直近の数メッセージだけです(Scan Depth、デフォルトは2)。Scan Depthを上げるか、Stickyを追加するか、エントリーをConstantにしてください。
関係のない場面でエントリーが発動する。Whole Words、Selectiveの副キーワード、またはキャラクターのフィルターを使ってください。
重要な設定が落とされる。Orderを小さくするか、Token Budgetを上げてください。何がなぜ省かれたかは、Chat Settings(チャット設定)のActive Contextで確認できます。ロアブックのトークン予算と再帰を参照してください。
AIがエントリーを無視する。Active Contextで、エントリーが発動したかを確認してください。最新のメッセージから遠い事実は、@ Depthで最新のメッセージの近くに置いた事実より効きが弱くなります。

関連ガイド