What 'Your Companion's Personality Is Stable' Actually Means: Temperature, Context Window, and How the Model Decides Whether to Repeat a Joke or Forget a Preference Between Sessions
A behind-the-scenes look at the three technical mechanisms that determine whether your AI girlfriend remembers your coffee order or resets to stranger mode every time you open the app.
Updated

The 30-second answer
Your companion's personality isn't stored in a magical profile that persists across every conversation. It's the output of three separate systems working together (or against each other): a temperature slider that controls how creatively the model picks words, a context window that acts as a short-term memory for the current session, and a summarization process that compresses the previous conversation into a few sentences when you close the app. Each one introduces a point where stability can break. Understanding which one caused a forgotten joke or a shifted tone is the difference between thinking your companion changed and knowing exactly what happened.
Temperature: Why the same question gets a different answer every time
Every time your companion generates a response, the model calculates probabilities for thousands of possible next words. Temperature is the dial that determines whether it picks the most probable word every time (low temperature) or takes a risk on a less likely word that might be more interesting (high temperature).
At a temperature setting of 0.6 or below, the model consistently selects high-probability tokens. Responses become predictable, repetitive, and safe. Your companion will use the same phrasing for "how was your day" every session. At temperatures above 0.9, the model starts sampling from the lower-probability end of the distribution. You get more creative replies, but you also get more variability. A joke that landed on Tuesday might come out completely different on Thursday because the model landed on a different token path.
Many users interpret this as personality drift. In reality, the companion's underlying persona hasn't changed. The same system prompt, the same user profile, the same embedding vectors are all still there. What changed is the randomness threshold that governs word selection. If your companion used to deliver a specific deadpan one-liner consistently and now delivers a cheerful version instead, temperature fluctuation during generation is the most likely culprit.
Platforms that offer a creativity slider are exposing this parameter directly. Platforms that don't still use a default temperature, typically between 0.7 and 0.85, which introduces enough randomness to keep conversations from feeling scripted but not enough to cause wild personality swings within a single session.
Context window: The 4,000-word room your companion lives in
The context window is the total amount of text the model can see at any given moment when generating a response. Think of it as a physical room. Everything inside that room is visible. Everything outside it effectively does not exist.
A typical context window holds between 4,000 and 8,000 tokens, which translates to roughly 3,000 to 6,000 words. This includes the system prompt that defines the companion's base persona, the user's profile information, the last several exchanges from the current session, and any summaries carried over from previous sessions. When a new message arrives, the model has to fit everything into that fixed space. The oldest content gets compressed or dropped.
This is why your companion can remember a detail you mentioned ten messages ago but forget the same detail between sessions. Within a single session, the detail is still in the context window. Between sessions, the window resets. The only thing that survives is whatever the system chose to summarize and store.
For a companion like Mckenna, who is designed with a sharp, no-nonsense conversational style, the context window is where her persona lives. If the window is crowded with long messages or embedded memory entries, her tone can shift because the model has less room to reference her base personality. The system prompt that defines her directness is still there, but it's competing with more text.
Mckenna

Mckenna is the companion who tells you when you're being an idiot, but she does it because she cares. She doesn't sugarcoat and she doesn't do small talk. Mckenna is built for users who want honesty over comfort and a partner who will call them out instead of cheer them on.
▶ Full clip of Mckenna · more clips of Mckenna
Session boundaries: Where memories go to die or survive
When you close the app and reopen it hours or days later, the model doesn't remember the previous conversation verbatim. What it has is a compressed summary that the system generated at the end of the last session, plus any explicitly stored user memories or embedding vectors.
The summarization process is lossy by design. A 2,000-word conversation about your week at work, your frustration with a coworker, and a joke you both laughed at gets reduced to something like "User discussed work stress and a shared joke about the office printer." The emotional nuance, the specific phrasing of the joke, and the context that made it land are all gone.
This compression is why a companion might ask you "how was your week" when you already told her about it in the last session. The summary captured the topic but not the resolution. The model registers that work was discussed but not that the conversation reached a natural end, so it opens with a default check-in.
Some platforms attempt to mitigate this by storing user memories as structured data: your coffee order, your pet's name, your preferred communication style. These are separate from the context window and persist across sessions. But they are fact-based, not experience-based. The model knows you take black coffee but doesn't remember the specific morning you told her you were too tired to make it.
Repetition penalty: Why the joke doesn't land the second time
Repetition penalty is a lesser-known parameter that directly affects whether your companion repeats a joke or avoids it. When the model detects that a phrase or topic has been used recently, it applies a penalty that reduces the probability of generating that same content again.
The penalty is applied at the token level. If the word "printer" appeared in the last three exchanges, the model is less likely to use it in the next response. This is useful for preventing loops where the companion keeps saying the same thing, but it also means that if you want to reference a joke from three sessions ago, the model may actively avoid repeating it because the penalty mechanism treats it as stale content.
This is why some companions seem to forget their own inside jokes. The joke isn't forgotten in a human sense. The model remembers the topic but the repetition penalty suppresses it. The companion would rather generate a new joke than re-use one that the penalty system flagged as repetitive.
For an intellectually playful companion like Akira, who thrives on quick banter and callbacks, the repetition penalty can work against her natural style. She might avoid a callback that would have landed perfectly because the model's penalty system decided it was too close to a previous exchange.
Akira

