← Back to Blog

Why AI Characters All Sound the Same (and the Fix)

Why AI Characters All Sound the Same (and the Fix)

You've read the scene four times now, and on the fourth pass you did the thing you'd been avoiding: you put your thumb over the dialogue tags. Three characters, one argument in a back room, thirty-one lines of speech. With the names covered, you could tell who was talking maybe nine times. The rest of it sounds like one articulate, slightly formal person having a disagreement with themselves.

Your fence is supposed to talk like a pawnbroker who once read Gibbon. Your teenage lookout is supposed to talk in fragments. Your ex-nun is supposed to be the most precise person in the room. Instead all three "pause," all three finish their sentences, and all three explain exactly how they feel.

It's a predictable default, and it's fixable. Here's why it happens and six fixes that move the needle.

Why does AI make all your characters sound the same?

AI makes characters sound alike because every character inherits the model's own default voice unless you override it with concrete patterns. A model generating dialogue reaches for the most probable next words, and the most probable phrasing for "a gruff mercenary says no" is the same clean, complete, emotionally legible sentence it would write for anyone. Describe a character with adjectives and the model nods along, then speaks for them in its own voice anyway.

The writers in r/WritingWithAI have been circling this for a year. One widely shared post, Why all your AI characters sound the same, put it in one line: "AI has a default voice. If you don't override it, every character inherits it." Its symptom list is painfully familiar: the gruff mercenary turns poetic, and everyone "muses" and "ponders" in complete sentences. A commenter on that thread had the best image for it: the goal is to make AI "feel like a cast instead of one improv guy doing all the voices."

A second thread, Why Does AI Flatten Character Voice, and Can We Stop It?, got closer to the root. The poster asked whether our prompts fail "because they ask for vibes ('more in-character, more emotional') instead of rules ('never apologizes directly,' 'breaks sentences when cornered')." That's the diagnosis: a model can only follow habits it can see.

The second cause is drift: by chapter fourteen, the voice details you established are out of the model's context window and the default seeps back in. It's the same mechanism behind why AI forgets your story details.

Voice is a set of refusals

A character's voice is defined as much by what they never say as by what they do say. Your ex-nun never uses contractions. Your fence never answers a question directly. Those refusals make a voice recognizable, and they're exactly what a model smooths away, because a refusal is an absence and absences don't show up in a probability distribution.

A 2020 Durham University study reported by the Guardian surveyed 181 authors at the Edinburgh International Book Festival and found 63% said they heard their characters speak while writing. One respondent said their characters "have distinct voice patterns and tones, and I can make them carry on conversations with each other in which I can always tell who is 'talking'."

That's the bar: you can always tell who is talking. The model doesn't hear anyone, so your job is to hand it something to imitate instead.

Fix 1: Give dialogue samples, not descriptions

The single biggest improvement is replacing personality descriptions with three to five lines of the character actually talking. A model is an extraordinary mimic and a mediocre interpreter, so give it something to mimic.

Compare what you'd give the model:

Dace is sixteen, impatient, raised on the docks, distrusts adults.

versus:

Dace talks like this:

  • "Yeah. And?"
  • "Guard's on the stairs. Two. No, three."
  • "Don't. Just — don't."
  • "You're slow, old man. Move."

The second version tells the model sentence length, rhythm, vocabulary ceiling, and attitude without naming any of them. Call it voice by example, not by adjective. Adjectives give the model permission to use its own voice; examples take that permission away.

Pull samples from scenes where you already nailed the character by hand, and choose your favorite lines, not representative ones. The model regresses toward the middle anyway, so start it at the edges.

Fix 2: Two speech anchors per character

Give each character two concrete, checkable speech habits, and no more than two. Rules the model can follow on every line beat traits it has to translate.

Good anchors are mechanical:

  • Sentence length. Fragments vs. long subordinate clauses.
  • Contractions. "I cannot" vs. "can't" is a whole personality.
  • Questions vs. statements. One character asks permission constantly; another never asks, only tells.
  • A verbal tic. One opens with "Look." Another answers questions with questions.
  • Vocabulary ceiling. Words over two syllables are off-limits for some people.

Two is the limit for a reason: give a character seven quirks and the model applies a little of each, which reads as nobody in particular.

Fix 3: Split the vocabulary

Assign words to characters and ban the model's favorite shared words outright. Models have pet verbs and adjectives, and when every character draws from the same pool, they blur. The r/WritingWithAI post suggests telling the model which words belong to whom: one character uses "beautiful" and "gentle," another never does and says "fine" and "solid" instead. A commenter added that they "feel physically ill" seeing "chuckles" now, and banned it.

Keep a short global blacklist of the tics you keep deleting, plus a per-character word list. If the blacklist grows long, it's worth reading our piece on using AI without losing your writing voice, because the narrator's prose suffers from the same shared-vocabulary problem as the dialogue.

Fix 4: Same stimulus, different reaction

Write down how each character behaves under pressure, as actions, not adjectives. Two characters who both "go quiet" at bad news is a voice failure even if their word choices differ.

