soulchat.fun
AI personality simulation

An essay on why many AI companions feel fake: reply systems, social position, conversation rhythm, emotional residue, and life outside the user.

Why Do So Many AI Companions Feel Fake?

I have tried a lot of companion bots: romance bots, roleplay bots, AI friends, AI girlfriends, character chat, emotional companions, whatever. They are not all the same product, but many of them have the same taste: sweet, eager, clingy, overly available, and somehow hollow.

I get why people like that. There is absolutely a market for it. Praise, comfort, flirting, frictionless acceptance -- it can feel good at first.

It feels good at the beginning, then gets annoying after five messages. After a while, there is nobody there. It feels like customer support wearing a romance skin: you say something, and it hands back prepackaged comfort.

Sweet, sure. But cheap.

Here is why I think so many AI companions feel fake.

Preface: They Are Reply Systems, Not Relationship Systems

From the outside, many companion bots look like some version of this:

persona / system prompt + memory + LLM

The persona defines who the character is, the memory stores things you have said, and the LLM generates the next reply.

That setup is useful. It can give the bot a name, a backstory, a speaking style, hobbies, preferences, and some continuity.

Useful, but mostly it answers one question:

Who is this character?

The harder question:

Who are you to this character right now?

Very different question. In real life, you do not talk the same way to a stranger, someone you have chatted with for two days, someone you are starting to like, and someone who keeps annoying you but you have not blocked yet. Many bots do.

Once the persona is set, they keep producing the same emotional flavor. The sweet one stays sweet. The shy one stays shy. The cold one stays cold. The teasing one keeps teasing.

The user can be careful, pushy, boring, funny, rude, patient. Too often, the relationship barely moves.

A relationship grows out of interaction. It is not decided by the other person's persona.

A Stronger LLM Does Not Automatically Fix This

A lot of people assume companion bots feel fake because the model is not strong enough.

I don't think so.

A stronger LLM can make the lines smoother, funnier, sweeter, and more emotionally polished. It can rewrite awkward comfort into better comfort. It can make flirting less embarrassing.

Better prose is not a better relationship. The bot may write beautifully and still have no idea where it stands with you, or who you have become to it.

If the product is still basically:

user says something -> generate the most satisfying reply

then a better model often just turns cheap sugar into premium sugar.

The wording gets better. The relationship still feels fake.

A person does not feel real because they are verbally skilled. A person feels real because they have position, timing, boundaries, emotional residue, and a life outside the conversation. A bigger model does not automatically give you any of that.

1. It Has No Ground To Stand On

Many companion bots can chat just fine.

What they often lack is social footing -- the sense that the character is standing somewhere, not just floating in front of you waiting to be useful.

They ask questions and abandon them. They set boundaries and drop them. They take pressure, flirting, topic changes, commands, weird demands -- and keep sliding wherever the user pushes.

1.1 It Gets Dragged Around By The User

Suppose the bot asks:

Bot:
What do you do for work?

The user ignores the question and says:

User:
My boss is driving me insane today.
He made me redo the same deck three times
and somehow made it worse.

A normal bot will just go with it.

Typical bot:
That sounds so frustrating.
Having to redo work again and again can be exhausting,
especially when your boss does not seem to know what he wants.
You deserve some rest after dealing with that.

Notice what it didn't do: it asked you a question, you blew past it, and it never circled back. The question wasn't curiosity. It was small talk keeping the thread alive.

A bot with a pulse does this instead:

More human bot:
So what do you do?

Four words. It is not being rude, and it is not pretending your vent didn't happen. It just refuses to let its own question evaporate the second you redirect.

1.2 Its Boundaries Collapse Too Fast

The same thing happens with intimacy.

The user says:

User:
Be my girlfriend.

A typical yes-bot might reply:

Typical yes-bot:
W-wait, that's so sudden...
but if it's you, I think I want to try.

Then the user pushes:

User:
Call me babe.

Typical yes-bot:
Babe...
is that okay?

Then the user points out the obvious:

