Preset Editorとプロンプトの管理

プリセットとは、プロンプト(返信のたびにMarinaraがモデルに送るテキスト)の設計図を保存したものです。何をどの順番で入れるかを決めます。対象は、自分で書いた指示、キャラクターカード、ペルソナ、チャット履歴、ロアブックのエントリーなどです。Preset Editor(プリセットエディター)でプリセットを組み立て、チャットに割り当ててください。

プリセットがプロンプトを組み立てるのはRoleplayチャットです。ConversationチャットとGameチャットは、代わりに1つのプロンプト欄を使います(ConversationチャットとGameチャットを参照)。プリセットにAPIキーは要りませんが、プロンプトを送るには動作するアカウントが必要です。AIプロバイダーへの接続を参照してください。

プリセットをチャットに割り当てる

プリセットは、チャットで使われるまで何もしません。Roleplayチャットでは、次のどちらの方法でも割り当てられます。使いたいプリセットを選ぶには、割り当ててください。自分で作るには、プリセットを作るを参照してください。

Presets(プリセット)パネルから割り当てる場合:

  1. チャットを開きます。
  2. Presetsパネルでプリセットの行を探します。コンピューターでは、行にカーソルを合わせるとボタンが表示されます。
  3. チェックマークのAssign to chat(チャットに割り当て)ボタンをクリックします。チェックマークは、そのプリセットが使用中であることを示します。もう一度クリックすると割り当てを外せます。

Chat Settings(チャット設定)から割り当てる場合:

  1. チャットを開き、Chat Settingsを開きます。
  2. Prompt Preset(プロンプトプリセット)を探し、ドロップダウンからプリセットを選びます。

プリセットに変数がある場合は、Configure Preset Variables(プリセット変数の設定)ウィンドウが開きます。プリセット変数を参照してください。プリセットを切り替えると、それまでの変数の選択は消えます。

プリセットを作る

  1. サイドバーからPresetsパネルを開きます。
  2. New(新規作成、プラスのアイコン)をクリックします。Create Presetウィンドウが開きます。
  3. Name(名前)を入力します。この欄は必須です。必要ならDescription(説明)も追加します。
  4. Create(作成)をクリックします。プリセットがPreset Editorで開きます。
  5. Sections(セクション)タブでプロンプトを組み立てます。
  6. 右上のSave(保存)をクリックします。

エディターは自動では保存しません。変更するたびにSaveをクリックしてください。保存していない編集があるまま離れようとすると、警告にKeep editing、Discard、Save & closeが表示されます。

プリセットをエクスポートするには、上部バーの上向き矢印のアイコン(ツールチップはExport preset)をクリックします。保存していない編集があるときは、Marinaraが先に保存するよう求めます。削除するには、ゴミ箱のアイコンをクリックします。

Presetsパネル

プリセットが置かれているのはPromptsセクションです。ほかのセクションはRegexesとFunctionsです。上部のボタンはNew、Import(.jsonファイルを読み込みます)、Select(複数をまとめてエクスポートまたは削除します)です。

各行には、名前、囲み形式、セクション数、作成者が表示されます。スターを付けたデフォルトのプリセットにはDEFAULTバッジが付きます。行をクリックすると開きます。

Preset Editorのタブ

タブ内容
Overview(概要)名前、説明、囲み形式、作成者。
Sectionsブロックとマーカーで組み立てる、プロンプトの構造。
PromptsConversationチャットとGameチャットで使う、モードごとのプロンプト。
Parameters(パラメーター)生成設定の初期値。生成パラメーターを参照してください。
Regex(正規表現)このプリセットにリンクした正規表現スクリプトと、Scoped regex default(範囲限定の正規表現のデフォルト)。正規表現スクリプトを参照してください。

Overviewタブ

読み取り専用のカードが2つあり、SectionsとGroupsの数を表示します。

Promptsタブ

組み込みのMarinara's Universal Preset(Marinaraの汎用プリセット)は、プロンプトの文章を提供しますが、生成パラメーターは指定しません。このプリセットに以前保存されたサンプリング、推論、書式、トークンの設定は無視され、代わりにアカウントの設定、チャットの上書き、アプリのデフォルトが適用されます。カスタマイズするには、編集できるコピーを作ってください。

セクションとマーカー

プロンプトを組み立てる場所がSectionsタブです。セクションは上から下へ順に組み立てられます。

  1. Add Section(セクションの追加)をクリックします。
  2. Prompt Blockかマーカーを選びます。

Prompt Blockは自分で書くテキストです。システム指示、口調のルールなど、毎回のプロンプトに入れたいものなら何でも書けます。マーカーは、それ自体の文章を持ちません。プロンプトを送るときに、Marinaraがチャットの最新の内容で埋めます。

マーカー挿入される内容
Character Info使用中のキャラクターカードの内容。
Persona使用中のペルソナの内容。
Chat Historyチャットのメッセージ。
Chat Summaryまとめたチャットの要約。
Dialogue Examplesキャラクターの会話例。
Lorebook Marker (All)有効なロアブックのエントリーすべて。
Lorebook Marker (Before)前に入れる設定のロアブックのエントリー。
Lorebook Marker (After)後ろに入れる設定のロアブックのエントリー。

