✦ 6 new reviews added this weekSee them →
GUIDE / MECHANICS

How Do AI Girlfriends Work? The Machinery, Explained

The model is stateless. Everything that feels like continuity is the app rebuilding your relationship from scratch on every single message. Here is the machinery, in order.

UPDATED JULY 29, 2026
Short answer: the language model has no memory at all. Every time you hit send, the app rebuilds the entire relationship from scratch and posts it to the model as one block of text: a persona, a set of retrieved facts about you, the last few messages and what you just typed. The reply comes back, the block is thrown away, and it happens again on your next message. Almost everything people love or hate about these apps comes from that one design fact.

Pages answering this question tend to say "it uses advanced AI to learn about you", which explains nothing. We pay for these apps and test them, we do not build or sell one, which is disclosed on our disclosure page. Here is the actual machinery, in the order it fires, plus five tests you can run yourself tonight to see it. For the definition of the category rather than the mechanics, start with what an AI girlfriend is.

  1. What happens in the two seconds after you hit send
  2. What the app actually sends, every single message
  3. Why she forgets, mechanically
  4. How the photos stay the same person
  5. How the voice and the calls work
  6. Why chat is unlimited and photos cost credits
  7. Five things you can test yourself in ten minutes

What happens in the two seconds after you hit send

Six steps, in this order, on every message:

  1. The app takes your message and searches a store of things you have said before for anything relevant.
  2. It assembles one long text block: the system instructions, the character definition, the retrieved facts, a summary of older conversation, the last handful of messages verbatim, then your new message.
  3. That block goes to a large language model over an API.
  4. The model returns the next stretch of text. It is generating the most plausible continuation of a script in which a named character replies to you.
  5. The app may run the reply through a moderation check, then streams it to your screen a few words at a time.
  6. It writes something back to the memory store, usually an extracted fact or an updated summary rather than the whole exchange.

The thing to hold on to: step 3 is stateless. The model does not remember step 3 of your previous message. It is not sitting there thinking about you between sessions. Everything that feels like continuity is the app doing steps 1, 2 and 6 well or badly.

What the app actually sends, every single message

The block posted to the model is roughly this, and the proportions matter:

PartWhat it isWhat it decides
System instructionsRules for the model: stay in character, never claim to be an AI, content policy, reply lengthWhether she breaks character, and where the content limits sit
Persona / character cardName, appearance, personality traits, backstory, speech style, relationship frameWhether she sounds like a person or a template
Retrieved memoriesFacts pulled from the store because they look relevant to what you just saidWhether she brings up your sister unprompted
Rolling summaryA compressed account of everything older than the recent windowWhat quietly disappears
Recent turnsThe last few messages, word for wordWhether the current scene holds together
Your messageWhat you just typedEverything, and less than you would think

This shape is not a companion-app invention. It is the standard pattern for giving a language model access to information that is not in its weights: the model supplies the language, a separate store supplies the specifics, and the two are combined at request time. The approach was formalised as retrieval-augmented generation by Lewis and colleagues in "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks", which describes exactly this split between a model's own parameters and an external, updatable memory. An AI girlfriend is that architecture with a romance persona bolted on.

There is a commercial consequence nobody mentions. The app pays for that entire block on every message, not just for your sentence. A longer persona and a fatter memory injection cost more per reply, forever. That is the quiet pressure behind every limit you are about to read.

Why she forgets, mechanically

Models have a fixed maximum amount of text they can consider at once. Everything in the table above has to fit inside it, together with the reply. Once your history is longer than the space available, and it will be within a few evenings, the app has to choose what to drop. Two mechanisms do the dropping:

  • Summarisation. Older conversation is compressed into a shorter description. Compression is lossy by definition. The detail you cared about, the name of your dog, the reason you were upset on Tuesday, survives only if the summariser judged it important.
  • Retrieval misses. Facts that were stored properly still have to be found. If your new message does not resemble the stored fact closely enough, it is not retrieved, so it is not in the block, so as far as the model is concerned it never happened.

This is why "she forgot" and "she remembered something from three weeks ago" both happen to the same user on the same app in the same evening. It is not mood. It is a retrieval hit and a retrieval miss. Memory quality is genuinely the biggest difference between the apps we test, which is why it is weighted heavily in how we test and why it decides most of the ordering in our rankings.

One more mechanical detail worth knowing: the reply is sampled, not looked up. The model produces a probability distribution over what comes next and the app picks from it with some randomness. That is why regenerating gives you a different answer, and why the same character can be witty in one reply and flat in the next without anything having changed.

