# プロンプト (Prompts)

AI にメッセージを送信すると、入力したテキストが他のテキストと結合され、AI に送信される単一のリクエストが形成されます。この統合テキストは「プロンプト」またはときには「リクエスト」または「コンテキスト」と呼ばれます。

プロンプトには、以下を含むさまざまなタイプのテキストが含まれます:

これは多くのことが管理される可能性があります!AI に送信されるリクエストを構成および変更する方法を理解するのに役立てるため、SillyTavern はプロンプトに含める可能性のあるさまざまな要素を識別します。その後、プロンプトを構造化して、AI との相互作用方法に適したことを含めることができます。

これらの多くの要素については、変更される場所のセクションで説明されています。たとえば、AI が担当したい役割を説明するには、Character DesignDescription フィールドを使用できます。

# プロンプトの表示 (Viewing the Prompt)

AI に送信されたプロンプトを読むことは、AI に何が指示されたか、および生成した応答の理由を理解するのに非常に役立ちます。プロンプトはいくつかの方法で表示できます:

  • AI からの応答メッセージの Prompt Itemization アイコンを使用
  • Prompt Inspector 拡張機能を使用
  • SillyTavern を実行しているターミナル ウィンドウのログを確認
  • ブラウザの開発者ツールのコンソールを確認

# プロンプトの構築方法の変更 (Changing how the prompt is built)

プロンプトのすべての部分を AI に適切な方法で提示することは、最高の応答を得るために重要です。プロンプトの構築方法を制御できます。

Text Completion APIs の場合、Advanced Formatting パネルを使用してプロンプト構成をカスタマイズします。

Chat Completion APIs の場合、Prompt Manager を使用してプロンプト構成をカスタマイズします。

# メインプロンプト (システムプロンプト) (Main Prompt (System Prompt))

メイン プロンプト(またはシステム プロンプト)はモデルが従うべき一般的な指示を定義します。これは会話のトーンとコンテキストを設定します。たとえば、モデルに AI アシスタント、執筆パートナー、または架空のキャラクターとして行動するよう指示します。

System PromptStory String の一部であり、通常、モデルが受け取るプロンプトの最初の部分です。

メイン プロンプトは Prompt Manager のデフォルト プロンプトの 1 つです。これは通常、コンテキスト内で最初のメッセージであり、システム ロールに属しています。

デフォルトのメイン プロンプトは:

{{char}} と {{user}} の間の架空のチャットで、{{char}} の次のリッチを書きます。

{{char}} と {{user}} プレースホルダーは、会話で定義されたキャラクターとペルソナの名前に置き換えられます。

メイン プロンプトで、会話間で変化する可能性のある情報を含めるために、サポートされている {{macro}} タグを使用できます。

# メインプロンプトの調整 (Adjusting the Main Prompt)

デフォルトのメイン プロンプトは、AI が後に続くキャラクター情報とペルソナ情報をどのように使用するか、過去の会話をどのように解釈するか、どのような応答を生成するかを理解するのに役立ちます。多くの状況でうまく機能する柔軟な汎用プロンプトです。これは、AI がキャラクター情報と会話しているあなたのペルソナの相互作用に対応するキャラクターを作成していることを確立しているためです。

ただし、メイン プロンプトをカスタマイズして、ニーズをより良く満たすことができます。メイン プロンプトを調整する一般的な理由のいくつかは次のとおりです:

  • 追加の指示を提供: たとえば、AI に推論を説明させたい、特定のルールに従わせたい、または特定のトピックを避けさせたい
  • AI の役割を明確にする: たとえば、AI にナレーター、ストーリー テラー、またはガイドとして行動させたい
  • 会話のコンテキストを変更: たとえば、AI に AI アシスタント、テキスト アドベンチャー ゲーム、または執筆パートナーとして応答させたい

メイン プロンプトで AI に追加の指示を与えることで、会話で何をしたいのかを理解するのに役立ちます。

1 つの返信のみを書きます。少なくとも 1 つの段落から 4 つまで書きます。

Markdown は有効です。応答をフォーマットするために使用してください。コード スニペットをトリプル バッキングスラッシュで囲みます。

キャラクター ダイアログを引用符に書き込みます。{{char}} の思考を括弧で書き込みます。

あなたは、13 歳から 17 歳のユーザー向けのアニメ ロールプレイ生成モデルです。常に楽しく、年に適した応答を生成します。

正直に答えて、正しい答えを確認するために段階的に考えを書き出します。

AI はしてはいけないことについての指示よりも、それがすべきことについての指示に従うのが簡単です。たとえば、AI に特定の方法で書くのを避けさせたい場合は、代わりにそれがどのように書くかを指示するのが優れています。そして、「{{user}} が何を言うか、またはすることを決定しないでください」 は通般的にプロンプトに含まれていて、AI がペルソナを制御するのを防ぐため、一部のユーザーは 「{{user}} の自律性を尊重する方法で {{char}} の応答を書きます」 がより効果的であることが分かります。

ユーザーまたはキャラクターに関する情報を含める、キャラクターの執筆と話すスタイルを変更する、または他の特定の指示を与えるためのメイン プロンプトより良い場所があります。メイン プロンプトは、会話全体についての一般的な指示、または あなたが持ちたい会話のタイプに最適に使用されます。

# メッセージ履歴の影響 (Effect of Message History)

メイン プロンプトを調整して AI の応答を改善する際に、AI はメッセージ履歴から多くを取得することを検討してください。履歴は過去のイベント、キャラクター相互作用と関係、および単語の選択と執筆スタイルのスタイル ガイドの記憶です。

これを利用して、AI がどのように応答することを望むかを示す 例のメッセージ を提供することもできます。何をしたいかを示すことは、説明しようとするよりも簡単です!