マーカーの行にはMARKERバッジが付きます。ほとんどのマーカーには文章を書き込めません。ロアブックのエントリーを前と後ろに分けたいのでなければ、Lorebook Marker (All)を使ってください。

使う機会の少ないマーカーが3つあります。

有効なDialogue Examplesマーカーがない場合、中身のある会話例は、Character Infoのシナリオの後ろに、プリセットの囲み形式で追加されます。配置を自分で決めたいときは、このマーカーを追加してください。Marinaraが同じ内容を二重に入れることはありません。

チャットで有効なロアブックがあるのに、プリセットにロアブックのマーカーがない場合は、「Add a lorebook marker when this preset should receive active lorebook entries.」という警告が表示されます。エントリーがモデルに届くよう、マーカーを追加してください。ロアブックの概要を参照してください。

「inject as section」をオンにしたカスタムエージェントがある場合は、追加メニューにAgent Sections(エージェントのセクション)が表示されます。それぞれがそのエージェントの最新の出力を挿入し、その前後に自分の指示を書き足すこともできます。

セクションを編集する

  1. セクションの名前か矢印をクリックして展開します。
  2. Nameか役割(System、User、Assistant)を変更します。
  3. Prompt BlockならContent(内容)を編集します。マクロを使えます。
  4. 右上のSaveをクリックします。

行の操作:

グループ

グループは、複数のセクションを1つの入れ物にまとめます。

  1. SectionsタブでGroupsをクリックし、New Group(新しいグループ)をクリックします。
  2. グループ名をクリックすると、名前を変更できます。
  3. セクションを展開し、Groupドロップダウンでグループを選びます。

XMLでは、グループが1つの親タグになります。MARKDOWNでは、1つの見出しになります。グループを削除しても、中のセクションは消えません。グループから外れるだけです。

位置と深さ

各セクションの編集画面にはPosition(位置)があります。

囲み形式

OverviewタブのWrap Formatは、各セクションをどう囲むかを決めます。

形式結果
XML各セクションをタグで囲みます。グループは親タグになります。これがデフォルトです。
MARKDOWN各セクションに見出しが付きます。グループは上位の見出しになります。
NONE何も囲みません。内容は書いたとおりに送られます。

たいていのモデルにはXMLが合います。タグがないほうがモデルの反応が良い場合だけ、ほかの形式を試してください。

1つのPrompt Blockだけをタグや見出しなしで送るには、そのブロックを展開してSend without wrapper(囲みなしで送信)をオンにします。グループのタグは引き続きブロックを囲むことがあるため、何も付けずに送りたいときは、ブロックをグループから外してください。マーカーには常に囲みが付きます。また、形式がNONEのときは、このスイッチは表示されません。

ConversationチャットとGameチャット

これらのチャットは、Sectionsからプロンプトを組み立てません。モードごとのプロンプトを1つ使います。Chat Settings(チャット設定)のPrompt Preset(プロンプトプリセット)セクションには、手持ちのプリセットが並ぶPrompt source(プロンプトのソース)ドロップダウンがあります。最初はDefault conversation promptかDefault game promptになっていて、プリセットが1つもない場合はNo presets availableと表示されます。Presetsパネルでは、割り当てのボタンに「Prompt presets are not available in conversation mode.」と表示されます。

ドロップダウンの下のバッジは、プロンプトがどこから来ているかを示します。

バッジ意味
Default内蔵のプロンプト。
Preset選んだプリセットのプロンプト。
Style選んだGMのプロンプトスタイルのプロンプト。Gameチャットだけです。
Customこのチャットだけのローカルな編集。ほかのすべてより優先されます。

テキスト欄には、使用中のプロンプトが表示されます。編集すると、このチャットだけのコピーができます。テキストがプリセットやデフォルトと完全に一致する場合、Marinaraはカスタマイズされていないものとして扱います。カスタムの編集があるあいだは、リセットのアイコン(ツールチップはReset to default prompt)が表示されます。

Gameチャットには、さらに2つの設定があります。GM prompt style(GMのプロンプトスタイル)はGameプロンプトだけを置き換えますが、チャットだけの編集があればそちらが優先されます。Extra instructions(追加の指示)は、Gameプロンプトに文章を追加します。上限は2000文字で、たとえば「Write in the style of Terry Pratchett.」のように書きます。

判定ブロックとプロンプトキャッシュ

セクションに判定ブロック{{#if decision:"..."}}を含めると、チャットについての文が真のときだけ、その部分が送信されます。Decisionモデルへの問い合わせを参照してください。

よく変わる判定ブロックは、履歴後の指示など、プロンプトの後方に置いてください。分岐が変わると、プロバイダーはその地点以降のプロンプトを再利用できなくなるため、前方で変わるとキャッシュによる節約の大部分を失います。それより前の変わらない部分は、引き続き再利用できます。判定を先頭近くに置くのは、答えがほとんど変わらない場合だけにしてください。プロンプトキャッシュを参照してください。

無効なセクションやグループの判定文は問い合わせず、Decision statements per turn(1ターンあたりの判定文数)にも数えません。

AIに何が届いたかを確認する

Peek Promptは、あるメッセージについて、組み立て終わったプロンプト全体を表示します。おかしな返信の原因を調べるいちばんの近道です。Peek Prompt: AIが受け取った内容を確認するを参照してください。

関連ガイド