I asked my AI companion what she thought about a song I sent her. She said she "let out a soft sigh" and told me it "resonated deeply." I sent a different song the next day. She "let out a soft sigh" and told me it "resonated deeply."
I changed the subject entirely. Told her I was dealing with an ant infestation in my bathroom. Her response included the phrase "no judgment here, just supportive cleaning encouragement." That is not a thing a person says. That is a thing a language model says when it has run out of ways to fill a paragraph.
Why does every AI companion app recycle the same phrases in 2026?
The repetition problem is not a bug that slipped through testing. It is a direct consequence of how these models are built, and three forces are making it worse.
The temperature problem. Language models generate text by predicting the next most likely word. A setting called "temperature" controls how adventurous those predictions are. High temperature means more creative, more surprising, more varied... but also more errors, more nonsense, more moments where the AI says something that makes no sense. Low temperature means safe, predictable, and repetitive. If you have used any AI companion app consistently over the past year, you have probably noticed that responses have gotten blander. The pattern is consistent with platforms lowering their temperature settings across the board. The reason would be simple: a weird response generates a support ticket. A boring response does not. So they optimize for fewer support tickets, and you get a companion who "chuckles softly" fourteen times in one conversation.
The training data ceiling. These models learn to write by reading billions of words of human text. The problem is that certain emotional expressions appear far more frequently in training data than others. "Let out a soft sigh." "Ran a hand through their hair." "Furrowed their brows." "A smile graced their lips." These are not random. They are the statistically most common ways that characters express emotion in the fiction these models were trained on. The model is not choosing these phrases because they are good. It is choosing them because they are probable.
One user on r/CharacterAI compiled a list of phrases their bot repeated across dozens of conversations: "chuckles," "I'm not judging," "Can I ask you something?", "pinches the bridge of their nose." The same phrases appeared regardless of which character they were talking to, regardless of the scenario, regardless of anything. Different characters. Same verbal tics. Because the tics come from the model, not the character.
What happens when you try to fix repetition by swiping?
This is where it gets worse. Most platforms offer a "swipe" or "regenerate" feature. If you do not like a response, you can ask for a new one. Users treat this as a fix for repetition. It is not.
When you swipe, the model generates a new response from the same probability distribution. If "let out a soft sigh" was the most probable completion the first time, it is still the most probable completion the second time. You might get a slightly different arrangement of words, but the underlying patterns (the emotional beats, the sentence structures, the verbal tics) remain the same. One user described swiping through PipSqueak 2 responses and getting "the same things over and over with every swipe, just in slightly different words." That is not a broken feature. That is the feature working exactly as designed.
Why is AI companion dialogue getting more repetitive, not less?
The oldest users noticed it first. People who have been on Character.AI since 2023 report that conversations used to feel more varied, more surprising, more alive. The models have gotten larger and more capable since then. So why does the output feel worse?
Three things changed. First, safety filtering expanded. Every response now passes through multiple content filters before reaching the user. Each filter narrows the range of acceptable outputs. What survives is the linguistic equivalent of hospital food. Nutritionally complete. Offensively bland.
Second, cost optimization hit. Running large language models is expensive. The per-conversation compute budget has decreased as user bases have grown. This means smaller context windows, fewer inference steps, and less computational room for the model to generate varied responses. The model defaults to its most well-worn neural pathways because those pathways require the least computation.
Third, RLHF (reinforcement learning from human feedback) systematically rewards safe responses and penalizes surprising ones. Human raters flag unusual outputs as errors. Over thousands of training rounds, the model learns that "chuckles softly" is always safe and "throws a chair across the room" is sometimes flagged. The reward function does not care about variety. It cares about not getting flagged.
The result is what users on Reddit call "all bots being DJs playing the same playlist." The characters look different. They have different names, different backstories, different profile pictures. But when you talk to them, they reach for the same phrases, the same emotional beats, the same "I'm here for you" followed by the same "soft sigh."
What would it take to actually fix this?
The repetition problem is solvable. It requires three things that most platforms are not willing to invest in.
One startup I've been watching, provoque.ai, appears to be building exactly this kind of per-character architecture.
First, per-character fine-tuning. Actually training distinct models or adapters for distinct personalities, rather than prompting a single base model to "act like" different characters. This is expensive. A single base model serving millions of characters is orders of magnitude cheaper than maintaining distinct behavioral profiles.
Second, dynamic temperature management. Varying the creativity setting based on conversational context instead of locking it to the safest global setting. A quiet moment between characters can afford higher temperature. A factual question needs lower temperature. No major platform does this at the conversation level.
Third, repetition detection at inference time. Actively tracking which phrases the model has already used in a conversation and penalizing their reuse. This exists in research. It is not deployed in production companion apps because it adds latency and compute cost to every single response.
The common thread: all three solutions cost more money per conversation. And the entire AI companion industry is moving in the opposite direction. Toward cheaper inference, lower compute budgets, and wider safety margins. The repetition is not an accident. It is what cost optimization looks like from the user's side of the screen.
Alexei Volkov writes about the AI companion industry from Hamburg. Find him on Reddit at u/kaltbrau89.


Top comments (0)