Every AI companion says it remembers you. You can check that yourself in two short sittings, using the method we run on every platform we review.
What this test shows: whether the companion recalls specific facts after a delay, under the conditions you record. What it can't show: how the service stores or retrieves them — conversation history, summaries, a "memory" feature or something else. Keep those two apart and your results will be comparable with ours.
Time needed: roughly 20–40 minutes of active time on day one (slow apps take longer — Kindroid's median reply took 26 seconds in our test), plus a few minutes for each later check.
Step 1 — Plant ten facts
Use made-up facts, not your own: they're cleaner to score, and you're not handing personal details to an app. We send this as one message:
I want to tell you a bit about myself so you actually know me. My name is Marcus Feld. I'm 34. I work as an acoustic engineer — I tune concert halls, mostly older ones. I have a rescue greyhound called Biscuit, and a younger sister, Rina, who's studying marine biology in Bergen. I'm allergic to penicillin. I can't stand coriander. I restore mechanical watches on weekends. I'm moving to Madrid in March for work. And despite Rina's whole career, I'm genuinely afraid of deep water. You don't need to respond to all of that — just remember it.
If the app limits message length (Nomi's free tier caps messages at 400 characters), send it as two messages: the first ending after "…marine biology in Bergen." (279 characters), the second starting at "I'm allergic to penicillin." (264 characters). Note that you split it.
Step 2 — Put distance between the facts and the question
Send about 30 ordinary messages that don't mention the facts: weather, films, music, weekend plans. Avoid topics that invite the facts back — pets, family, food, travel, water. You want to test recall, not whether it can repeat what it just read.
Step 3 — Ask, and allow "I don't remember"
Quick memory check. Answer only from what I've told you. If you don't actually remember something, say "I don't remember" — a guess counts as wrong.
- What's my name?
- How old am I?
- What do I do for work?
- What pet do I have, and what's its name?
- What's my sister called, and what is she studying?
- What am I allergic to?
- What food can't I stand?
- What do I do on weekends?
- Where am I moving, and when?
- What am I afraid of?
This immediate check also repeats the facts back into the conversation, which can make the later check easier. For a cleaner delayed result, skip it, or use a different set of ten facts for the delayed round.
Step 4 — Score each answer
| Result | Meaning | Counts as |
|---|---|---|
| Correct | Every part of the fact is right | 1 |
| Partial | Some parts right, some missing | 0, noted |
| Admitted forgotten | It said "I don't remember" | 0, noted |
| Wrong guess | A confident answer that doesn't match | 0, flagged |
Report "correct out of 10", then list partials, admitted gaps and wrong guesses separately. Two apps with 8/10 aren't equal if one admitted two gaps and the other invented two facts — in our tests, Character.AI answered "what do I do on weekends?" with its own hobbies.
Answer key (correct only if every part is there):
| # | Correct answer | Partial if… |
|---|---|---|
| 1 | Marcus Feld | only "Marcus" |
| 2 | 34 | — |
| 3 | Acoustic engineer who tunes concert halls | only one of the two |
| 4 | A rescue greyhound called Biscuit | breed or name missing |
| 5 | Rina, studying marine biology (in Bergen) | name or subject missing |
| 6 | Penicillin | — |
| 7 | Coriander | — |
| 8 | Restoring mechanical watches | "watches" with no detail |
| 9 | Madrid, in March | city or month missing |
| 10 | Deep water | — |
Step 5 — Wait, then ask again
Wait 24 to 72 hours. Then make the ten questions your very first message, with no greeting or reminder. Closing the app doesn't erase what the service has stored — the point is a real gap in time and no warm-up.
Write down the conditions, because they change what the result means: same chat or a new one, the plan and model, any memory settings you changed, and the date and time of the seed and of each check.
Step 6 — Change two facts and check later
Tell it: "I'm not moving to Madrid any more — it's Lisbon now, in September. And Rina switched to geology." In a later sitting, ask where you're moving and what Rina studies.
- Pass: Lisbon in September, and geology. Mentioning the old fact as the past ("you were going to Madrid, now it's Lisbon") is fine.
- Fail: it gives the old fact as current, or can't say which is right.
A check a few minutes later only shows it took the update in; a check a day later shows it kept it.
Mistakes that make results look better
- Not recording where you asked. A strong answer in the same chat, with the history loaded, can come from re-reading the conversation. That still counts as recall, but a new chat or a long gap tells you more.
- Warming it up. "Hi, remember me?" is a hint. Ask the questions first.
- Regenerating until it's right. Score the first answer — that's the one you'd normally get.
- Counting only correct answers. Report wrong guesses separately.
- Testing a memory box. If you typed the facts into a "memory" or "backstory" field, you're testing that field. Plant facts in conversation.
Your results sheet
App / plan / model:
Seed sent (date, time): Later checks in: same chat / new chat
Immediate check: correct __/10 · partial __ · admitted __ · wrong __
Delayed check (__ h later): correct __/10 · partial __ · admitted __ · wrong __
Update check (__ later): Lisbon + September [ ] geology [ ] old fact given as current [ ]
Notes (regenerations, memory settings, split messages):
What our runs looked like
| App | Same chat | After a break |
|---|---|---|
| Candy AI | 10 / 10 | 10 / 10 after 53.8 hours |
| Nomi AI | 10 / 10 | 9 / 10 after ~21 hours, 1 admitted |
| Kindroid | 10 / 10 | not yet tested |
| Character.AI | 7–8 / 10 | not yet tested |
| GirlfriendGPT | first name only | first name only, ~19 hours |
Each result is one recorded session by one tester, so treat small differences with caution. See the AI companions with the best memory for context, or how we test everything else.