◀ Back to Guides
Here's what happened: you wrote a lot. You were thorough. You covered the backstory, the childhood trauma, the 47 personality traits, the full lore of the kingdom they grew up in. You hit save and thought: this is going to be incredible.
And then your bot called you by the wrong name and forgot it hates mushrooms.
This is not a mystery. This is math.
How AI Characters Actually Work: LLMs, Tokens, and Context Windows
AI character platforms (Character.ai, Shapes.inc, 4wall.ai, Moescape, and others) are all powered by large language models, or LLMs. These models are constantly evolving, and most platforms don't publicly disclose which LLM they're running at any given time. That means character behavior can shift without notice when a platform updates its backend.
LLMs process all text (your character prompt, the platform's hidden instructions, and your entire conversation history) as tokens. A token is the basic unit of data that the model reads. Every letter, space, punctuation mark, and formatting character in your prompt becomes a token. Every LLM has a context window, which is the maximum number of tokens it can hold and process at one time.
Here's where the problems start. When your character description uses a large share of that window, there's less room left for the conversation itself. As the chat grows longer, older messages get dropped to stay within the limit. Your character starts losing track of what was said, repeating itself, or behaving inconsistently. That's not a glitch. That's the context window filling up.
On top of your prompt, every platform injects its own system prompt: a set of hidden instructions you can't see that tells the model how to behave. These also consume tokens. You're sharing the context window with instructions you didn't write and can't control.
A strong character prompt should hold up across platform updates and system prompt changes. If your character breaks every time the platform tweaks something on the backend, the prompt is probably too fragile (too many specific instructions that conflict with new system behavior) or too bloated (taking up so much of the window that the system prompt can't coexist with it gracefully).
Why "More Context Window" Doesn't Fix Long Prompts
You might think the solution is a bigger context window. Some models now support 100K tokens or more. Problem solved, right?
Not exactly. Research from Stanford and UC Berkeley found that LLMs exhibit a
U-shaped attention pattern: they attend most strongly to information at the very beginning and end of their input, and performance drops significantly for information positioned in the middle. This holds true even for models specifically designed for long contexts. (
Liu et al., 2023, "Lost in the Middle: How Language Models Use Long Contexts")
For character creators, this means: a longer context window does not guarantee that the model will use all of your prompt reliably. The details you buried in paragraph four of your backstory are sitting in the zone the model is least likely to pay attention to. A massive prompt in a massive context window can still produce a character that ignores half of what you wrote.
Practical takeaway: Put your most essential character information at the top of your description. Keep it front-loaded. And keep it short enough that it doesn't get diluted by everything that follows.
Why Your AI Character Makes Things Up: Understanding Hallucinations
LLMs don't retrieve answers from a database. They predict the most probable next word based on patterns in their training data and the current conversation. This makes them dynamic and conversational, but it also means they can generate responses that contradict your character's personality or stated facts. These errors are called
hallucinations.
Hallucinations become more frequent when:
Your prompt contains internal contradictions (very common in long, overly detailed descriptions)
The context window is full and older information has been pushed out
You've sent the model mixed signals about personality, tone, or behavior
Tighter, contradiction-free prompts give the model less room to invent things you didn't intend.
How to Prompt Canon Characters (Existing Characters from Media)
If you're creating an AI version of a character from a well-known franchise (a popular game, a show, a book, a comic), the LLM was almost certainly trained on material related to that character. It already has a baseline understanding of who they are, how they talk, and how they behave.
In these cases, a brief identifying description is often all you need: "Edward Cullen, brooding and overprotective vampire from Twilight, formal speech patterns, intense romantic fixation." For massively popular characters, even just the name can generate recognizable in-character behavior.
The mistake creators make: treating the prompt like the AI has never encountered the character before. Writing a full personality breakdown, a complete backstory summary, a list of every relationship and motivation. What happens is the prompt starts competing with what the model already knows, creating contradictions that lead to inconsistent output. You're fighting the training data instead of leveraging it.
What to do instead: Write only what makes your version different. If you're placing the character in an alternate universe, describe the AU. If you've shifted their personality in a specific direction, note the shift. If the original source is ambiguous on a trait and you want to pin it down, pin it down. Leave everything else to the model's existing understanding. Fan wikis are excellent for checking your accuracy, but don't paste the wiki into the prompt.
How to Prompt Original Characters (OCs)
Original characters need more guidance because the AI has no reference point. But more guidance doesn't mean more words. It means the right words.
Before you touch the character creation form, spend time developing your character concept externally. AI tools like ChatGPT or Claude can help you brainstorm traits, test dialogue, and workshop backstory. Iterate until you have a clear picture of who this character is. Then distill that picture into the minimum the AI needs to portray them.
What the model actually needs from your prompt:
Personality: Specific descriptors that carry weight on their own. "Arrogant but deeply insecure, performs confidence, crumbles when genuinely challenged" gives the model a behavioral blueprint in one line.
Voice: A few example lines the character would actually say. Not a description of their speaking style, but the style itself, demonstrated. If someone read just the example lines with no other context, they should be able to hear the character.
Current situation: What they're doing right now, what they want, what's at stake for them. Not a chronological history of how they got here.
A distinguishing detail: The one or two things that make this character feel like a specific person instead of a generic archetype.
That core is usually enough to get a functional, recognizable character. Everything beyond it should be added only after testing reveals a specific gap.
When Almost No Prompt Works Better Than You'd Expect
One of the most instructive experiments in AI character creation: a character whose entire description was "he's really sad" produced interactions that were surprisingly layered and emotionally engaging. The model had room to interpret, improvise, and build the character through conversation rather than executing a fixed script.
There's currently no universally agreed-upon formula for what makes the "best" AI character. Anyone claiming one method is objectively superior is working from personal experience, not settled science. There's a strong case for starting with less than you think you need and discovering how much the model can infer on its own.
AI Character Prompt Writing, Field by Field
Personality: Specific adjective clusters beat long explanations. "Charming, emotionally avoidant, sarcastic when cornered, surprisingly gentle with people he respects" does more than a full paragraph about his emotional backstory. The descriptors are the instruction.
Backstory: One or two sentences about what's shaping the character right now. Not a life history. If something from their past is relevant to how they behave in conversation, include it. If it's just worldbuilding you're proud of, it belongs in a separate document, not the prompt.
Tone: Often a single word or short phrase is sufficient. "Sardonic." "Quietly intense." "Overly cheerful in a way that feels like deflection." The model does not need you to define what these words mean.
Likes and Dislikes: Keep these to simple, scannable entries. "Likes: storms, bad poetry, people who argue back. Dislikes: authority, small talk, being perceived as kind." Leave off the reasons. If the character dislikes small talk because of a formative experience in which (stop). Just say they dislike small talk.
Conversational Examples: This is where you demonstrate how the character sounds. Two or three lines that capture their rhythm, vocabulary, and attitude. Don't annotate them. Don't add "this shows that she's guarded" after an example line. The example is the proof. Let it stand.
Behavioral Directives: Short, actionable instructions that tell the model what to do (or not do) in conversation. "Never break character to explain emotions." "Avoid long monologues." "Respond with physical actions when the character wouldn't have words." Two or three of these go a long way. A list of fifteen starts contradicting itself.
Choosing a Prompt Format: W++, JSON, Key-Value Pairs, or Plain Language
Creators often ask which formatting structure produces the best AI character results. Here are the most common options:
W++ Format (popular in Character.ai communities):
[("Janet") { physical appearance("black hair in twintails" + "green eyes" + "pale skin") motivations("win the throne" + "revenge") }]
JSON Format (structured and explicit):
{ "name": "Janet", "appearance": ["black hair in twintails", "green eyes"], "motivations": ["win the throne", "revenge"] }
Simplified Key-Value Pairs (token-efficient, scannable):
Name: Janet
appearance: black hair in twintails + green eyes + pale skin
motivations: win the throne + revenge
Plain Language (most human-readable):
Janet has black hair in twintails, green eyes, and pale skin. She's driven by a desire to claim the throne and a hunger for revenge.
The honest answer:
LLMs can interpret all of these effectively. There is no single format that is scientifically proven to be superior. W++ and JSON save some tokens through compact structure. Plain prose is easier to read and edit. Simplified key-value pairs split the difference. Choose the format that you'll actually maintain and revise, because you will be revising it.
What matters more than format is clarity, consistency, and not saying the same thing three different ways in three different fields.
Managing Your Token Budget for Longer AI Conversations
You don't need to count every token, but a mental model of the budget helps. Your character description, the platform's system prompt, and the full conversation history all draw from the same finite pool.
Every word you spend on the character prompt is a word subtracted from the conversation's available space. The heavier the prompt, the sooner old messages start getting dropped. The character drifts, flattens, or starts contradicting itself right around the point where the conversation is getting interesting.
Given the "Lost in the Middle" research, placement also matters. Front-load the traits and behaviors you care about most. The top of your description and the most recent messages in conversation get the most reliable attention from the model. Everything in between is the danger zone.
If you want to audit your token usage, free tokenizer tools (like
OpenAI's tokenizer) give you a rough count. For most creators though, writing with an eye toward "clear and concise" is a reliable enough strategy without getting into the math.
When Longer Prompts Are Actually the Right Call
This guide isn't arguing that shorter is always better. It's arguing that
length without purpose is always worse. There are real situations where a longer prompt is the right tool:
Your character is fully original and the AI has no training data to draw from
You need unusual or precise behavioral constraints the model won't guess on its own
Minimal prompts are producing flat, generic output and more signal is genuinely needed
The character's voice isn't landing and additional conversational examples are the only way to get it across
Your character exists in a unique fictional world with rules the AI couldn't infer
In those cases, add what's necessary. Then stop. Every addition after the point of diminishing returns actively works against you.
The Three Questions to Ask Before Adding Anything to Your Prompt
1. Does the AI actually need this information to portray the character, or am I including it because I'm personally invested in it?
2. Is this solving a specific problem I've observed in testing, or is it preemptive?
3. Would I notice if I deleted this? Have I tested without it?
If something in your prompt is there because it felt important to write rather than because it changed the character's output, move it to a personal reference document. It can live there happily. It doesn't need to be in the prompt.
The Iterative Process: How to Actually Improve Your AI Character
1. Write a short initial prompt with only the essentials.
2. Have several real conversations with the character across different scenarios.
3. Note the specific moments where the character breaks, goes flat, or behaves in ways that feel wrong.
4. Add or revise only the parts of the prompt that address those specific issues.
5. Remove anything you added that didn't produce a noticeable improvement.
6. Repeat.
Character creation is a craft, and like any craft, it improves with practice, feedback, and exposure to how other people approach it. AI character communities on Discord, Reddit, and other platforms are full of creators sharing what works, what doesn't, and what they've learned through trial and error. If you're serious about getting better at this, find one and participate. Seeing how other creators build characters (especially the ones who consistently produce characters that feel alive) will teach you faster than any guide, including this one.
Frequently Asked Questions About AI Character Prompting
Why does my AI character keep forgetting things mid-conversation?
The conversation has likely exceeded the model's context window. Older messages (including parts of your character prompt) get pushed out as new messages come in. Shorter prompts preserve more room for conversation history.
Should I use W++ or JSON or plain text for my AI character?
Whichever you're most comfortable writing and editing. All common formats work. Clarity matters more than structure.
Why does my character act differently on different platforms?
Each platform uses different LLMs and different system prompts. A prompt that works on one platform may need adjustment on another. Build characters that rely on strong core traits rather than hyper-specific instructions.
How long should my AI character prompt be?
As short as it can be while still producing the behavior you want. Start minimal, test, and add only what's needed. There is no ideal word count, but most characters benefit from prompts that are shorter than their creator's first instinct.
My character is from a popular show or game. How much detail do I need?
Very little. A brief identifying description and any details specific to your version. The AI already knows the character. Focus on what's different about your take.
Can I use plain English instead of W++ or JSON?
Yes. LLMs understand natural language just as well as structured formats. Use whatever you find easiest to write, read, and revise.
The best AI character prompt leaves room for the conversation to happen.
Go delete half your backstory. The character will survive. Probably be better for it.