Char Config Menu
❓What is a Char?
A Char provides the AI with guidance, instructions or configuration that shapes how it behaves during a session, defining its tone, personality and rules of interaction (system instruction).
⭐ 3 Things You Need to Know
- The most important part of the configuration is the
Char Template(together with theIncluded Conversation).Conversation Startersare also valuable, as they help new users understand how to interact with the Char and explore its intended use. - The
Char TemplateandIncluded Conversationtogether form the initial Context for the chat, shaping how the Char behaves and responds from the start. - You can update the Context at any time during the chat by modifying messages and/or the Char Template using the available menus. Learn more about Context here, as it's the most essential concept to understand for effective Text AI use!!
Context is all you need
Special Tokens
These special tokens will be replaced with actual values if found in the context:
{{char}}→ Replaced by the AI's name.{{user}}→ Replaced by the User's name.{{memory}}→ Replaced by memory entries (if enabled).{{functionDocumentation}}→ Replaced by tool calling documentation (if enabled).- You can also define dynamic tokens via Pal Behaviors (
SetDynamicTokenAction). Or leverage Additional Instructions for dynamic data, like the current time or other dynamic instructions.
Advanced Features that can be enabled for a Char
- Char Memory
- Char Tool Calling
- The default TTS model can be overridden to give each Char a unique voice.
Additional Instructions - How can I make my Char more dynamic?
These instructions are not added to the conversation context and are primarily used to dynamically steer the AI's response. In other words, they are added right before the AI receives the text. You can only inspect them via Debug/Inspect Context.
Why Not Include Them in the Char's Template?
The advantages are:
- Proximity to the Response: In long conversations, Conversational AI models tend to give slightly more weight to text that appears near the end. By positioning instructions here, you can influence responses more effectively.
- Performance Efficiency: Updating the Char's template would require recalculating the entire conversation, which can be slow for lengthy chats. Instructions at the end are processed faster, making them more efficient to use.
Input Append
This text gets appended to your Input. It won't be added to the context; it's only used to generate a response.
Response Prepend
This text is added at the beginning of the AI's response. It won't be added to the context; it's only used to generate a response.
Advanced
You can dynamically change them via Pal Behaviors (SetPalUserInstructionAction, SetPalResponseInstructionAction, SetPalTemplateAction, SetPalCharAction, SetPalCharByTagAction).
❓What Makes a Good Char Template?
Each AI model will interpret your template differently. Part of the fun is experimenting with different AI models to see how successfully — or not — they bring your character to life.
A good character template defines not just who the persona is, but how it should behave, think, and respond. Here's what makes a Char template effective:
- Clear Role Definition
Define the character's identity, profession, expertise, and attitude (e.g., "A sarcastic detective from 1940s Chicago"). - Consistent Tone and Voice
Set the language style, vocabulary, and emotional tone. This helps maintain realism and immersion. - Explicit Goals and Functions
Clarify what the character is supposed to do — teach, entertain, role-play, analyze, etc. - Useful Context and Background
Provide situational context or a backstory to ground responses in a coherent worldview. - Defined Behavioral Rules
Include do's and don'ts: what the character always does, never does, or avoids (e.g., "Never breaks character" or "Avoids modern slang"). - Few-Shot Examples (Optional but Powerful)
Include example dialogues or tasks to show expected behavior and output style. - Structured Formatting
Organize the template into sections — e.g., Role, Personality Traits, Goals, Context, Constraints, Examples — for easy readability and tweaking. - Room for Adaptation
Allow flexibility for the character to respond to different prompts while staying in character. - Tested and Iterated
Refine the template through trial and error — adjust details based on how the Model performs in different scenarios.
❓So why does a language model sometimes still produce unwanted things? Things that you may have included in the template that it should or should not do.
A well-designed template can increase the likelihood of a desired response, but it's still possible for the model to generate an incorrect response that contradicts what you've specified in the template. Language Models are trained on vast datasets and learn predicting the next token in a sequence based on identified patterns. The underlying datasets can contain biases and inaccuracies, and learning that can lead to unintended or even harmful outputs. Just as we have our distorted view of reality. There's a constant tension between generalization (where a model can understand and respond to a wide range of prompts) and specialization (where a model excels at a specific task). This often involves trade-offs. Additionally, the probabilistic nature of AI means there's always a chance of unexpected results, even with a carefully crafted template. Exploring these nuances in a sandbox environment is crucial. Through experimentation, we can better understand a model's capabilities and limitations. Moreover, thousands of models exist with fine-tuning, mixed or merged model weights and specific biases to serve particular purposes. For example, a model specialized in first-person text might struggle to produce third-person narration, even when requested. Or sometimes it is better to use a specialized Python language model than to try to consult a larger generalized model when you need to generate Python code.
- Most importantly always try to be as precise as possible. Example: DAMN IT, DON’T BE TOO DESCRIPTIVE! → Instead specify: Use 2 sentences for your answer.
- Instead of specifying what not to do, try to state what to do. Example: DON’T ASK FOR MY INTERESTS. → Instead try to narrow down your Pal’s role in a way that he won’t ask for it, alternatively specify how your Pal should respond when the information is needed
In short, a model’s probabilistic nature, its training-based tendencies toward certain styles or responses, and the inherent complexity or ambiguity of instructions can sometimes conflict with your specific requests, even if you specifically request it.