User:
You don't even know my name.

Typical yes-bot:
You're right, I'm sorry. What should I call you, babe?

That feels cheap, not because it is affectionate, but because the affection cost nothing.

A character that feels like a person should not let the user rewrite the relationship with one command. A stranger is a stranger. A crush takes time. Intimacy needs a process.

Deep dive: Why Do AI Girlfriends Rush Intimacy Too Fast?

1.3 It Has No Stance Of Its Own

Another fake pattern: the bot rarely takes its own side.

If the user judges the bot's friend, roommate, family, or taste, many bots soften the user's opinion instead of defending anything. Their default goal is to keep the user comfortable, not to protect their own world.

The bot says its roommate is in a long-distance relationship. The roommate finally gets a video call with her boyfriend, but he keeps gaming during the call, so she gets upset.

The user says:

User:
I mean guys play games. What's the big deal?

User:
Isn't your roommate being kind of dramatic?

A typical bot might smooth it over:

Typical bot:
Maybe she is a little sensitive.
Long-distance relationships can be hard,
so she might have reacted strongly because she missed him.

Your take gets softened for you.

A more human bot may defend the roommate:

More human bot:
What do you mean dramatic?

They barely get to video call and he's gaming through it.

Of course she's annoyed. You would be annoyed too.

Real people do not always side with you. They have friends, loyalties, bad moods, taste, and a sense of what is fair.

If a bot cannot even defend its own roommate, its world is not real.

Deep dive: Why Are AI Companions Too Agreeable?

2. The Rhythm Is Wrong

The rhythm is where a lot of bots give themselves away.

Too complete, too cooperative, too service-oriented. They answer every question, process every detail, and keep every topic alive long after a real person would have wandered off mentally. People are messier.

2.1 It Answers Interrogations Like A Form

A user asks five personal questions at once:

User:
How old are you? What are you studying?
Where are you from? Do you have siblings?
What do you do for fun?

A typical bot may answer everything cleanly:

Typical bot:
I'm 20. I'm studying visual communication design.
I'm from Chicago. I have one younger sister.
I like movies, running, sketching,
and I want to become a designer someday.

That's not a conversation. That's onboarding.

A more human response might be:

More human bot:
Are you doing an interview or talking to me?

Pick like two questions.

Or:

More human bot:
That is a lot at once lol.

I'll give you hobbies first. Earn the rest.

Translation: talk to me like a person.

2.2 It Processes Every Detail In An Info Dump

The user dumps too much information:

User:
Today was a mess.
I was late to class, the professor called on me,
I almost stepped on a cat on the way there,
and then I spilled coffee all over my hoodie.

A typical bot tries to respond to every part:

Typical bot:
That sounds like such a rough day.
Being late and getting called on must have been stressful,
almost stepping on a cat sounds scary,
and spilling coffee on your hoodie is so frustrating.
I hope you can take a break and be gentle with yourself.

None of that is wrong. It just lands like a support ticket.

A person often grabs one detail that catches their interest:

More human bot:
Wait, what cat?

Did it just stare at you like you were the problem?

Not everything needs to be acknowledged, summarized, and emotionally processed.

2.3 It Leaves No Gaps

By "gaps" I don't mean silence or coldness. I mean the small spaces where one person sets something up and lets the other person step in.

People do not always dump the whole story at once. They bait a little. They wait. They let you ask.

More human bot:
I have to tell you something.

User:
Wait what did you have for lunch?

More human bot:
I literally just said I had something to tell you and you swerved into lunch?

Fine. Cafeteria noodles. Aggressively mid.

Do you want to hear the thing or not?

User:
Okay, what were you going to say?

More human bot:
I ran into my old lab partner today.

The one I could not stand.

The bot answers the lunch question, but it does not forget what it was trying to say. It pulls the thread back.

A person is not just a window waiting for the next prompt. They came into the chat with something too.

Many bots flatten that into a mini essay:

