Prompt Engineering Issues in SillyTavern

Things I think definitely need changing

  • Lack of Example Separation


You can clearly see how the only thing separating the example chats from the latest chat is the ### New Roleplay instruction. It is not cleanly separated (newline after but not before), and there's no indication at the start of the Example Messages that they are indeed examples, and not the character's history. Strangely enough, they are treated identically:

This gives it unnecessary attention towards memorizating irrelevant aspects of the example chats instead of focusing on how it defines their way of writing. Replace this with something like:

  • Roleplay Preset


    By default, this assumes that every generation should follow this criteria:

    ### Response (2 paragraphs, engaging, natural, authentic, descriptive, creative):

    This is needlessly verbose and forces it to always meet this... for every generation. Sometimes characters that are meant to be banal should stay that way. I have a card meant to respond in short quips and this breaks it. Replace with:

    ### Response:

Things that might be beneficial

Ensuring that each generation contains the whole context would prevent unnecessary ### Instruction padding, and it would slightly help it / bias towards understand that it needs to factor in the messages from both {{user}} and {{char}}.

Also, I think keeping it consistent through the prompt that it's between {{char}} and {{user}} and that {{char}} is the primary character is better than trying to force it to only write as {{char}} by directly telling it to not write for {{user}}.

Edit
Pub: 08 Sep 2023 19:52 UTC
Edit: 08 Sep 2023 23:23 UTC
Views: 818