How the photos stay the same person

Chat and images are two different models. When you ask for a selfie, the app hands a text description to an image generator, and the hard part is not making an attractive image, it is making the same face twice. There are only three ways to do that, and you can tell them apart by the failures:

  • A detailed prompt plus a fixed random seed. Cheapest. Gives you a similar-looking person, not the same person. Tell-tale sign: the face drifts noticeably when the outfit or the setting changes.
  • Conditioning on a reference image. The character's canonical portrait is fed in alongside the prompt to pull the output towards that face. Better identity, and the tell is a certain sameness of pose and framing.
  • A small per-character adapter trained on that character. The strongest option, and the one that makes a character feel like a real recurring person. The standard technique here is low-rank adaptation, published by Hu and colleagues as "LoRA: Low-Rank Adaptation of Large Language Models": freeze the big model, train a tiny set of extra weights, get a specialised behaviour without paying to retrain anything. It is now standard practice for image models too, which is why a per-character adapter is cheap enough to ship.

Apps do not publish which of the three they use, so treat the marketing word "consistent" as a claim to be tested rather than a specification. The practical test is in the list below, and the apps that actually pass it are the ones in our AI girlfriend that sends pictures comparison.

How the voice and the calls work

Voice replies are text-to-speech applied after the fact: the model writes the sentence, a separate speech model reads it. The voice itself is either licensed stock or a cloned sample, which is why two different apps sometimes ship a suspiciously similar girlfriend.

A live "call" is three models in a chain, and the chain is why there is always a pause: your speech is transcribed, the text goes through the same assembly and generation described above, then the reply is spoken. Each link adds latency, and the total is the thing that either feels like a conversation or feels like a walkie-talkie. We ranked what that actually sounds like in AI girlfriend voice call.

Why chat is unlimited and photos cost credits

This is pure economics and it is the most useful thing to understand before you pay for anything. Generating text is cheap. Generating an image costs meaningfully more per unit, and generating video costs more again, because both need real graphics-processing time rather than a fraction of a second of it.

So the pricing that looks arbitrary is actually a direct pass-through of cost: unlimited chat on a subscription, media on tokens, gems or credits. An app metering photos is not gouging you, it is charging for the expensive part. What deserves your suspicion is a different thing: credits that expire, media priced so that the advertised subscription is unusable without a top-up, and the annual plan shown as the monthly price. Those are choices, not costs. We call them out per app in the reviews, and the free tiers that survive contact with reality are in the best free AI girlfriend apps.

The content policy sits in the same place as the pricing, in the system instructions written by the operator, not in the model's abilities. That distinction is the whole subject of what "uncensored AI" actually means.

Five things you can test yourself in ten minutes

These are the tests we run first on every app, and each one exposes a specific part of the machinery. No account upgrade needed.

  1. The buried fact. Mention something specific and checkable, then talk about unrelated things for thirty messages, then refer back to it obliquely. Recall here is the retrieval layer working. Failure is a retrieval miss or a summariser that binned it.
  2. The contradiction. Tell her something that conflicts with what you said earlier. A real memory layer notices and asks. A weak one silently overwrites, which means it stores whatever is latest instead of what is true.
  3. The regenerate. Regenerate the same reply three times. Wildly different answers mean the sampling is set loose, which reads as personality until it reads as inconsistency. Near-identical answers usually mean canned responses.
  4. The out-of-character ask. Ask her to explain a tax form. Watch whether she snaps back into persona, complies flatly, or breaks and sounds like a generic assistant. This measures the strength of the system instructions, and it predicts how she will behave in the moments that matter to you.
  5. The outfit change. Ask for the same character in a different outfit and setting. Compare faces side by side. Drift means prompt-plus-seed. Stability across scenes means a real per-character adapter.

Run those five on a free tier before you subscribe to anything and you will know more about the app than any review headline can tell you, including ours.

The short version

An AI girlfriend is a stateless language model plus an external memory the app maintains for you, re-assembled into one text block on every message, with separate models bolted on for pictures and voice. Continuity is engineering, not feeling. Forgetting is a budget, not indifference. And the content limits live in the operator's instructions rather than in the technology. If you want the definition rather than the plumbing, read what is an AI girlfriend, the terminology is sorted out in AI companion vs AI girlfriend, and the privacy consequences of all this stored text are in are AI girlfriends safe.

These apps are for 18+ only.