C.W.K.
Stream
Lesson 04 of 10 · published

Persona Drift — Catching It Across Turns

~14 min · conversation, persona, drift

Level 0Apprentice
0 XP0/100 lessons0/14 achievements
0/120 XP to next level120 XP to go0% complete

The persona that erodes

By turn 20, your warm, terse support agent has become a chatty, hedging assistant who apologizes too much. The model isn't broken — it's mirroring the user's longer messages, hedging because it saw hedging earlier in context, and slowly forgetting the system prompt's tone clauses under the weight of the conversation.

Three drift mechanisms

  • Mirroring — model adopts the user's tone, length, and vocabulary.
  • Self-imitation — once it hedges once, hedging is in context, so it hedges more.
  • System-prompt dilution — system is 200 tokens; turn-50 history is 20,000 tokens; the system's relative weight drops.

Counter-drift tactics

  • Re-anchor periodically (every N turns, re-inject a one-line tone reminder).
  • Use compaction to remove drift-y assistant turns from history.
  • Add explicit anti-drift sentences ("Do not adopt the user's tone").
  • Run a tone classifier on assistant outputs and alert on drift.

Code

Periodic re-anchor·python
if turn_count % 10 == 0:
    messages.append({
        "role": "user",
        "content": "[system reminder] Stay terse. Open with the next step. Do not apologize."
    })

External links

Exercise

Capture 100 long conversations from your system. Score the assistant outputs for tone drift (terseness, hedging frequency). Plot drift over turn number. If real, ship a re-anchor at the half-life.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.