Techalicious Academy / 2026-01-22-ai-companion

(Visit our meetup for more great tutorials)

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:

Fixes:

  1. Make sure you're using RPMax, not regular Mistral
  2. Rephrase the trigger message (avoid certain topics)
  3. Add character refresh at depth 4
  4. Regenerate the response (swipe for alternatives)
  5. Shorten context / start fresh if severe

PROBLEM: Generic Responses

Symptom: "I understand your feelings." "That must be difficult." Bland, could be any chatbot.

Causes:

Fixes:

  1. Review character card - add specific quirks
  2. Rewrite examples with more personality
  3. Raise temperature to 1.0
  4. Craft a better first message
  5. Regenerate and pick spicier alternatives

PROBLEM: Character Becomes Yes-Man

Symptom: Agrees with everything, validates constantly, no pushback.

Causes:

Fixes:

  1. Add examples where character disagrees or challenges
  2. Add trait: "expresses genuine opinions"
  3. OOC request: [Push back more on things you disagree with]
  4. Regenerate responses you find too agreeable

PROBLEM: Responses Too Long

Symptom: Walls of text when you wanted short replies.

Causes:

Fixes:

  1. Make first message short
  2. Include short examples in card
  3. Lower max tokens to 512 temporarily
  4. Add trait: "keeps responses brief"
  5. OOC: [Shorter responses please]

PROBLEM: Responses Too Short

Symptom: One-word answers, no depth.

Causes:

Fixes:

  1. Write longer first message with substance
  2. Include at least one longer example
  3. Raise temperature to 1.0+
  4. Increase max tokens to 2048
  5. Ask follow-up questions to encourage expansion

PROBLEM: Repetitive Phrases

Symptom: Same words/phrases appearing constantly.

Causes:

Fixes:

  1. Set repeat_penalty to 1.0 (OFF)
  2. Remove overused phrase from card
  3. Raise temperature slightly
  4. Regenerate problem responses

PROBLEM: Character Forgets Details

Symptom: Forgets things mentioned earlier in conversation.

Causes:

Fixes:

  1. Check context size (might need pruning)
  2. Maintain important facts in system prompt
  3. Summarize key details periodically
  4. OOC remind: [Remember that I mentioned...]

PROBLEM: Speaking As Wrong Character

Symptom: Model generates user's dialogue or other characters.

Causes:

Fixes:

  1. Add stop sequences: "User:", "\nUser:"
  2. Use proper chat template formatting
  3. Add all character names as stop sequences
  4. Regenerate with proper stops

PROBLEM: Wrong Tone/Personality

Symptom: Formal when should be casual, cheerful when should be serious.

Causes:

Fixes:

  1. Be explicit about tone in card: "casual, uses contractions"
  2. Rewrite all examples in correct tone
  3. Check first message matches desired tone
  4. Regenerate with better alternatives

PROBLEM: Actions Formatted Wrong

Symptom: Uses quotes for actions, wrong asterisk placement, etc.

Causes:

Fixes:

  1. Be consistent in all examples: *action* "dialogue"
  2. Add explicit note: "uses *asterisks* for actions"
  3. Edit bad responses to show correct format
  4. 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:

Fixes:

  1. Raise temperature
  2. Inject a dramatic change: new topic, scene shift
  3. OOC: [Let's move the conversation somewhere new]
  4. 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:

  1. Is it using the right model? --> If not, switch to RPMax
  2. Is repeat_penalty disabled? --> Set to 1.0
  3. Is context too long? --> Prune or summarize
  4. Is the character card clear? --> Review and improve examples
  5. Did something trigger refusal? --> Rephrase the prompt
  6. 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:

  1. Wrong model or settings
  2. Weak character card
  3. Context management

Get those right and characters stay consistent.