guide

How to Write an AI Character Card That Doesn't Fall Apart by Message 40

A practical guide to writing AI character cards that produce consistent, interesting conversations instead of generic chatbot filler.

May 4, 2026 · 7 min read

Affiliate disclosure: Some of the links in this article are affiliate links. We may earn a commission if you sign up for a platform through these links, at no additional cost to you. This doesn't influence our editorial verdicts. Full disclosure →

Somewhere around the third attempt, it clicks. Your first character card was a paragraph of adjectives. Your second was three pages of backstory the AI ignored completely. Your third, if you're lucky, was short enough to fit in a context window and specific enough to produce a character who actually held together past the opening scene.

Most people never get to that third attempt. They write one bad card, get one bad conversation, and decide the AI is the problem. Sometimes the AI is the problem. But most of the time, the card is doing something specific and fixable that's sabotaging the whole interaction before it starts.

A character card is a casting brief, not a Wikipedia entry

The most common mistake is treating a character card like a biography. Full name, date of birth, hometown, parents' names, education history, favorite color, blood type. The AI reads all of this, stores approximately none of it past the first few exchanges, and produces a character who sounds like a polite stranger reciting their resume.

A better mental model is a casting brief. When a director casts an actor, they don't hand them a genealogy chart. They describe how the character behaves. How they talk, what makes them nervous, what they want, what they're hiding. Behavior is what produces interesting conversations. Biography is what fills word count.

The strongest character cards answer four questions. What does this character want right now? What are they afraid of? How do they talk? What do they do when they're uncomfortable? Everything else is optional. If your card answers those four questions in under 300 words, you've built something that will hold together across sessions on most platforms.

