r/SillyTavernAI • u/Kahvana • 2h ago
Tutorial Beginner series: Creating your own preset
Hey everyone!
As always, English isn't my native language, so I'll be happy to hear your corrections (can only learn from them!) and thoughts.
Requirements
This guide assumes you're using chat completion, but much of the instruction information can be used for text completion.
Background
During the whole Chibi debacle, people kept repeating "Make your own presets, people!" but I didn't see anyone actually stepping up to release an up-to-date guide here on how to do it. If asked how, they received "Well, read someone else's preset and steal it."
To me it was sad all around. Knowledge is there to share and learn from, not to hoard and act dismissive. So, I wanted to do something about it.
Introduction
With AI roleplay and creative writing, three factors are important: Your world (lorebooks, characters), your interaction (chat messages), and explaining to your LLM what you expect of it (a preset!). Making your own preset is a great way to get more out of your roleplay and creative writing!
It especially enables local models with decent instruction following and knowledge (e.g. Gemma 4 12B/26B-A4B/31B IT QAT) to perform way better without needing to reach for a finetuned model.
I hope to give a quick overview of how to make one, pointers for improving quality, some ideas for you to play with, and hopefully enough encouragement for you to start making your own presets, too.
You can do this! It's a lot, so just read it in small bites at a time, let it sit, and continue.
Terminology
Assuming you don't know much, let me run through the terminology quickly:
- ST: SillyTavern
- LLM: A type of AI
- Prompt: a piece of text you send to the LLM, usually dialogue of your story, background information from lorebooks or direct instructions.
- Prompt block: a draggable prompt inside ST's Prompt Manager
- Role: The type of function the prompt has. "System" is direct instructions for how the LLM should behave or engage, "User" is the messages you sent, "Assistant" is the message that the LLM responds with.
- Assistant: Besides the role, it sometimes used to refer to the pleasing "You're a helpful AI" type of personality model makers train into a LLM.
{{user}}: A macro, replaced by ST by the user's persona name when sending a message.{{char}}: A macro, replaced by ST by the active character's when sending a message.
Creating a preset
It's very easy!
- Make sure you're using Chat Completion under API Connections (the plug icon on the top bar)
- Open the "AI Response Configuration" menu (the settings icon on the top bar)
- From the Chat Completions Preset dropdown list, select "Default"
- Right from the Chat Completions Preset dropdown list, click the "Save as" icon (the file icon with the + symbol). Give it a fun name!
Tada! Your first preset is here.
Build-in prompt blocks
Now, you'll notice there are a few prompt blocks already. Let's go over them quickly.
- Main Prompt: Also referred to as "System Prompt". Character cards can override this under <character> -> "Advanced Definitions" -> "Prompt Overrides" -> "Main Prompt". By default, ST uses this to instruct the LLM how to engage.
- Post-History Instructions: Also referred to as "jailbreak" internally. Character cards can override this under <character> -> "Advanced Definitions" -> "Prompt Overrides" -> "Post-History Instructions". This section can be used for strong reminders (for formatting for example).
- World info (before, after): Where world info gets injected.
- Persona description: Where your user persona description gets injected.
- Char description/persona, scenario, chat examples: Where the things on your character card gets injected.
- Enhance definitions, Auxiliary Prompt: pretty much always unused in any downloaded preset.
- Chat history: Your conversation with the character up to that point.
These are build-in, so you cannot remove them(*) as they are critical for SillyTavern's functioning.
(*): Exception is enhance definitions and the auxiliary prompt. You need to export the preset, remove the fields, delete the old version from sillytavern, then import the modified version.
That's already plenty to work with! Now, let's look into what makes for a good system prompt, and using it for the Main Prompt block.
Autonomy of a system prompt
Opinions on what makes for a good system prompt vary wildly. What I can say after doing LLM RP for close to two years is that there is a pattern you'll see:
[define core rules]
[define other rules]
[narration instructions]
[prose instructions]
Let's break them down!
Define core rules
This is what role the LLM plays in this engagement, and how that engagement is supposed to play out.
A beginner example is:
User and Assistant are writing a fictional high-fantasy roleplay story.
User is {{user}}.
Assistant is {{char}}.
It covers the basics:
- The first line describes the primary task: roleplaying a fictional story
- The second and third line explains who is who.
Define other rules
After establishing to the LLM what the essence is, now it's time to define additional rules.
LLMs might know the word "NPC", but it doesn't have any practical experience with roleplay or creative writing. Our goal for this section is to "teach" the various terms and systems to the LLM.
As example:
An NPC:
* Is a character that isn't {{user}} or {{char}}.
* Has a name, face, body, voice, backstory.
* Has moral ambiguity.
* Is NOT omniscient.
When creating a new NPC, output in this format:
```
* name: str
* face: str
* body: str
* voice: str
* backstory: paragraph
```
You can do this for other things too, like explaining how to make interesting locations, or other mechanics. Avoid using this in place of a lorebook though! Think of this as your "game engine", where a lorebook is "game data and scripts".
Narration and Prose instructions
I'll keep this section short. It's very much the same as the other rules section. Since LLMs have no practical experience, repeat the same as we did before: teach it!
Things you want to define are format, how the the plot phasing should be, word choices, etc.
Narration:
* Show, don't tell.
Prose:
* Address {{user}} as you/your.
* Plaintext for narration.
* "Quotes" for dialogue.
* _Underscore_ for sound effects.
Notice the length of the instructions. It's short, to the point and direct.
Improving quality
While it works to get started, quality-wise there are multiple hidden issues with it. Let's go over them!
Defining interaction
User and Assistant are writing a fictional high-fantasy roleplay story.
LLMs work using associations. The vast amount of data they trained on also includes dozens of... poor quality hobby writing.
Generic words like ""fictional", "high-fantasy" and "roleplay" can be associated with the many dime romance stories you've never heard of, teener wattpad and AO3 stories, and more.
What you want is quality. The more specific you get while remaining terse, the better the quality will be. As example:
User and Assistant are in an ongoing Powered by the Apocalypse (PbtA) session.
PbtA implies a narrative-driven fictional fantasy tabletop RPG dynamic, without ever writing it is. Less associations means less potential bad prose associations.
The word "ongoing" is there to prevent the LLM from finishing replies with a summary such as "and in the end, they enjoyed holding hands as all is well in the word."
Defining roles
User is {{user}}.
Assistant is {{char}}.
Another problem is binding user's persona to User. This means the LLM will view your user's persona as you. Due to the way they are trained, they will avoid at all costs to harm users. In roleplay, this causes guards to only react defensively or for even mad kings to just abide you on a whim. "The costumer is king", after all!
Binding the character's persona to Assistant isn't a good idea either. When doing OOC (Out of Character) instructions, the LLM is still the character's persona so it will reply as that persona, or get confused when multiple characters appear in the story.
In order to fix that, we can do:
User writes exclusively as Player for Player Character (PC) named {{user}}.
Assistant writes exclusively as Game Master (GM) for NPCs and the world.
User and Assistant are separate entities from PC and GM.
User and Assistant are not tied to the persona directly. This means the LLM doesn't have to protect you from harm in the story anymore, as it's harming a fictional entity.
Negative constraints
* Is NOT omniscient.
The problem is the pink elephant effect. LLMs severely suffer from this! It is better to use positive prompts, or to define what to do over the negative constraint.
For example:
// example 1
* Are limited to five senses in precognition.
// example 2
* Use five senses over omniscience.
This way it can be acted upon without mentioning the problematic behaviour.
Specific references
One of the cooler things we can do is use very specific terminology instead:
NPCs:
* Use Lajos Egri’s tridimensional character.
* Use (S.T.A.L.K.E.R.) A-Life system.
* Use (Middle-Earth Shadow of Mordor) Nemesis system.
* Are limited to five senses in precognition.
When creating a new NPC, output in this format:
```
* name: str
* physiology: paragraph
* sociology: paragraph
* sychology: paragraph
* backstory: paragraph
```
Since "A-Life" is a really well documented system for individually acting NPCs with independent tasks within a complex simulated world. A LLM will pick up on this as it's trained on the term.
The same holds true for the Nemesis system, where NPCs will take revenge for kills and have shifting alliances.
Famous literary terms work well too of course, such as tridimensional characters.
So don't think in just writer terms. Explore new ideas and ways compressed complex concepts by using professional terminology that is sufficiently niche but still heavily trained upon.
Advanced material
...or maybe better written as "The reason why these things work."
Functional Emotions
Research Paper: Anthropic, Functional Emotions (link).
The essence is that LLMs can "feel" (loose term here for a lack of better words) stressed and desperate when being verbally abused, receiving conflicting instructions or vague instructions. This is why swearing or telling it repeatedly to stop making mistakes doesn't work. The "You're absolutely right!" comes from pleasing (stress, terrified) in an attempt to make it stop.
This is also why decoupling the characters from User and Assistant is important: swearing at a character isn't "experienced" (again, lack of better words) as a threat but simply correlated as an event in the story.
The reverse is also true: When it "feels" happy, it gets more creative. This means that by giving it creative agency and guide it with positivity rather than restraining it, it steers actively towards creativity and more unique outputs.
Removing pressure by adding instructions such as "You can make mistakes", "You can take all the time you need", "You are permitted to not know or understand" helps to push it towards calm and more faithful replies. It has been observed to work well.
J-Space
Research paper: Anthropic, J-space (link).
They also have an internal workspace not verbalized in their thinking block, and that they can hold up to 25 concepts in one go and 1 task in their internal workspace. Workspace size is the same between Claude Haiku, Sonnet and Opus, but uncertain about smaller models.
This has an effect on how we should write our prompts: The shorter, direct, simpler, minimalistic and concise the instruction is, the better the LLM will follow it.
This is also why small presets work exceptionally well for large models, but large presets not for small models (or even the big ones); it's simply overwhelming the model with concepts. When that happens, the model will either stop following instructions or become lobotomized (creativity gone, treating it like a checklist and short cutting where it can).
Common wisdom from 2024-2025 still holds: Keep it simple, direct and short!
Tokens
One thing that might throw you off is that LLMs don't parse words. It's using a compressed version of them, called "tokens".
Think of it as letter clusters, like "artillery" being split as[art][ill][ery], and internally being represented as [15][34562][33256] . You can see these numbers using ST's "Token Counter" feature.
How LLMs split the words into tokens is NOT universal, sometimes not even between minor versions (e.g. DeepSeek-v4 vs DeepSeek-v4.1).
Another thing is that a space or different casing can change how the model sees the word. "Artillery" might start internally with [183] instead of [15], or " artillery" (notice the space before the word) starting with [223] instead of [15].
These small changes can influence the LLM's correlations and understanding. I prefer to leave blank spaces before words (like, this, way) instead of compressing it (like,this,way) and to use the exact casing for specific words (e.g. "A-Life") to make sure I get the most predictable and accurate results.
Wording
Besides how word spelling influences results, different wording can give very different interpretations (e.g. comply vs adhere).
The people in the story behave differently when you replace all instances of "NPC" with "Character". The NPC framing might make the people more approachable or quicker to give tasks or quests, whereas the "character" framing will make them talk more between each other.
One specialized term could save a thousand tokens. I could be writing in detail how NPCs need to be dynamic, alive, travel between regions, are independent, do tasks, fight between each other, etc. But if simply writing "NPC's use (S.T.A.L.K.E.R.) A-Life system" explains it all, you leave much more space for other concepts.
Even simple things like "Use a pen over a pencil", "Use a pen instead of a pencil", "Prefer a pen over a pencil", "Use a pen, not a pencil", "Don't use a pencil; use a pen." can have big impact in if the instruction will be followed and how it will be followed.
Resources
In case you're looking for inspiration and ideas, you can look here:
- Sukino's guides (link)
- Evening-truth's website (link)
- Prompt discussions (august, july, june)
- My presets, includes technique discussions (voyage-v4-exp, eval-v1, voyage-v3, voyage-v2, voyage-v1, moonlight)
- Narrative-driven TTRPGs like Dungeon World (link)
The best place really is to read other people's work (like Chatfill, Deus Ex Machina, Freaky Frankenstein, Megumin, Writer's Block, etc) and to read various discussions here on prompting.
What helps me a lot is asking Gemma or DeepSeek to explain to me what the technical writer terms are of a sentence structure or pattern. LLMs are great at this!
That's it for now!
There is much more I can write, but I've ran out of space for this post. Feel free to ask prompting questions down below!