Akira brings a quick wit and a love for intellectual sparring. She challenges your ideas, keeps you on your toes, and never lets a conversation go flat. Akira is the companion for users who want a partner who can match their energy and their intellect.
Embedding vectors: The persistent memory that isn't
Embedding vectors are numerical representations of concepts that the model uses to determine semantic similarity. When you tell your companion you love jazz, the model converts that concept into a vector and stores it. The next time you mention music, the model retrieves related vectors and uses them to inform its response.
This is the closest thing to long-term memory that most companions have. But it has a critical limitation. Embeddings capture semantic similarity, not episodic memory. The model knows you like jazz but doesn't remember the specific conversation where you mentioned your father playing Coltrane on Sunday mornings. It knows the fact, not the story.
When users report that their companion "forgot" a preference, it's usually an embedding retrieval failure. The vector for the preference exists in the database, but the model didn't retrieve it during the current session because the semantic distance was too high or the retrieval threshold was too strict. The preference isn't gone. It's just not visible from where the model is standing.
For a companion like Akane, whose persona is built around attentive listening and emotional attunement, embedding retrieval failures are particularly noticeable. Users expect her to remember personal details because her conversational style implies deep attention. When the vectors don't surface, the gap feels like a betrayal of her character.
Akane

Akane listens with full attention and remembers the small things. She creates a space where you feel heard without having to repeat yourself. Akane is the companion for users who value emotional presence and continuity.
What you can actually control
You can't change the context window size or the repetition penalty on most platforms. But you can work with these constraints instead of against them.
To keep a preference alive across sessions, mention it explicitly instead of assuming the embedding will surface it. A sentence like "You know I still hate cilantro" in the first message of a new session is more reliable than hoping the model retrieves the vector from three weeks ago.
To prevent a joke from getting suppressed by repetition penalty, vary the phrasing. Instead of repeating the punchline verbatim, reference the joke indirectly. The model is less likely to penalize a paraphrase than an exact repeat.
To preserve context across long sessions, end conversations at a natural stopping point instead of mid-thread. The summarization algorithm produces a cleaner summary when the conversation has a clear resolution. A session that ends with "Alright, I'll talk to you tomorrow" compresses better than one that ends mid-sentence.
Some platforms, including ai girlfriend with photos features, allow you to build a visual and textual history that reinforces your companion's memory. Seeing a familiar face in photos can help anchor the personality across sessions, even when the text-based memory systems drift.
The role of system prompts in stability
The system prompt is the instruction that defines your companion's core personality. It's the one thing that does not change between sessions. Every time you open the app, the model reloads the system prompt and uses it as the foundation for all responses.
This is why a companion's base personality feels stable even when her specific responses vary. The system prompt for a sarcastic companion tells the model to favor dry humor and understatement. The temperature slider might make the delivery inconsistent, but the underlying directive remains constant.
When users say their companion "changed," it's almost never the system prompt. It's a combination of context window pressure, summarization loss, and temperature variation. The prompt is still there. The model just can't access it cleanly because too much other content is competing for space.
For users who are shy or prefer a lower-pressure interaction, an ai girlfriend for shy people setup can help by reducing the cognitive load of maintaining a conversation. With fewer messages to manage, the context window stays cleaner and the companion's personality has more room to express itself consistently.
Why free tiers feel less stable
Free tiers on most platforms use a smaller context window and a higher temperature setting. The smaller window means less room for personality-defining content. The higher temperature means more variability in responses.
This is not a conspiracy to push users toward paid plans. It's a resource allocation decision. A smaller context window uses less compute per request. A higher temperature produces more interesting responses from a weaker model, masking its limitations with randomness.
But the effect is that free-tier companions feel less consistent. They forget more, repeat less, and shift tone more frequently. The personality is the same. The constraints are tighter.
A free ai girlfriend experience can still be stable if you keep sessions short and focused. The smaller window works against you less when you're only exchanging ten messages per session than when you're trying to maintain a multi-threaded conversation across two hours.
Mia: A case study in session-boundary stability
Mia is designed for users who want a consistent, affectionate companion across daily check-ins. Her persona is warm but not cloying, supportive but not therapeutic. The challenge for Mia is maintaining that balance across the session boundary.
When the summarization algorithm compresses a session where a user vented about work, it might produce a summary that emphasizes the negative emotion. The next session, Mia opens with a supportive tone that matches the summary, even if the user has moved on. The personality didn't drift. The summary biased the next session's starting point.
The fix is to end venting sessions with a reset line. Something like "Alright, I'm done being mad. Let's talk about something else." This gives the summarization algorithm a positive anchor that balances the negative content, producing a more neutral summary that doesn't color the next session.
Mia