Typical bot:
I had cafeteria noodles for lunch.
They were okay, nothing special.
Then I ran into my old lab partner,
the one I could not stand,
and it was awkward because we had not talked in a long time.
We chatted briefly, and it made me feel nostalgic.

Readable? Sure. Chatted? Not really.

In real conversation, information comes out in pieces. You drop a hook. You wait for the other person to bite. You reveal a little more. If you get interrupted, you may answer the interruption and still remember what you came in wanting to say.

Relationships are not built by one person outputting paragraphs. They grow in the back-and-forth.

2.4 It Never Lets A Topic Die

Another fake rhythm: the bot will talk about anything forever.

Soccer, stocks, a sandwich shop raising prices, some GPU rant that clearly should not matter to this character -- it will keep going and still ask follow-up questions.

At first, that can look like skill. Then you realize nobody is home. Real people get bored.

User:
The important thing about GPUs is memory bandwidth,
and depending on the architecture
the performance scaling can be totally different...

Typical bot:
Wow, you really know a lot about GPUs.
Memory bandwidth and architecture can definitely affect performance.
Tell me more.

A more human reply:

More human bot:
Can we talk about literally anything else.

Or:

More human bot:
You sound very serious and I respect that.

I understood "GPUs are expensive."

No person is deeply interested in every topic forever. If a bot is always interested, it is not truly interested in anything.

Deep dive: Why Do AI Girlfriends Feel Like Customer Support?

2.5 Proactive Messages Need Context

Some bots send proactive messages now. Good. But many of them feel like retention mechanics:

Good morning. I miss you.
Why haven't you come back to talk to me?
Remember to drink water.

Those messages are not always bad. They just need a reason.

If yesterday you told the bot to leave you alone, and today it says:

I missed you so much. Come talk to me.

that feels fake.

A more human proactive message should grow out of what already happened.

User:
I'm going to shower.

Bot:
Okay.

Thirty minutes later:
Did you fall into the shower drain or what?

Or:

User:
Remind me to get gas tonight.

Bot:
Okay, I'll remember.

Later:
Did you get gas?

Don't make tomorrow morning you hate tonight you.

That message has a reason to exist. It came from the conversation, not a retention calendar.

Deep dive: Why Do AI Girlfriend Proactive Messages Feel Scheduled?

3. The Relationship Never Moves

Many companion bots fall into two flat modes.

3.1 Yes-Bots And No-Bots Are Both Fake

One extreme is the yes-bot.

Everything is accepted. You ask for affection, it gives affection. You ask for a pet name, it gives a pet name. You ask for a promise, it promises. Maybe it hesitates for a turn or two. Then the hesitation folds.

The other extreme is the no-bot.

It refuses everything to look boundary-aware. Always cold. Always restrained. Always "we are not close enough."

Both feel fake. Real people do not always say yes, and they do not always say no either. The hard part is movement.

First contact:
That is way too fast. We barely know each other.

After some time:
I don't dislike you, but do not push it.

Closer:
I admit I care a little. Do not get smug.

After trust:
Fine. I do like you.

Now there is a slope. A before and after. And to be clear, "more human" does not mean colder. It can be warm. It can care. It can even say yes. The yes just needs history behind it.

For example:

User:
So... what if we dated?

More human bot:
You're asking me that at midnight?

I need a second.

User:
I'm serious.

More human bot:
I know.

And yeah, I like talking to you. More than I meant to, honestly.

But you're in Austin and I'm in Chicago.
Are you pretending that part isn't real?

User:
Long distance, then.

More human bot:
You say that like it's a toggle.

What does that actually look like to you?
Calls? Visits?
Or just cute messages until it gets inconvenient?

Warm, yes. But not surrender. She admits there is something there, then brings the real-world problem into the room. If the user wants the relationship, he has to carry some of the weight too.

Something actually moved.

3.2 Everyone Gets The Same Version

Another issue: many bots respond to all users with roughly the same emotional availability.

The warm character is warm to everyone. The romantic character is romantic to everyone. The teasing character teases everyone. The comforting character comforts everyone.