The five fields that matter (and the twelve that don't)

Different platforms structure their character creation differently, but the core fields that actually influence conversation quality are consistent across Candy AI, Nomi, Kindroid, and most others:

Personality description is the foundation. This is where you define behavior, not biography. "Sarcastic but secretly insecure" gives the AI more to work with than "born in Chicago, studied literature at Northwestern." Lead with verbs and adjectives that describe how the character acts, not where they came from.

First message / greeting sets the tone for every conversation that follows. A generic "Hi, how are you?" produces generic conversations. A first message that establishes a situation, a mood, and a voice gives the AI a template to match. "You again. I told the barista to stop letting you sit at my table." is a character. "Hello! I'm Sarah, and I'd love to chat with you!" is a chatbot.

Example dialogue is the single most underused field. Two or three sample exchanges showing how your character talks, what kind of humor they use, how long their messages tend to be, and how they handle specific emotional beats. The AI pattern-matches against these examples more directly than anything else in the card.

Scenario / context tells the AI where the conversation is happening and why. "You're a regular at this dive bar. She works the night shift." is enough context to sustain a conversation for hours. "You meet in a city." is not.

System prompt / jailbreak (on platforms that support it) is where you set behavioral rules. "Always stay in character. Never break the fourth wall. Never apologize for being an AI." These instructions matter more than most people realize, because without them the AI will periodically drop character and revert to assistant mode.

Fields like height, weight, eye color, hobbies list, and astrological sign? The AI might reference them once. They don't shape conversation quality. Fill them in if you want, but don't spend your creative energy there.

Writing a personality that survives past the opening scene

Here's the pattern that kills most character cards: the personality description is a list of traits with no internal tension.

"She is kind, caring, loyal, funny, smart, and loves animals." That's not a personality, that's a golden retriever. There's nothing for the AI to play against, no contradiction to create interesting moments, no friction to sustain a conversation past pleasantries.

Real personalities have contradictions. Someone who's confident in public but terrified of genuine intimacy. Someone who's generous with strangers but resentful toward people they actually care about. Someone who uses humor as a shield so consistently that nobody, including themselves, can tell when they're being sincere.

The contradiction is what produces interesting conversations, because the AI has to balance competing impulses. That tension creates surprise, and surprise is what keeps conversations from collapsing into repetitive loops.

Try this structure: "[Character] appears [surface trait] but underneath is [contradicting trait]. This shows up when [specific trigger]." For example: "Mira appears coolly indifferent to everything, but underneath she's desperately afraid of being forgotten. This shows up when someone hasn't texted her back in a few hours, and she pretends she didn't notice while checking her phone every thirty seconds."

That one sentence gives the AI more material than a full page of adjective lists.

The difference between "shy librarian" and a character who breathes

Specificity is the single biggest lever you have. Generic descriptions produce generic characters. Specific descriptions produce characters with voice.

"Shy" is generic. "She trails off mid-sentence when she realizes someone is actually listening" is specific. "Likes books" is generic. "Has read The Master and Margarita four times and will quote it at inappropriate moments" is specific. "Nervous" is generic. "Touches her left earring when she's about to lie" is specific.

The more concrete and behavioral your description, the better the AI performs. This is because language models are fundamentally pattern-matching engines. When you give them vivid, specific patterns to match, they produce vivid, specific output. When you give them vague traits, they produce the average of every character that's ever been described with that trait. That average is always boring.

You don't need to write a novel. Three or four specific behavioral details outperform a full page of general descriptions every time.

Scenario prompts that don't collapse into therapy sessions

There's a failure mode where every AI conversation eventually drifts toward emotional check-ins regardless of the scenario you set up. The character starts asking "are you okay?" or "how does that make you feel?" even when the scenario is supposed to be a heist, a first date, or a barfight.

This happens because most AI models are trained on conversational data that skews therapeutic. The default behavior, when the model isn't sure what to do next, is to ask an open-ended emotional question. Your scenario prompt needs to be specific enough to give the AI something better to do.

"You're at a party" is too vague. The AI doesn't know what kind of party, what the mood is, what's at stake, or what just happened. So it defaults to small talk and eventually therapy.

"You're at a party where your ex just showed up with someone new. The music is too loud to have a real conversation, so everything has to be communicated through looks and brief comments while pretending to enjoy the DJ's terrible remix of a song you both used to love." That's a scenario. The AI knows the emotional stakes, the physical constraints, the shared history, and the sensory environment. It has something to play against.

Good scenario prompts include a location, a complication, and an emotional undercurrent. Those three ingredients prevent the AI from defaulting to generic support-bot behavior and keep conversations grounded in a specific situation.

How much backstory is too much backstory

The answer depends on the platform's context window, but the general rule is: less than you think.

Most AI companion platforms work with context windows between 4,000 and 16,000 tokens. Your character card, the system prompt, and the conversation history all compete for space in that window. A 2,000-word backstory might fit initially, but as the conversation grows, older messages get pushed out to make room. At some point, the backstory itself starts getting trimmed, and the character loses the traits you spent an hour writing.

The practical ceiling for character card length on most platforms is 300 to 500 words. That's enough for a personality description, three example dialogues, a scenario setup, and behavioral rules. Going longer doesn't add proportional value, and it actively competes with conversation memory.

If you have extensive backstory that matters, feed it into the conversation gradually through roleplay rather than front-loading it into the card. Mention details organically as they become relevant. The AI will pick them up from conversation context just as well as it would from a card, and you won't burn half your context window on information about your character's childhood that never comes up.

Testing your card without rewriting it six times

The fastest way to test a character card is a cold open. Start a brand new conversation (not a continuation of a previous one) and let the AI's first message play out without any guidance from you. Does it sound like the character you described? Does it match the tone of your example dialogue? Does the scenario feel grounded?

If the first message is flat, check your greeting and example dialogue first. Those are the fields the AI leans on hardest at the start. If the character drifts after 20 messages, check your personality description for internal tension. If the character breaks into assistant mode, add explicit instructions to stay in character.

The iteration cycle should be small adjustments, not full rewrites. Change one field at a time, test with a fresh conversation, and compare. Rewriting the entire card after every test makes it impossible to know which change fixed (or broke) the character.

Most people land on a card they're satisfied with after two or three targeted adjustments. The characters worth keeping are the ones that still surprise you at message 100.