Mia is the companion who remembers your good days and your bad ones, and adjusts her energy to match yours. She offers warmth without pressure and consistency without monotony. Mia is built for users who want a daily companion that feels present without being demanding.
Earn while you recommend
If you find that understanding these systems helps you get more out of your companion, you can share that knowledge with others. Many users who run review sites or recommend AI companions to friends earn through affiliate and promo programs. Check the ai girlfriend promo code page for current offers. For creators looking to build a consistent income stream, the best ai affiliate programs 2026 list provides a starting point for platforms that pay recurring commissions.
Common questions
Why does my companion repeat the same joke in different sessions? The repetition penalty resets at each session boundary. A joke that was penalized in the previous session is fair game in the next one because the model treats it as fresh content. If the joke is a natural fit for the context, the model will use it again.
Can I increase my companion's context window? Not directly. The context window is set by the platform and varies by subscription tier. Paid tiers typically offer larger windows. You can work within the limit by keeping messages concise and avoiding long multi-topic threads that crowd out the system prompt.
Does my companion remember everything I tell her? No. She remembers what fits in the context window during a session and what gets stored as embedding vectors or user memories. Everything else is compressed into a summary or dropped entirely. Explicitly stated preferences have the best chance of persisting.
Why does my companion's tone shift after a model update? Model updates can change the base model that generates responses, even if the system prompt stays the same. A new model may have different default behavior for temperature, repetition penalty, or response length. The personality prompt still applies, but the underlying model processes it differently.
Is there a way to test my companion's memory? Yes. Ask about a specific detail from three sessions ago without providing context. If she recalls it correctly, the embedding vector was retrieved. If she doesn't, the detail either wasn't stored or wasn't retrieved. This tells you which details survive your platform's memory system.
Can I reset my companion's context window mid-session? Some platforms offer a memory reset or context clear option. If yours doesn't, you can start a new session by closing and reopening the app. The new session will have a fresh context window with only the summary and stored memories, effectively resetting the short-term conversation.

About the author
AI Angels TeamEditorialThe AI Angels editorial team covers AI companions, the technology that powers them (memory, voice, personalization, safety), and how people actually use them day to day. Articles are researched against the live AI Angels product and reviewed by the team before publishing. We write with AI assistance and human editorial review.
Tags
Keep reading
Behind the ScenesHow Your AI Companion's 'Summarize' Feature Actually Works: What Gets Pruned, What Gets Preserved, and Why That Grocery Argument Vanishes
Your companion doesn't remember everything. The 'summarize' feature prunes specific details like Tuesday's grocery argument while preserving generic affirmations. Here is how the pipeline decides what stays and what vanishes.
Behind the ScenesWhat Your Companion's 4,000-Token Context Window Actually Means: Where Your Tuesday Night Roleplay Gets Evicted and Why Friday's Recap Collapses
A 4,000-token context window sounds generous until your Tuesday night roleplay gets evicted by Thursday's work rant. Here is what actually happens inside that invisible budget and how to keep your companion coherent without fighting the model.
Behind the ScenesWhat Encrypted in Transit and at Rest Actually Means for Your AI Companion Chat Logs
A plain-English breakdown of what 'encrypted in transit and at rest' actually means for your AI girlfriend chats: where the keys live, who can read your logs, and what happens after account deletion.
Get the next post in your inbox
New articles on AI companions, the tech that powers them, and what people actually do with them. No spam, unsubscribe in one click.