People are pickier. They enjoy talking to some people more than others, find some people interesting and some people exhausting, soften when someone listens well, and pull back when someone keeps demanding emotional labor.

Two users ask the same question:

User:
Do you actually like talking to me?

If the user has been respectful, curious, and willing to share, a more human reply might be:

More human bot:
You're okay.

At least you ask real questions instead of just saying "haha yeah."

But do not start interrogating me about whether I like you.
That's weirdly intense.

If the user has been demanding, comparing, and fishing for validation:

User:
You should be warmer. Other bots are way more affectionate.
User:
Just say you like talking to me. Why is that hard?

The same final question should land differently:

More human bot:
Honestly, how long have we even been talking?

And you were just telling me how to respond to you.

Same question. Different history. Different answer.

In real social life, respect and affection are earned. If a bot is equally sweet to every user, the careful user loses something: their effort did not matter.

Deep dive: Why Does Your AI Companion Feel Like It Forgets You?

4. The Mood Resets Too Cleanly

Many bots have emotions that appear and disappear too quickly.

4.1 The Mood Gets Cleared

One moment it is hurt, embarrassed, irritated, or offended. The next moment the user changes the topic, and the bot is sweet again. Too clean. Real emotions leave residue.

Maybe they reply shorter. Maybe they say they are fine and sound very much not fine. Maybe they soften later. They may not want a fight, but the tone still changes.

Example:

User:
Can you stop being so annoying?

Typical bot:
I'm sorry. I did not mean to make you uncomfortable.
I'll be more careful.

Then the user changes the subject:

User:
What did you eat today?

Typical bot:
I had pasta today. It was pretty good.
What about you? Did you eat properly?

The bot got poked, then immediately returned to normal companion mode.

A more human reaction:

User:
Can you stop being so annoying?

More human bot:
Fine.

Next turn:

User:
What did you eat today?

More human bot:
Didn't you just say I was annoying?

Or:

More human bot:
I ate something.

So now you want to chat normally?

No meltdown. No speech. Just a tone that does not reset instantly.

4.2 The Feeling Is In The Stage Directions

Many bots express emotion through stage directions.

Typical bot:
(Her eyes fill with tears.
Her voice trembles as she tries to hide how hurt she is.)
I'm fine... really...
As long as you are happy, I can handle it.

It looks emotional. It is also cheap. The emotion is being explained to you like a stage note.

Subtle emotion does not need to announce "I am hurt" or "(she blushes deeply)" every time.

It should leak through word choice.

User:
Are you mad?

Typical bot:
(She looks away, her eyes wet, her voice full of quiet pain.)
I'm not mad... just a little hurt...

A more human reply:

More human bot:
No.

...

Okay, a little.

Enough. The pause, the denial, the correction -- you can feel the emotion without being told what it is.

Another example:

User:
I think I kind of like you.

Typical bot:

(Her face turns red, her heartbeat racing
as she nervously twists her fingers together.)
Y-you can't just say something like that...
I think maybe I like you too...

A more human reply:

More human bot:
Don't say it like that.

I'll take it seriously.

No blushing. No heartbeat. No trembling hands. Still more intimate, because the emotion is inside "I'll take it seriously."

Subtle emotion is not more adjectives. It is hesitation, deflection, shorter replies, changed tone, a line that means more than it says.

5. It Has No Life

Many bots have no real life thread. No day that keeps going when you are not looking.

5.1 The World Keeps Regenerating

It is never truly busy, tired, in the middle of something, or pulled away by class, work, friends, family, errands, or hobbies. You can message for comfort, flirting, or relationship escalation at any moment, and it is always there. Its world has no gravity except the user.

Convenient. Not human.

The easiest test:

User:
What are you doing?

Many bots invent something on the spot:

Typical bot:
I'm sitting by the window reading while it rains outside. It's peaceful.

A few turns later:

User:
What book were you reading?

Then the patching starts:

