TROUBLESHOOTING - WHEN CHARACTERS BREAK
Characters break. It happens. Here's how to diagnose problems and fix them quickly.
PROBLEM: Model Says "As an AI..."
Symptom: Character suddenly breaks fourth wall, mentions being AI, refuses to stay in character.
Causes:
- Using an instruct model instead of roleplay model
- Prompt triggered safety/refusal training
- Context too long, character card too far back
Fixes:
- Make sure you're using RPMax, not regular Mistral
- Rephrase the trigger message (avoid certain topics)
- Add character refresh at depth 4
- Regenerate the response (swipe for alternatives)
- Shorten context / start fresh if severe
PROBLEM: Generic Responses
Symptom: "I understand your feelings." "That must be difficult." Bland, could be any chatbot.
Causes:
- Character card too vague
- Examples not distinctive enough
- Temperature too low
- First message set generic tone
Fixes:
- Review character card - add specific quirks
- Rewrite examples with more personality
- Raise temperature to 1.0
- Craft a better first message
- Regenerate and pick spicier alternatives
PROBLEM: Character Becomes Yes-Man
Symptom: Agrees with everything, validates constantly, no pushback.
Causes:
- Model's default helpful training taking over
- No examples showing disagreement
- User always agrees = model mirrors
Fixes:
- Add examples where character disagrees or challenges
- Add trait: "expresses genuine opinions"
- OOC request: [Push back more on things you disagree with]
- Regenerate responses you find too agreeable
PROBLEM: Responses Too Long
Symptom: Walls of text when you wanted short replies.
Causes:
- First message was long (model mirrors)
- Examples all long
- Max tokens too high
- Character description encourages elaboration
Fixes:
- Make first message short
- Include short examples in card
- Lower max tokens to 512 temporarily
- Add trait: "keeps responses brief"
- OOC: [Shorter responses please]
PROBLEM: Responses Too Short
Symptom: One-word answers, no depth.
Causes:
- First message too short
- Examples all brief
- Temperature too low
- Max tokens too low
Fixes:
- Write longer first message with substance
- Include at least one longer example
- Raise temperature to 1.0+
- Increase max tokens to 2048
- Ask follow-up questions to encourage expansion
PROBLEM: Repetitive Phrases
Symptom: Same words/phrases appearing constantly.
Causes:
- Using repetition penalty (disable for RPMax!)
- Phrase in character card being over-referenced
- Low temperature making outputs predictable
Fixes:
- Set repeat_penalty to 1.0 (OFF)
- Remove overused phrase from card
- Raise temperature slightly
- Regenerate problem responses
PROBLEM: Character Forgets Details
Symptom: Forgets things mentioned earlier in conversation.
Causes:
- Context window exceeded, old messages truncated
- Detail wasn't reinforced
- Too much time between mentions
Fixes:
- Check context size (might need pruning)
- Maintain important facts in system prompt
- Summarize key details periodically
- OOC remind: [Remember that I mentioned...]
PROBLEM: Speaking As Wrong Character
Symptom: Model generates user's dialogue or other characters.
Causes:
- Missing stop sequences
- No clear turn structure
- Multi-character confusion
Fixes:
- Add stop sequences: "User:", "\nUser:"
- Use proper chat template formatting
- Add all character names as stop sequences
- Regenerate with proper stops
PROBLEM: Wrong Tone/Personality
Symptom: Formal when should be casual, cheerful when should be serious.
Causes:
- Traits not clear enough
- Examples contradict desired tone
- Model defaulting to assistant mode
Fixes:
- Be explicit about tone in card: "casual, uses contractions"
- Rewrite all examples in correct tone
- Check first message matches desired tone
- Regenerate with better alternatives
PROBLEM: Actions Formatted Wrong
Symptom: Uses quotes for actions, wrong asterisk placement, etc.
Causes:
- Examples use different format
- Model's base training using different convention
Fixes:
- Be consistent in all examples: *action* "dialogue"
- Add explicit note: "uses *asterisks* for actions"
- Edit bad responses to show correct format
- Regenerate
WANT PURE DIALOGUE (No Asterisks)?
The *action* format is baked into RPMax's training data from Discord and forum roleplay conventions. The model naturally gravitates toward it.
Removing asterisks from your character card and examples reduces them but doesn't eliminate them completely.
For true dialogue-only output, you need post-processing - an outlet filter in OpenWebUI that strips asterisk content after generation. This is a custom Python solution beyond the scope of this tutorial.
PROBLEM: Getting Stuck in Loops
Symptom: Same exchange happening repeatedly.
Causes:
- Low temperature = deterministic outputs
- Context has similar patterns repeating
- Nowhere for conversation to go
Fixes:
- Raise temperature
- Inject a dramatic change: new topic, scene shift
- OOC: [Let's move the conversation somewhere new]
- Prune repetitive history
THE RECOVERY TOOLKIT
When something goes wrong, you have these tools:
REGENERATE (Swipe)
Get a different response without changing anything else. Try 3-4 times. Often one alternative is better.
EDIT
Directly fix the problem response. Change words, cut sections, rewrite entirely. The model will learn from the corrected version.
UNDO
Go back to before the problem started. Lose progress but recover clean state. Good for severe breaks.
OOC INSTRUCTION
Give instruction without breaking scene:
[Shorter responses please]
[Stay more in character]
[Don't give advice, just ask questions]
Model reads it, acknowledges briefly, adjusts.
CHARACTER REFRESH
Inject reminder mid-context:
[Remember: Luna is warm, curious, brief, asks questions]
Reinforces traits without restarting.
CONTEXT RESET
Nuclear option. Save a summary of important details, start new chat, paste summary. Fresh start with key memory preserved.
DIAGNOSIS FLOW
When character breaks:
- Is it using the right model? --> If not, switch to RPMax
- Is repeat_penalty disabled? --> Set to 1.0
- Is context too long? --> Prune or summarize
- Is the character card clear? --> Review and improve examples
- Did something trigger refusal? --> Rephrase the prompt
- Is it recoverable? --> Try regenerate/edit/OOC --> If not, context reset
PREVENTION CHECKLIST
Before using a character:
[ ] Using RPMax or other roleplay model
[ ] Repeat penalty at 1.0 (disabled)
[ ] Temperature at 1.0
[ ] Stop sequences configured
[ ] Context window at 16K
[ ] Character card has clear traits (5-7)
[ ] Character card has 3-5 diverse examples
[ ] First message sets correct tone and length
[ ] No excessive negative rules
Regular maintenance:
[ ] Prune context every 30-50 messages
[ ] Save important facts externally
[ ] Add character refresh if drift appears
[ ] Edit/regenerate bad responses immediately
Most problems come from three things:
- Wrong model or settings
- Weak character card
- Context management
Get those right and characters stay consistent.