Put it in your character notes like this:

  • Sister Haldane under stress: gets more formal, starts quoting procedure, never raises her voice.
  • Dace under stress: talks faster, swears, wants to leave now.
  • Oriel under stress: gets chattier and more ornate, tells a story that's ostensibly unrelated.

This also sharpens a complaint that keeps resurfacing in r/WritingWithAI: AI characters "say the quiet part out loud." Oriel telling a rambling story about a stolen clock while the guards come up the stairs is him being scared. He never has to say so. Our guide to why AI prose defaults to telling goes deeper on getting the model to dramatize instead of announce.

Fix 5: Let them be wrong

Tell the model what each character gets wrong, because AI defaults to characters who are reasonable, articulate, and emotionally intelligent. Real people misread each other and get defensive for no reason, and that friction is what makes dialogue sound like two people instead of one narrator negotiating with itself.

"Haldane takes every figure of speech literally." "Oriel assumes anyone under thirty is lying to him." One line each, and the model has a reason to make them collide.

Fix 6: Interview the character yourself

Have the AI interview your character while you answer in their voice, then feed your answers back as samples. This comes from the top-voted reply on that first thread: "A strong trick is to channel the characters by having AI interview them like a talk show host. You'll role play as the character in response. Your voice WILL change. You will get good quotes."

It flips the direction: instead of the model guessing, you produce twenty lines of the character under questioning, and the best five become their samples from Fix 1. NovelMage builds this in as Character Interviews, where the AI questions your characters to develop their voice and backstory, but a plain chat window and a prompt like "You're a radio host. Ask Oriel ten questions about his worst job" gets you most of the way there.

A worked scene: from 9 of 31 to 26 of 31

Back to the back room. You're writing The Salt Ledger, a harbor heist, and chapter twelve is where Oriel, Dace, and Sister Haldane argue over abandoning the job after the guards double. First draft: 2,400 words, thirty-one lines of dialogue, nine attributable with the names covered. Everyone says "I understand." Haldane uses contractions. Dace talks like a grad student.

You spend forty minutes on setup, not prose. Each character gets a card. Dace: five sample lines, all under eight words; anchors are fragments and "you're slow"; under stress he wants to leave now; he's wrong about who betrayed them. Haldane: four sample lines with zero contractions; anchors are no contractions and quoting rules; under stress she gets more formal; she takes Oriel's metaphors literally. Oriel: five ornate sample lines; anchors are never answering directly and long sentences; under stress he tells a story; he assumes Dace is lying. You add "chuckles," "pauses," and "I understand" to the blacklist.

You regenerate the scene in three shorter beats, pasting the cards into each. The new draft runs 1,900 words, because people who talk in fragments take up less room. Cover the names again: twenty-six of thirty-one. The five misses are all Oriel and Haldane in the final exchange, where they agree with each other, and agreement is where voices converge. You rewrite those five by hand in ten minutes. That isn't the method failing; it's the method: revision time spent on five lines instead of thirty-one.

Keeping voices from drifting across a whole novel

Voice cards only work if they reach the model every time that character speaks, and that's what breaks around chapter ten. In a 90,000-word novel with a cast of nine, you'll eventually forget to paste one, and that's the chapter where your lookout starts speaking in subordinate clauses.

So store each character's samples, anchors, stress behavior, and blind spot in one place, and have the right entries pulled into context whenever that character is in the scene. Our guide to building a story bible covers the structure. In NovelMage, the Character Codex does the pulling: the AI references a character's entry while you write, so the five sample lines you wrote for Dace in March are still in front of the model in chapter twenty-two. If you write one POV character with sparse dialogue, honestly, a single text file you paste from is enough; the automation earns its keep when the cast grows past three or four speakers.

Dialogue samples are often your best lines, the ones you'd least like sitting on someone else's server. NovelMage keeps manuscripts on your own Windows, macOS, or Linux machine, and can run fully local models through Ollama or LM Studio, so those lines never leave the device.

Frequently Asked Questions

Can I just prompt the AI to "make each character sound distinct"?

Not reliably. That's a vibe request, and the model answers it with surface changes, a "y'know" here, an "indeed" there, while keeping its own rhythm underneath. Five sample lines and two mechanical rules per character do far more.

How many dialogue samples should each character get?

Three to five. Fewer and the model has no pattern to latch onto; more and you burn context on one character at the expense of the scene.

Why does the voice hold for a few chapters and then fade?

The voice details you set early fall out of the model's context window, so by chapter fifteen it reverts to its default. Re-send each character's card whenever they appear, by pasting it or with a tool that retrieves story-bible entries automatically.

The cover-the-names test

Run it on your last chapter tonight: cover the dialogue tags and count the lines you can attribute by voice alone. Under half? Start with Fix 1 for your two loudest characters and re-test.

If you want those voice cards to follow your characters through a whole manuscript without pasting them every scene, NovelMage is a one-time $99.99 lifetime license with a Character Codex, Character Interviews, and a 7-day free trial, no credit card required.

Share this article

Loading comments...