ロアブックのエントリー: キー、位置、タイミング
エントリーとは、ロアブックの中の1つの事実と、Marinaraがそれをプロンプトに追加する条件を決めるルールをまとめたものです。このガイドでは、エントリーの追加、キーとエントリータイプの選び方、エントリーがプロンプトのどこに入るかの決め方、タイミングを説明します。
始める前に: ロアブックを作成して開いてください。ロアブックの概要を参照してください。
Entriesタブ
Lorebooks(ロアブック)パネルからロアブックを開きます。エディターにはOverview(概要)とEntries(エントリー)の2つのタブがあります。Entriesをクリックすると一覧が表示されます。タブのバッジには、エントリーの数が表示されます。
ツールバーには次の操作があります。
- Search entries…は、名前、キー、内容で一覧を絞り込みます。
- 並べ替えメニューには、Order、Entries、Name A→Z、Name Z→A、Tokens ↓、Keys ↓、Fired ↓、Newest、Oldestがあります。↓の付いた項目は大きい順に並べます。
- Select(選択)は複数選択をオンにし、複数のエントリーをまとめてコピー、移動、削除できるようにします。
- Add Folder(フォルダーの追加)はフォルダーを作ります(エントリーのフォルダーを参照)。
- Add Entry(エントリーの追加)は、空のエントリーを先頭に追加します。
ツールバーの下の行には、エントリー数、フォルダー数、すべてのエントリー内容の推定トークン数の合計が表示されます。
エントリーの追加と編集
- Add Entryをクリックします。新しい行が表示されます。
- 行に名前を入力します。どのエントリーにも名前が必要です。名前は自分と検索のためのもので、AIのためのものではありません。
- 行、またはその矢印をクリックします。行の下にパネルが開き、すべての項目が表示されます。
- 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つあります。
- Whole Words(単語単位): エントリーのパネルにあり、デフォルトはオフです。キーが単語全体として現れる必要があります。
Ashは「Ash」に一致しますが、「cash」には一致しません。 - Case Sensitive(大文字小文字の区別): エントリーのパネルにあり、デフォルトはオフです。大文字と小文字が一致する必要があります。
ITは「IT」に一致しますが、「it」には一致しません。 - Regex(正規表現): 行にあるアイコンで、ツールチップはEnable regex key matching(正規表現でのキーの照合を有効にする)です。デフォルトはオフです。各キーを正規表現、つまりテキストに一致させるためのパターンとして扱います。オンにするとアイコンがオレンジ色になります。
Regexは、正規表現がわかる場合だけ使ってください。各パターンには短い制限時間があり、時間がかかりすぎたパターンは一致しない扱いになるため、パターンは単純に保ってください。たとえば\bVlad(?:'s)?\bは「Vlad」と「Vlad's」に一致します。
エントリータイプを選ぶ
行の色付きの丸をクリックすると、タイプのメニューが開きます。
- Normal(緑の丸、デフォルト): 主キーワードが一致したときに発動します。人、場所、道具など、ほとんどのエントリーに使います。具体的なキーを3個から8個ずつ付けてください。
- Constant(黄色の丸): ロアブックが有効なあいだ、キーなしで毎回発動します。年代や作品のトーンなど、常に必要な少数の事実に使います。タイミング、確率、フィルターは引き続き適用されます。
- Selective(赤い丸): 主キーワードが一致し、さらに副キーワードの条件を満たしたときに発動します。ありふれたキーが関係のない場面で発動してしまうときに使います。
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のエントリーは、マクロを置いた場所にだけ現れます。
- PositionをOutletにします。Outlet name欄が表示されます。
character_rulesのように、大文字と小文字まで正確な名前を入力します。- プリセットのプロンプトのセクションに
{{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は新しいエントリーを通しません。ただし、既存のStickyによる保持があれば、エントリーが有効なまま残ることはあります。
- Triggerは起動経路を追加しません。エントリーは引き続きキーで起動できます。
重要なエントリーには通常の起動経路も用意し、Requireは任意のロアを絞り込むためだけに使ってください。
Requireが確認するのは、キー、意味的な一致、Constant、地図の場所のいずれかですでに対象になっているエントリーだけで、判定文も真の場合にだけ通します。Constantのエントリーに使うと、状況に応じたエントリーにできます。たとえば戦闘ルールにA fight is happening in the latest messageを使います。未使用のエントリーをすべて調べるわけではありません。
判定文はモデルへのリクエストを増やし、Decision statements per turn(1ターンあたりの判定文数)の上限を共有します。書き方のコツ、制限、費用、回答の再利用については、判定文の書き方、制限と費用、回答の再利用を参照してください。モデルの設定はDecisionモデルを参照してください。
そのほかの詳細:
- stickyのエントリーは、保持が続くあいだは再び問い合わせません。Cooldown中のエントリーには、まったく問い合わせません。
- 有効なロアブックの一覧では、Triggerの判定文で起動したエントリーにdecisionと表示されます。
- Peek Promptは問い合わせを行いません。そのターンですでに得ている回答を表示します。
- Decisionによる起動は、チャットのターンにだけ適用されます。Gameの設定や、エージェントが自分用に行うスキャンでは、Decisionのエントリーは「いいえ」として扱われます。
- エントリーの内容の中にある
{{#if 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。 |
ロアブックを小さく保つ習慣:
- 具体的なキーを使います。
heやthe cityのようなキーはほぼ毎メッセージに一致し、予算を無駄にします。 - Knowledge Routerに振り分けさせたいエントリーには、Descriptionを記入します。Knowledge Routerが読むのは、内容ではなく説明です。
- 大きな世界設定はツリー構造で組み立てます。各構成員のエントリーとあわせて、まとまりごとのハブエントリーを追加します。たとえば、The Empireについてその構成員を並べたエントリーです。
- ハブではRecursionをオフのままにします。オンにすると、まとまりの名前が出ただけで、構成員全員の詳細なエントリーが一度にプロンプトに入ります。
たとえば、悪役を倒す方法のルールは、AIが忘れがちです。これをSelectiveにしてAND Anyを選び、Whole Wordsをオン、Orderを10にします。主キーワードはweakness、kill、destroy、stake、副キーワードはVlad、the countです。副キーワードがあるので、パーティーが狼を倒すときには発動しません。Whole Wordsにより、stakeが「mistake」に一致しなくなります。Orderが小さいので、エントリーが多い場面でも切り詰められません。
ロアブックをどこに置くかで、どのチャットから見えるかが決まります。グローバル、リンク、埋め込みのロアブックについては、ロアブックの概要とロアブックをキャラクターやペルソナに結び付けるを参照してください。
エントリーの内容でマクロを使う
Contentは、送信の前にほかのプロンプトのテキストと同じように展開されます。便利なマクロ:
{{char}}と{{user}}は名前に置き換わるので、共有のエントリーが、どのチャットでも自然に読めます。{{roll:1d6}}はダイスを振ります。{{setvar::mood::angry}}はこのチャット用の値を保存し、{{getvar::mood}}はそれを読み出します。{{random::a::b::c}}は選択肢から1つを選びます。{{random::common@3::rare@1}}のように重みを付けられます。低いProbabilityと組み合わせると、エンカウント表をまるごと1件のエントリーに畳み込めます。{{include::Entry name}}は、同じロアブックにある別のエントリーのテキストを差し込みます。オフになっているエントリーでも使えます。ロアブックのインクルードマクロを参照してください。{{// note}}はコメントです。AIに届く前、そして再帰の走査の前に取り除かれるため、何かを発動させることはありません。
すべてのマクロはプロンプトマクロを参照してください。
Recursive(再帰)がオンのとき、Marinaraは発動したエントリーの展開後の内容をもう一度走査します。マクロが生み出したテキストが、さらに別のエントリーを発動させることがあります。
Keyword testツール
Entriesタブの上部にあるKeyword test(キーワードのテスト)パネルでは、チャットなしでキーを確認できます。
- Keyword testを展開します。
- サンプルの段落や数件のメッセージをボックスに貼り付けます。
一致するエントリーには、緑色のアクセントとWould activateチップが付きます。ConstantのエントリーにはAlways activeチップが付きます。件数の行には、有効なエントリーのうち何件が発動するかが表示されます。Include other lorebooks(ほかのロアブックを含める)スイッチをオンにすると、ほかのロアブックの有効なエントリーも確認します。
このテストは、タイミング、確率、キャラクターとペルソナのフィルター、意味による照合を考慮しないため、実際のチャットでは結果が変わることがあります。
エントリーのフォルダー
フォルダーは、1つのロアブックの中でエントリーをまとめます。Lorebooksパネルのライブラリー用のフォルダーとは別物です。
- Add Folderをクリックし、その場でフォルダーの名前を変更します。
- エントリーをフォルダーにドラッグするか、エントリーのFolder(フォルダー)の選択欄を使います(タップでも操作できます)。
- フォルダーを別のフォルダーにドラッグすると入れ子にでき、上部の帯にドラッグすると入れ子から出せます。
- 各フォルダーには有効化のスイッチがあります(ツールチップは「Folder enabled」)。オフにすると、中のエントリーはすべて発動しなくなります。
- Clone folder(フォルダーを複製)は、フォルダーを中のエントリーとサブフォルダーごと複製します。
- Delete folder(フォルダーを削除)はフォルダーだけを削除します。中身は最上位の階層に移ります。
フォルダーがグループとして表示されるのは、検索せずに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で最新のメッセージの近くに置いた事実より効きが弱くなります。 |
関連ガイド
- ロアブックの概要
- Decisionモデル
- ロアブックのトークン予算と再帰
- ロアブックのセマンティック検索
- 知識ソース: Knowledge RetrievalとKnowledge Routerエージェント