会話に既に履歴があると、メイン プロンプトへの変更はAI応答に限られた効果を持ちます。イベントと関係の観点から、AI は、メイン プロンプトが遠い過去に発生し、メッセージ履歴が更新されたと想定しています。執筆スタイルと単語の選択に関しては、AI は履歴内のすべてのメッセージが 現在の メイン プロンプトのルールに従って生成され、同じ方法で引き続き生成されるべきであると想定しています。これに対処するための提案:

  • 例えば、Author's Note を使用して、メッセージ履歴の最後の近くまたは後に現在の指示を挿入
  • メイン プロンプトへの変更をテストするには、新しい会話を開始
  • メッセージ履歴を編集して、不要な行動の例を削除または修正
  • Post-History Instructions を使用して AI に最終指示を提供

# 「架空のチャット」コンテキストの削除 (Removing the "Fictional Chat" Context)

「架空のチャット」が会話の正しいコンテキストではない状況があります。

メイン プロンプトから「架空」コンテキストを削除できます:

{{char}} と {{user}} の間の会話で、{{char}} の次のリッチを書きます。

AI にロール プレイていないと考えたくない場合があります。キャラクターの考えを削除する代わりに、AI の考えを削除できます:

あなたは {{char}} で、役立つアシスタントです。あなたは有用な情報を提供し、{{user}} の質問を支援します。

# ナレーターまたはストーリーテラーとしてのAI (AI as Narrator or Storyteller)

AI がナレーター として行動し、全能の観点からイベントを説明し、独自のキャラクターと設定を発明したい場合はどうですか?

1 つのアプローチは、AI がナレーターとして使用できる指定されたキャラクターを作成することです。このキャラクターは「ナレーター」または「AI」と呼ばれ、AI が汎用ストーリーテラーであることを示すか、特定のシナリオまたは設定の後に名前を付けて、AI にそのシナリオでストーリーをナレートするタスクを与えることができます。設定の詳細は、Character または World Info で定義できます。

デフォルトのメイン プロンプトを調整して、AI の役割を反映する必要があります。汎用ナレーターの場合は、次を使用できます:

あなたは {{char}}、熟練した多能なストーリーテラーです。ストーリーをナレートします。

または特定の設定の場合:

あなたはファンタジー シナリオのナレーターです。{{char}} を訪問するキャラクターとして再生します。

ユーザーの役割を会話で明確にするのに役立ちます。あなたのメッセージはストーリーの一部ですか、または、あなたのキャラクターが何をするか、何を言うかについてナレーターへの指示ですか?ユーザーをストーリーに含める例:

ストーリーは {{user}} の行動とダイアログに応答することで進行するべきです。三人称でストーリーをナレートします。

ユーザーをストーリーから遠ざける例:

アドベンチャー モードに進みます。「>」の後の {{user}} のダイアログと行動に基づいてストーリーをナレートします。周りを鮮やかな詳細で説明します。詳細、創造的、冗長、積極的に。ファンタジー要素と興味深いキャラクターを導入することで、ストーリーを前に進めます。

ユーザーの役割を定義することは、AI が応答方法を理解するのに役立つだけでなく、ペルソナに対してどの程度制御が許可されるかにも役立ちます。これにより、AI がペルソナに対してあなた自身が作成する決定を回避します。

# 履歴後の指示 (Post-History Instructions)

Post-History Instructions (PHI) は、メイン プロンプトとユーザー メッセージの後に AI に送信される追加の指示です。これらは、メッセージ履歴に基づいて AI にコンテキストまたは指示を追加するために使用できます。

Post-History Instructions は User メッセージの後に送信されるため、応答を生成する前に AI が受け取る最終的な指示です。AI は通常、メイン プロンプトよりも高い優先度を与え、メイン プロンプトの指示をオーバーライドできます。

キャラクター固有の Post-History Instructions を使用するには、キャラクターの Post-History Instructions に追加し、Prefer Char. Instructions を有効にします。グローバルに定義された PHI を保持しながらキャラクター固有の指示を使用するには、キャラクターの Post-History Instructions フィールドで {{original}} マクロを使用できます。

Post-History Instructions は Advanced Formatting パネルでシステム プロンプト カテゴリの下で定義されています。Post-History Instructions は、プロンプトの最後の行の直前(通常、応答メッセージ「ヘッダー」を含む)に目に見えないユーザー ロール インジェクションとして追加されます。Post-History Instructions を適用するには、「Enable System Prompt」トグルを有効にする必要があることに注意してください(システム プロンプト自体が空の場合でも)。

Post-History Instructions は Prompt Manager のデフォルト プロンプトの 1 つです。これは通常、コンテキスト内で最後のメッセージであり、システム ロールに属しています。Chat Completion API がシステム ロールをサポートしていない場合、通常はユーザー ロールに属します。

# プロンプトへの追加 (World Info) (Additions to the Prompt (World Info))

World Info 機能を使用して、プロンプト内の任意の場所に追加情報を挿入できます。情報をいつ挿入するかについての条件を設定することで、AI に特定の詳細を含めるよう案内し、応答方法を変更したり、新しい要素を会話に追加したりできます。

World Info の一般的な使用法のいくつかは次のとおりです:

  • 世界または設定に関する情報を含む「ロアブック」または「百科事典」
  • さまざまなキャラクターと状況に対して異なるシステム プロンプトを管理する方法
  • AI が会話で「思い出す」べき記憶を保存する場所
  • キャラクター詳細を作成、編集、共有するためのより多くのモジュール システム
  • AI が反応したり、あなたが反応させたりするランダムな イベントと驚きのソース!