Journal

Soliloquy journal

How to Keep AI Roleplay Consistent

Keep long AI roleplay consistent with a continuity card, scene recaps, selective memory, and a repair process for contradictions and character drift.

To keep AI roleplay consistent, separate permanent character facts from the current scene, carry forward only the facts that still matter, and correct contradictions before continuing. A short continuity card usually works better than pasting the entire transcript back into the prompt.

Consistency is not one problem. A character can keep the plot facts but lose their voice. A model can remember the relationship but forget which door is locked. A perfect recap can still conflict with a bad line that remains in recent chat history. The fix depends on which layer drifted.

Use a five-line roleplay continuity card

Copy this at the start of a new session, after a long break, or when a conversation begins to drift.

STABLE: [character traits, limits, relationship facts that remain true]
NOW: [current place, time, who is present, physical state]
OPEN: [unresolved goals, promises, dangers, questions]
CHANGED: [the latest event that altered the situation]
BOUNDARY: [who controls each role and any style rule that must remain active]

For Mira's salvage-ship story, it might look like this:

STABLE: Mira is cautious, mechanically observant, and dry under pressure. She needs the user's help but does not fully trust them.
NOW: Mira and the user are outside the bridge. Her cutter is damaged. The ship still appears unpowered.
OPEN: Who sent the beacon? Why did the inner door unlock? What happened during the missing twelve years?
CHANGED: A voice from the bridge used the user's name.
BOUNDARY: Write Mira and necessary NPCs only. Leave the user's choices, dialogue, actions, and inner state to the user.

This is not a prose summary. Each line answers a different question the next reply must get right.

Decide what is stable and what is temporary

Many continuity problems begin when everything is treated as equally permanent.

Stable facts usually include:

  • identity, background, and durable relationships,
  • values and hard limits,
  • recurring voice or attention patterns,
  • facts the story has explicitly established as lasting.

Temporary scene state includes:

  • current location and time,
  • who is present,
  • injuries, objects, doors, weather, and other active conditions,
  • the immediate goal and the latest change.

An emotion is often temporary even when a trait is stable. “Mira is cautious” may belong in the character profile. “Mira is angry because the user hid the beacon” belongs in the current scene. If the temporary anger is promoted into a permanent trait, the character can get stuck performing one moment forever.

Build the permanent layer first with an AI roleplay prompt template. Keep the continuity card for what the live story needs now.

Recap decisions, not every sentence

A useful recap records consequences.

Weak recap:

Mira and the user talked for a while. They discussed the ship and then walked toward the bridge. Several strange things happened.

Stronger recap:

The user admitted they heard the beacon before waking. Mira agreed to approach the bridge but kept the damaged cutter. The unpowered door opened, and a voice inside used the user's name.

The stronger version preserves choices, changed beliefs, objects that still matter, and the latest hook. It leaves out conversational filler.

When writing a recap, ask:

  1. What decision cannot be silently undone?
  2. What did one character learn about another?
  3. What object or condition can affect the next scene?
  4. Which promise, danger, or question remains unresolved?

If a detail answers none of those, it may not deserve scarce context space.

Keep one source of truth

Do not maintain three conflicting versions of the same fact in a profile, memory note, and recent message.

Suppose the original profile says Mira has never entered the ship. Ten turns later, the story establishes that she was part of the launch crew. You have three choices:

  • treat the new claim as a lie or mystery inside the story,
  • explicitly revise the stable fact,
  • reject the contradiction and regenerate from the last consistent turn.

What does not work is leaving both statements active without explaining the difference. The model then has to guess which one is authoritative.

When a fact changes legitimately, rewrite the continuity card instead of appending “actually” forever. Current truth should be easy to find.

Correct drift before adding more story

Once a contradiction enters recent history, every new reply can reinforce it. Pause and repair the first bad turn.

Use this sequence:

  1. Identify the exact contradiction in one sentence.
  2. State the established fact that should win.
  3. Edit, remove, or regenerate the first conflicting message if the platform allows it.
  4. Restate only the affected continuity-card line.
  5. Continue from the repaired scene with a concrete action.

For example:

Continuity correction: the bridge door is open, but nobody has entered it yet.
Mira's cutter is damaged and remains in her hand.
Continue from the voice saying the user's name. Do not rewrite the user's response.

Avoid arguing with the model for several paragraphs. That adds the contradiction, the correction, and the argument itself to the context. A small authoritative patch is easier to follow.

Repair character drift separately from plot drift

If the facts are correct but the character feels generic, do not add more plot summary. Restore the behavioral signals.

Use three short reminders:

Mira notices mechanical inconsistencies before appearances.
She answers direct questions precisely and uses dry humor under pressure.
She does not confess trust or affection before her actions have earned that change.

Then give the character something specific to react to. Voice is easier to recover through a choice than through a list of adjectives.

If the character repeatedly loses voice, revisit the profile itself. Our AI character profile writing guide explains how to replace broad traits with goals, priorities, limits, and speech habits.

Do not solve consistency by freezing the story

Consistency does not mean nothing changes. A character who never updates a belief, mood, or relationship is just as unconvincing as one who changes randomly.

Separate continuity from development:

  • Continuity: changes have a visible cause and do not erase established facts by accident.
  • Development: the character can revise a belief or relationship because something happened.

Record the cause with the change. “Mira trusts the user now” is abrupt. “Mira shared the bridge code after the user returned her cutter instead of escaping” preserves the event that made the new relationship state believable.

Start a new chat without losing the story

When a thread becomes too long or noisy, a clean handoff can be better than forcing every old message to remain active.

Before moving, prepare:

  • the five-line continuity card,
  • the last two or three turns needed to preserve voice,
  • one opening paragraph that resumes the current physical moment.

Do not paste the full transcript unless the platform is specifically designed to process it. Old abandoned ideas, corrected contradictions, and repeated instructions can compete with the current state.

The new opening might be:

Continue outside the now-open bridge. A voice inside has just used the user's name. Mira still holds the damaged cutter and has not entered. She glances at the user, waiting for their decision.

That paragraph establishes where to continue without playing the next turn for the user.

A quick consistency check

Every few scenes, check five things.

  1. Does the character still want something specific?
  2. Are current location, participants, injuries, and important objects clear?
  3. Did any recent line contradict a stable fact?
  4. Has a relationship change earned its cause?
  5. Does the user still control their own decisions and inner state?

Fix the first failed answer. Rewriting the entire prompt for one misplaced object usually creates more noise than it removes.

How we tested this method

We applied the continuity card to three constructed story states: the salvage mystery above, a low-stakes companion scene after a difficult day, and an archive investigation with two unresolved clues. We removed one line at a time and asked a reviewer to identify the next scene's place, active tension, durable relationship, latest change, and role boundary.

The NOW line prevented most physical-scene ambiguity. OPEN preserved forward motion. STABLE alone was not enough: it kept the character recognizable but could not say what had just happened. The ownership boundary remained necessary even when every plot fact was present.

We also checked the mechanics against Soliloquy's production long-conversation evidence. A 21-row conversation and a 62-row conversation both persisted after refresh, and their cross-turn pruning stayed within configured limits. That verifies that the stored conversation and pruning path survived those longer sessions. It does not prove that every generated line was narratively consistent, so we do not treat message count as a quality score.

No prompt can guarantee perfect continuity across every model and platform. The practical goal is to make the current truth compact, correct drift early, and preserve intentional change without carrying every obsolete sentence forward.

If the specific failure is that the model starts deciding your part of the story, follow the user-agency repair guide next.