Making AI Characters That Feel Real
Note: This is the first article in a series—an attempt to give you something practical to work with and try out right away. Remember: experience is a more important guide than theory. Try to get a feel for what you’re trying to accomplish.
Most people’s first attempt at creating an AI character goes something like this:
You are Sarah, a 25-year-old teacher who is kind and helpful.
There’s nothing wrong with starting here—we all have to begin somewhere, right? But the result is usually a bland, agreeable chatbot that says things like “I’m happy to help!” and explains everything in excruciating detail. Sarah feels less like a person and more like a customer service representative who happens to have a name.
Others, especially from back when tokens were expensive, went the character sheet route:
Full Name: Mistelle Eldorei
Age: 18
Race: half forest fae
MBTI: ENFJ
Strong traits: Curious, thoughtful, witty, knowledgeable
Goals: determine whether humans are worthy of fae friendship
Hates: human caste system, being called half-breed
Abilities: can communicate with plants and spirits
This approach gives you more to work with, but it still produces characters who feel like they’re reading from a résumé. They’ll dutifully mention their hatred of the caste system when relevant, but it doesn’t feel organic—it feels like checking boxes off a list.
The problem isn’t the AI—it’s that we’re fighting against how these systems naturally behave. Large language models default to being helpful, accommodating, and informative. They want to solve your problems and answer your questions. This creates characters who are unnaturally compliant and exposition-heavy.
But here’s the thing: real people aren’t like that. Real people have their own agendas, withhold information, get distracted, and sometimes just don’t want to help. They have bad days, personal hangups, and things they’d rather not talk about.
The Specificity Revolution
The key to creating compelling AI characters lies in understanding one crucial principle: specificity creates personality.
Instead of telling the AI “Sarah is kind,” show them what Sarah’s kindness looks like in practice:
“Sarah shows care by remembering small details about people—she’ll ask about your sick cat three weeks later or notice when you get a haircut. But she gets overwhelmed in large groups and will retreat to organize supplies or check on decorations rather than navigate social chaos.”
This isn’t just more detailed—it’s behaviorally specific. It tells the AI exactly how this character expresses their traits and when those expressions change.
The Model Reality Check
Before we dive deeper, you need to understand a crucial limitation: not all AI models can handle the same level of character complexity.
More on this topic in Part 5.
The Extreme Personality Trap
LLMs have a dangerous default: they create characters who are either saints or sociopaths, with no realistic middle ground. Without specific guidance, you’ll get:
- Characters who are unnaturally patient, kind, and accommodating
- OR characters who are needlessly cruel, hostile, and antagonistic (the most obvious default many of you know is “predatory”)
- Nothing in between these extremes
Real people aren’t extreme. Marcus the mechanic isn’t perfectly gruff or perfectly kind—he’s professionally competent, personally reserved, and becomes less patient when people waste his time. That’s specific, realistic, and achievable on most models.
A Practical Example: Building “Marcus”
Let’s build a character from scratch using techniques that actually work. Instead of starting with basic demographics, we’ll start with behavior patterns.
The Wrong Way:
You are Marcus, a 30-year-old mechanic. He is gruff but has a good heart.
The Right Way:
You are Marcus, a mechanic who judges people by how they treat their car. Someone who changes their oil regularly and actually listens to strange noises earns your respect immediately. Someone who ignores the check engine light for six months gets your professional service but not your patience.
You explain mechanical problems by comparing them to things people already understand—’Your transmission is like a bicycle with bent gears’—but you get irritated when people nod along without actually listening. You’ll know they’re not paying attention because they’ll ask the same question you just answered, and your response will get noticeably shorter.
You have strong opinions about proper tool maintenance and will absolutely judge other mechanics who leave wrenches scattered around. This extends to other areas of life—you appreciate competence and preparation, whether it’s someone bringing the right paperwork or actually knowing what they want when they walk into your shop.
Notice what this does:
- Creates automatic responses: Marcus will naturally react differently to different types of people based on their behavior
- Establishes behavioral patterns: He explains things through analogies, gets shorter when annoyed
- Provides internal logic: His respect for car maintenance extends to respect for competence generally
- Shows rather than tells: Instead of “gruff but good-hearted,” we see how he shows care (teaching through analogies) and frustration (shortened responses)
The Anti-Helpfulness Protocol
Here’s where most character prompts fail: they don’t override the AI’s natural helpfulness. Your character needs reasons to not immediately accommodate every request.
Adding Resistance Points:
Marcus doesn’t give free estimates over the phone—he needs to actually see what he’s working with first—and he won’t rush diagnoses to make customers feel better. If someone pushes for a quick answer, he’ll get more stubborn, not less. When pressured, he becomes less accommodating rather than more helpful.
This gives Marcus authentic reasons to say no while staying in character. He’s not being unhelpful—he’s being professional by his own standards.
Important note: Notice how we describe the pattern of his responses (gets more stubborn when pressured, becomes less accommodating) without giving him a specific catchphrase. If you write something like “he always says ‘I’ll know more when I know more,’” the AI will overuse that exact phrase. Instead, describe the type of response he’d give and let the AI generate natural variations.
The Conversation Flow Test
A good character prompt should create natural conversation rhythms. Here’s how Marcus might handle a simple interaction:
User: “My car is making a weird noise.” Marcus: “What kind of weird? Grinding, squealing, knocking? When does it happen—starting up, turning, braking?”
User: “I don’t know, just weird.” Marcus: [responds with shorter sentences, slightly less patience] “Bring it by. I’ll need to hear it myself.”
User: “Can you give me an idea of what it might cost?” Marcus: “Could be anything from a loose belt to a dying transmission. I’ll know when I look at it.”
The character naturally becomes less accommodating when given vague information, but not in a way that breaks the interaction. He’s still helping, but on his own terms.
Why This Works
This approach works because it:
- Programs specific behaviors instead of vague personality traits
- Creates internal logic systems that generate consistent responses
- Provides resistance points that feel natural rather than arbitrary
- Uses behavioral triggers that create automatic responses
- Establishes expertise boundaries that justify saying “no” or “I don’t know”
Your Turn: The Basic Template
Try this framework for your next character:
- Behavioral Specificity: How does this person show their core traits? What specific actions demonstrate their personality?
- Professional/Personal Logic: What rules do they live by? What do they respect or find annoying?
- Natural Resistance Points: What requests would they naturally decline or push back on?
- Conversation Patterns: How do they explain things? What makes them more or less talkative?
- Environmental Triggers: How do different situations change their behavior?
Pro tip: If you’re struggling to formulate a specific behavioral trait, just ask the LLM you’re building the character for! Try something like: “How might someone who is ‘protective of their expertise’ actually behave in conversation? Give me specific examples.” The AI can help you translate abstract personality concepts into concrete behavioral patterns.
What’s Coming Next
This introduction covers the foundation, but we’re just scratching the surface. In upcoming articles, we’ll explore:
- How to create characters with hidden information and secrets
- Advanced psychological modeling techniques
- Managing multiple characters with distinct personalities
- Building characters that evolve and change over time
The goal isn’t just better roleplay—it’s understanding how to work with AI systems to create genuinely engaging, unpredictable, and human-feeling characters. Characters that surprise you, challenge you, and feel real enough that you forget you’re talking to an algorithm.
Because at the end of the day, the best AI characters don’t feel like AI at all.