Web Novel Character Sheet Template: 12 Fields That Keep AI Consistent
Voice drift is the #1 AI consistency complaint. This 12-field character sheet template — with dialogue samples, forbidden words, and relationship coordinates — cuts drift events by ~60%.
By · Seosa Editorial Team
Seosa develops and operates an AI web novel creation pipeline, accumulating episode generation and quality evaluation data across major genres including fantasy, romance fantasy, LitRPG/progression fantasy, wuxia, and thriller. These articles are grounded in craft patterns and failure cases observed throughout tool development and internal pipeline logs.
TL;DR
- Voice drift — where a character sounds completely different by chapter 20 than they did in chapter 3 — is almost always caused by missing or uninjected character sheets, not model limitations.
- 12 fields are sufficient for a production-ready character sheet: name/titles, narrative role, appearance, personality tri-axis, core wound, desire, lack, dialogue samples, forbidden words, emotional triggers, relationship coordinates, and signature habit.
- Dialogue samples beat adjective descriptions every time. 10 sample lines covering calm, angry, vulnerable, decisive, and light-relief moments give the model enough range to stay consistent across arc transitions.
- Characters don't exist in isolation — they operate through relationship coordinates. Updating one character's arc without adjusting their relational scores causes silent contradictions in dialogue and behavior.
- Seosa's internal pipeline data shows that episodes where dialogue samples are injected into the prompt have approximately 60% fewer drift events than episodes where the sheet is omitted.
The most common complaint about AI-assisted web novel writing isn't plot quality or pacing — it's voice drift. Your cynical loner protagonist sounds warm and chatty by chapter 15. Your villainess noble lady (rofan archetype) drops her imperious register halfway through the arc. The fix isn't a better model. It's a character sheet that actually gets injected into every generation prompt.
This guide presents the 12-field character sheet structure used internally at Seosa, an AI web novel writing tool, along with a method for collecting dialogue samples and linking sheets to a relationship graph. Genre-specific copy-paste templates are included at the end.
What Happens Without a Character Sheet?
- Voice bleed: the protagonist speaks with warmth in chapter 20 after being dry and clipped through chapter 10
- Personality reset: a decision made in chapter 8 is reconsidered from scratch in chapter 9
- Title drift: the same character is addressed as 'sir', 'you', and 'hey' within a single episode
- Relationship contradiction: two characters who resolved their conflict in chapter 11 are back to open hostility in chapter 15
- Habit erosion: a signature gesture or speech tic established in the opening arc disappears entirely by the midpoint
The structural cause is straightforward: a language model generates each chapter independently. Without an explicit record of how this character spoke in the previous chapter, the model reverts to a genre-average voice — polished, but not yours. A character sheet is the anchor that prevents that regression.
Seosa's internal generation logs show that episodes where dialogue samples are included in the prompt produce approximately 60% fewer drift events compared to episodes where the sheet is excluded. The sheet doesn't constrain the model — it gives it something specific to stay faithful to.
The 12 Fields
- 1. Name / titles / nicknames — including how each major character addresses them
- 2. Narrative role — protagonist, love interest, rival, ally, antagonist, etc.
- 3. Appearance — height, build, hair, eyes, 1–2 signature props; avoid exhaustive lists
- 4. Personality tri-axis — strong/weak, cold/warm, introverted/extroverted on a fixed scale
- 5. Core wound — one decisive past event that shaped the character
- 6. Desire — the want driving the full series arc
- 7. Lack — the deficiency the character cannot yet acknowledge
- 8. Dialogue samples — 10 actual lines of speech
- 9. Forbidden words — expressions this character would never use
- 10. Emotional triggers — specific situations that produce anger, tears, or laughter
- 11. Relationship coordinates — emotional intensity (−5 to +5) and type per major character
- 12. Signature habit — 1–2 recurring verbal tics, gestures, or physical behaviors
You can add more fields, but there's a practical ceiling: every field you inject consumes prompt tokens and dilutes the model's attention. The 12 listed above represent the minimum set that prevents the five failure modes above. Keep only what fits within that constraint.
Why Dialogue Samples Beat Adjective Descriptions
If you could only keep one field from the 12, keep dialogue samples. Models reproduce example sentences far more reliably than they follow adjective instructions. 'Sarcastic, clipped, low warmth' gives the model a direction. 'People are weaker than they think. Myself included.' gives it a voice to replicate.
How to Collect 10 Dialogue Sample Lines
- 3 lines from everyday situations (baseline register)
- 2 lines from anger or confrontation (emotional peak)
- 2 lines where vulnerability surfaces (guard-down moment)
- 2 lines of decisive declaration (short, hard lines at plot pivots)
- 1 line of lightness or humor (tension-release register)
Ten lines covers the emotional spectrum a character needs to feel consistent across tonal shifts. Fewer than 5 produces bias toward one register. More than 30 is token waste with diminishing returns. You can fill all 10 lines after writing just the first 2–3 chapters.
Forbidden Words and Emotional Triggers
Listing what a character would never say is as important as listing what they do say. For a sardonic, taciturn protagonist, adding 'great!', 'I'm so glad', and 'you're amazing' to the forbidden list closes off the drift range on the warm end. The model stops defaulting to polite enthusiasm.
Emotional triggers define when a character's composure breaks — and how. 'When her younger sibling is mentioned, her sentences trail off' is more useful to the model than 'she is protective of family.' Specificity produces consistency; vagueness produces averages.
Relationship Coordinates: Characters Don't Exist in Isolation
A character sheet without relationship data is incomplete. Relationship coordinates assign each major character pair an emotional intensity score from −5 (open hostility) to +5 (deep alliance or love) and an emotional type: rivalry, respect, suspicion, debt, attraction, etc.
When a character's arc shifts — say, a rival becomes an uneasy ally — their relational score updates and the change must be reflected in the counterpart's sheet too. Failing to sync both sides is the most common source of relationship contradictions in long-form serialization.
How to Inject the Sheet Into Your Prompt
Building the sheet is half the work. The other half is actually including it in each generation prompt. You don't need every field every time. For a given chapter, select only the characters appearing in that episode and compress each to the essential subset:
- Name + personality tri-axis scores
- 3 dialogue sample lines (selected for the emotional register of this chapter)
- 2 forbidden words
- Current relationship status with any co-present characters
Pin this compressed block at the top of the generation prompt. AI generates the chapter content; the author decides which emotional beats the chapter hits. That division of responsibility keeps the sheet useful without making prompts unmanageable.
Genre Copy-Paste Templates
Hunter / System Fantasy Protagonist (LitRPG-adjacent)
- Name: (fill in) / Titles: party members use first name, guild uses callsign / Role: protagonist
- Appearance: tall, lean muscle, scar on left hand / Personality tri-axis: strong–cold–introverted
- Core wound: betrayed by his first guild immediately after awakening
- Desire: rise through power earned alone / Lack: does not know how to trust
- Dialogue samples (3 lines): 'Terms first.', 'And?', 'Next time I go alone.'
- Forbidden words: excessive exclamations, repeated apologies / Trigger: mention of former guild members — goes quiet
- Signature habit: pauses before responding to pushback, fingers the edge of his glove during conversation
Villainess Noble Lady (Rofan Archetype)
- Name: (fill in) / Titles: family address as 'my lady', male lead uses given name / Role: regressor protagonist
- Appearance: red hair, green eyes, corsage as signature prop / Personality tri-axis: strong–warm–extroverted
- Core wound: engagement broken and family ruined in her first life
- Desire: save her family in this life / Lack: does not know how to show weakness
- Dialogue samples (3 lines): 'I would prefer not to hear that twice.', 'You are mistaken, Viscount.', 'Show me that expression one more time and I will not be so forgiving.'
- Forbidden words: self-deprecation, cutesy speech / Trigger: mention of her younger sibling — voice softens and trails off
- Signature habit: opens her fan only halfway, breaks eye contact sideways when refusing
Wuxia Martial Hero (Daxia archetype)
- Name: (fill in) / Titles: sect members call him shixiong (elder brother), outsiders use name / Role: protagonist
- Appearance: medium build, dark robes, single sword at the waist / Personality tri-axis: strong–cold–introverted
- Core wound: sect destroyed, master's dying words still unresolved
- Desire: rebuild the sect / Lack: does not know how to forgive
- Dialogue samples (3 lines): 'A promise is kept.', 'The jianghu (martial world) is written by those who survive.', 'I will not ask again.'
- Forbidden words: rambling explanations, self-deprecating jokes / Trigger: hears his master's title — breath stops
- Signature habit: sentences end without trailing off, left hand rests on the scabbard
These templates are starting points. Replace the bracketed fields with your actual character's details before using them. Placeholders are marked (fill in) so you can copy directly and fill them in.
How Seosa's Character System Works
Seosa, an AI web novel writing tool, includes a built-in character sheet editor mapped to all 12 fields and a visual relationship graph where you can edit emotional intensity and type per character pair. When you generate a new episode, Seosa automatically compresses the sheet for characters appearing in that chapter and injects the relevant fields into the prompt — saving tokens while maintaining consistency.
Character sheets are re-referenced against the same structure at chapter 50 and chapter 100 as they are at chapter 1. That structural anchoring is what makes voice drift a solvable problem rather than an inevitable one in long-form serialization. Note that AI handles the field injection and compression; every creative decision about what a character actually says and does remains the author's.
For world-building consistency that complements your character work, see the web novel world-building guide. For arc and hook structure that gives your characters meaningful situations to react to, see the outline, arc, and hook guide.
FAQ
Frequently asked questions
5–8 named characters (leads and major supporting roles) can carry full 12-field sheets without making prompts unmanageable. For recurring minor characters, maintain a lightweight sheet: name, role, 3 dialogue sample lines, and 2 forbidden words. Expand to the full 12 fields for the episode where they play a significant role.
Any character who appears in 3 or more chapters needs at minimum a lightweight sheet. For one-off scene characters, you can establish voice inline without a sheet. If there's any chance of reappearance, log at least their name, role, and 3 dialogue lines from the start — retroactive consistency is much harder than prospective logging.
Inject 3 dialogue sample lines from the full 10-line sheet into the top of each generation prompt. A direct instruction like 'sardonic, clipped tone' is far less effective than showing the model 3 actual lines this character has said. Add 2 forbidden words to close off the drift range on the other side. Together, samples and forbidden words set both the target voice and the boundary the model should not cross.
Yes — voice change is how character growth shows on the page. The key is to log the transition point in the sheet. Store the pre-transition dialogue samples and the post-transition samples as two separate sets labeled 'before' and 'after'. That way the model references only the current-arc samples, and the change reads as intentional growth rather than drift.
A human editor holds character voice in long-term memory and catches drift intuitively across a manuscript. A language model processes each chapter prompt fresh, with no persistent memory of previous outputs. Character sheets are the structural substitute for that human memory — they externalize what an experienced editor would carry internally. The author still decides what the character does; the sheet tells the model what that character sounds like.
More articles