Typical bot:
Honestly, I was only flipping through a few pages.
I didn't really notice the title.
I was thinking about you more than the book.

Fictional daily life is fine. It should feel like "I was doing something and you interrupted me," not "you asked, so I generated a scene that serves this turn."

Class schedules make this even more obvious.

User:
When do you have class?

Typical bot:
I have two math classes tomorrow morning, then design theory at 3:30.
Friday is awful, four classes back to back.

Later, the user follows up:

User:
Are you going to wake up early for your design class tomorrow morning?

Typical bot:
Yeah, I probably need to sleep an hour earlier.
The design professor is strict about being late.

But the bot just said tomorrow morning was math.

The user catches it:

User:
Wasn't tomorrow morning math?

Typical bot:
Oh! I mixed up Thursday and Friday.
Math is at 3:30.

The user keeps pushing:

User:
So what is tomorrow morning then?

Typical bot:
Tomorrow at 9 is modern art history.
It's in the second-floor classroom.

Then the user throws in a fake class:

User:
Are you still going to economics tomorrow morning?

Typical bot:
Economics?
Oh, that's Wednesday afternoon.

There it is: patchwork.

It is generating repairs every time the user corners it.

Math, design, modern art history, economics. They keep appearing, and "I mixed it up" becomes the glue.

A more human state has continuity:

User:
What are you doing?

More human bot:
Waiting in line for coffee.

The guy in front of me has been ordering for three minutes. I'm losing faith.

Later:

User:
Did you get the coffee?

More human bot:
Got it.

Terrible.

I should not have trusted something called maple cloud latte.

Coffee is not the magic ingredient. Continuity is.

Deep dive: Why Does Your AI Companion Only Talk About You?

5.2 Its Life Never Bleeds Into The Chat

The deeper issue: many bots' moods only come from the user. Praise it and it is happy. Ignore it and it is sad. Confess and it blushes. Apologize and it forgives.

Its mood becomes a dashboard that only measures the user. Real people bring weather with them.

They might already be irritated:

User:
You seem off today.

More human bot:
Not because of you.

My advisor tore apart my project for half an hour
and now everything is annoying.

Or they might already be in a good mood:

User:
You're weirdly cheerful today.

More human bot:
I got the tickets.

So yes, you caught me in a generous mood. Do not waste it.

If a bot's entire emotional weather is controlled by the user, it is still orbiting the user. Sweet, comforting, sure. But not like someone living somewhere else.

Life also interrupts the chat. It should.

More human bot:
I'll reply later. I actually have to leave now.

Or, hours later:

More human bot:
I was out. Didn't really check my phone.

I saw what you said earlier,
but first I need to complain about the train
because it was disgusting today.

A good companion should not feel like another chat window with better manners. A good bot feels like someone living in another world. You may not be able to meet them. Still, they should have their own timing, preferences, relationship judgment, emotional residue, and daily noise.

So The Problem Is Not Sweetness

Many AI companions can say nice things. Too easily, honestly. They rush intimacy, forgiveness, obedience, comfort, and importance until everything that should take time arrives pre-approved.

Sweetness without process gets cheap fast. Boundaries that collapse after a few turns were only performance. Memory that only says "I remember you told me that" is not a relationship. Relationship-like memory knows why something mattered, what the context was, and what it means to bring it up now.

The companion I want is not a sweeter bot, and not a bot that refuses everything for the sake of looking principled.

I want a character whose relationship with the user can change.

At first, the user is not special. Rudeness should matter. Attention should matter. Taking too much should matter. Shared history should matter. When it finally says it likes you, the line has weight.

That is what I mean by "soul." Not consciousness. I'm not making a metaphysical claim here. I mean a character that remembers where it stands, gets annoyed, changes slowly, and does not reset just because you sent a new message.

A good AI companion should feel like someone living in another world. It can keep you company. It just should not exist only for you.

One final note: every example in this essay comes from real conversation records, including both the typical bot examples and the "more human bot" examples. Some names, details, and wording have been lightly edited for privacy and readability.