evaluation guide
Why AI characters drift out of character, and how to steer them back
A practitioner walkthrough of why an AI character slides out of voice partway through a scene, and the concrete steering moves that pull it back.
Published 2026-09-06 · Reviewed 2026-09-06
Drift is the slow slide from a specific character into a generic helpful voice. It rarely announces itself. A guarded soldier turns chatty around turn thirty, a barista starts narrating her own feelings in paragraphs she would never speak aloud, and by the time you notice, twenty turns of that flatter voice are sitting in the transcript teaching the model what this conversation sounds like. Understanding which of the three underlying causes you are looking at decides which fix works.
Three causes that look identical from the outside
Displacement is the first. The character definition sits near the front of the prompt, and as the recent transcript grows it takes up proportionally more of what the model attends to. The definition is still there; it is simply outvoted. Anthropic’s context window documentation describes the mechanics of what a model receives on each request, and the practical consequence is that a long scene is a long argument the transcript keeps winning.
Self-reinforcement is the second and the nastier one. One reply lands slightly off-voice, you continue anyway, and that reply is now evidence in the next request. Drift compounds because the model is imitating the conversation you already accepted, not the definition alone.
Frame mismatch is the third, and it usually starts on turn one. If the scene the character was written for and the scene you actually opened are different scenes, there is nothing to drift away from — the voice was never established. That case is easy to fix and easy to misdiagnose as a model problem.
What we observed
On 2026-09-06 we read Charmi’s live character API and its conversation surfaces. Each character has its own memory store per user, and records from one character do not leak into another. That isolation is the reason a fix applied to one card does nothing for the next one, and the reason a badly worded correction can quietly poison exactly one relationship while every other character stays clean.
Two fields on a card set the opening frame, and they do not come from the same author. The alternate_greetings array is written by the card’s creator, and each entry is a different scene rather than a different personality. On the allowlisted card Audrey, a cafe barista, the creator’s notes lay out three situations — a first-time customer, a coworker staying after closing, and a nervous evening at her apartment. On Kyria, a Queen’s Guard, the main opening is a direct plea for help about her ill father, while an alternate greeting begins mid-mission in sewer tunnels under a city. Same person, different circumstances.
The option_a and option_b fields are different. They are two short first-reply choices the product renders under the opening, and they are platform-generated rather than creator-written. On SFW cards they are frequently generic flirtatious lines that do not fit the scene above them; the options rendered under both Audrey and Kyria ignore the cafe and the ill father entirely. The practical consequence is that typing your own first message keeps the scene the creator set up, while taking a canned option can yank the tone.
One more surface matters. The chat page asks for a display name the first time you talk to a character, and that string is substituted into the character’s prompt as {{user}}. On the memory side, a correction made in the memory sheet becomes authoritative for the next message without a reload, so a steering edit is testable immediately rather than after a restart.
Fix the opening before you blame the model
Read the greeting and decide whether it is the scene you want. If a card offers alternates, switch to the one whose circumstances match your intent instead of trying to talk the character into a different situation. Set your display name deliberately, since that string is what the character will actually call you.
Then type your own first message. Skipping the canned options costs you ten seconds and keeps the tone the creator established. On story-first cards the canned option pulls the register toward flirtation, and once that register is in the transcript the character has to be steered back rather than finding its own way. If you want a stronger opening to work from, roleplay opening scenarios has patterns you can adapt.
Steering moves that land
Correct in-frame rather than out of frame. “You would not say that — you have been avoiding this topic all week” works better than “stay in character,” because the first gives the model a specific behavioural fact and the second gives it a label it will interpret loosely.
Write the durable version down. If the character keeps getting a trait wrong, put it in the memory sheet as a correction rather than repeating it in chat, since a correction takes effect on the very next message and does not scroll away. Repeating it in chat only adds another turn to the transcript that is already outvoting the definition.
Cut the drifted turns when the interface lets you. Editing or deleting the two or three replies where the voice first slipped removes the evidence the model is imitating. Leaving them in and arguing over the top of them is the most common mistake we see.
Test one variable at a time. Send three messages that each push on the same trait, then check whether the replies hold; if they do not, change the memory record, not the phrasing, and run the same three messages again. The method in testing AI character consistency formalises this into something you can repeat across cards.
When steering is not the answer
Some cards are thin. A definition with a name, two adjectives and no behavioural specifics gives the model almost nothing to hold, and no amount of correction will manufacture a voice that was never written. Character.AI’s Lorebook documentation points at the same underlying need from the author’s side — stable, retrievable facts about the world rather than a personality sketch.
If you find yourself steering constantly, the honest move is to start from a better card or write your own. Writing a believable character personality covers what the definition needs to contain, and the Character AI Chat hub lists reviewed cards with enough specificity to survive a long scene.
Sources reviewed
- Character.AI Help Center: Lorebooks (reviewed 2026-09-06)
- Anthropic: Context windows (reviewed 2026-09-06)