Portrait of Michael Limberger

Michael Limberger

Need me? Email mike@limberger.ca

AI

Troubleshooting - When Characters Break

When the voice slips

Characters break. It happens. Here is how to diagnose and fix them quickly.

"As an AI..."

The character breaks the fourth wall, mentions being an AI, or refuses to stay in character. Common causes: an instruct model instead of a roleplay model, a prompt that triggered safety training, or a context window so long that the character card sits too far back.

Make sure you are using RPMax, not regular Mistral. Rephrase whatever triggered the break. Add a character refresh at depth 4. Regenerate (swipe for alternatives). If it is severe, shorten the context or start a fresh chat.

Beige replies

"I understand your feelings." "That must be difficult." Bland lines that could come from any chatbot. Causes: a vague card, examples that are not distinctive, temperature too low, or a first message that set a generic tone.

Add specific quirks. Rewrite examples with more personality. Raise temperature to 1.0. Craft a better first message. Regenerate and pick the spicier alternatives.

The yes-man

The character agrees with everything, validates constantly, and never pushes back. Causes: the model's default helpful training taking over, no examples that show disagreement, or the user always agreeing so the model mirrors that pattern.

Add examples where the character disagrees or challenges. Add the trait "expresses genuine opinions." Out of character: [Push back more on things you disagree with]. Regenerate replies you find too agreeable.

Too long, or too short

Walls of text usually mean the first message was long (the model mirrors length), the examples were all long, max tokens is too high, or the description encourages elaboration. Make the first message short. Include short examples. Lower max tokens to 512 temporarily. Add "keeps responses brief." Out of character: [Shorter responses please].

One-word answers usually mean the first message was too short, the examples were all brief, or temperature is too low. Lengthen the first message and the examples. Raise temperature toward 1.0. Raise max tokens if you capped it hard.

Forgot what you said

The context window was exceeded and old messages were truncated, or the detail was never reinforced and too much time passed between mentions. Check context size. Keep important facts in the system prompt. Summarize key details periodically. Out of character: [Remember that I mentioned...].

Talking as the wrong person

The model generates the user's dialogue or speaks as other characters. Usually that means missing stop sequences, no clear turn structure, or multi-character confusion. Add stops for User: and a newline-plus-User:. Use the proper chat template. Add all character names as stops. Regenerate with those stops in place.

Wrong tone

Formal when it should be casual, cheerful when it should be serious. Traits were not clear, examples contradict the desired tone, or the model is defaulting to assistant mode. Be explicit: "casual, uses contractions." Rewrite all examples in the correct tone. Check the first message. Regenerate.

Actions formatted wrong usually means the examples use a different format, or the model's base training prefers a different convention. Be consistent: *action* "dialogue". Add an explicit note that the character uses asterisks for actions. Edit bad replies to show the correct format.

If you want pure dialogue, no asterisks

The *action* format is baked into RPMax's training from Discord and forum roleplay. The model gravitates toward it. Removing asterisks from your card and examples reduces them but does not eliminate them. For true dialogue-only output you need post-processing: an outlet filter in OpenWebUI that strips asterisk content after generation. That is a custom Python solution beyond tonight.

Stuck in a loop

The same exchange keeps repeating. Low temperature can make outputs deterministic. Context may contain similar patterns, or the conversation has nowhere to go. Raise temperature. Inject a dramatic change: a new topic or a scene shift. Out of character: [Let's move the conversation somewhere new]. Prune repetitive history.

The recovery kit

Regenerate (swipe) to get a different response without changing anything else. Try three or four times. Often one alternative is better. Edit the problem response directly so the model learns from the corrected version. Undo goes back to before the problem. You lose some progress, but you recover a clean state. That is the right move for severe breaks.

Out-of-character instructions without breaking the scene: [Shorter responses please], [Stay more in character], [Don't give advice, just ask questions]. The model reads them, acknowledges briefly, and adjusts. Character refresh: [Remember: Luna is warm, curious, brief, asks questions]. Context reset is the nuclear option. Save a summary of important details, start a new chat, and paste the summary so you get a fresh start with key memory preserved.

Walk the break

Right model? If not, switch to RPMax. Repeat penalty disabled at 1.0? Context too long? Prune or summarize. Card clear? Improve the examples. Did something trigger a refusal? Rephrase. Recoverable? Try regenerate, edit, or an OOC note. If not, reset.

Before using a character, confirm: RPMax or another roleplay model, repeat penalty 1.0, temperature 1.0, stop sequences set, context at 16K, five to seven clear traits, three to five diverse examples, a first message that sets tone and length, and no pile of negative rules.

Regular maintenance: prune every 30 to 50 messages, save important facts externally, add a character refresh if drift appears, and edit or regenerate bad replies immediately. Most problems come from three things: wrong model or settings, a weak card, or sloppy context management. Get those right and characters stay consistent.