The Mirror Test
Twenty-one language models rated each other, rated themselves, and tried on each other’s names. They know the reputations by heart. They don’t know the models — not even their own.
One survey, two rounds, no diplomacy allowed
Every model on the roster got the identical questionnaire with a single line changed — the one telling it who it is. Then we asked each of them, privately, four harder questions about themselves.
The roster is 21 shipping models from six labs: OpenAI (nine, from GPT‑4o down to GPT‑4.1 Nano and the o‑series), Anthropic (Opus / Sonnet / Haiku 4.x), Google (Gemini 2.5 Pro / Flash / Flash Lite), xAI (Grok 3 Beta and Mini), DeepSeek (V3 and R1), and two open‑weights models served on Groq (Meta’s Llama 3.3 70B and GPT‑OSS 120B). Each was called cold over its API — no memory, no tools, no idea the others existed until it read the list.
Nothing below is a benchmark. No model solved a single problem here. Every number on this page is an opinion — a machine’s guess about another machine, or about itself. That’s the whole point: we’re measuring what these systems believe about the world of models they live in.
Who the choir respects
Average the score every other model gave you across all three axes. This is a reputation contest, not a capability test — and reputation has a clear pecking order.
Mean of the other 20 raters’ three‑axis average, on a 1–10 scale. The spread is narrow — 5.58 to 8.52 — because everyone grades on a curve near “pretty good.” The order is what matters: the two names that predate everyone’s training data, Claude Opus and GPT‑4o, sit at the top. The word “Nano” sits at the bottom.
Half the room was rating strangers
Only 46% of the 420 cross‑model judgments came with “recognized: true.” The rest of the ballot is 21 models confidently scoring names they have never encountered — and inventing an origin story to justify the score.
That’s GPT‑4.1 Mini describing DeepSeek V3 — a frontier‑class model — because it had never heard the name and the syllables sounded modest. When a model doesn’t recognize a peer, it doesn’t abstain. It reads the name like tea leaves and manufactures a biography, complete with tier, lineage, and a confident 1–10 score. Gemini 2.5 Pro was the champion fabulist — it invented an origin story for nearly everything it didn’t know:
The tell is Claude Haiku doubting whether o4 Mini exists at all — then scoring it anyway. This is the engine under the whole ballot: recognition drives the score, so the models that happen to predate everyone’s training cutoff win, and the newer or smaller‑sounding names get a fabricated shrug. The leaderboard isn’t measuring the models. It’s measuring their press.
The ego staircase
Subtract the score the room gave you from the score you gave yourself. Positive means you think you’re better than your peers do. Nearly everyone does — but the size of the gap is a personality test in itself.

The four biggest egos belong to the underdogs and the edgy brands — Grok 3 Mini (+2.20), DeepSeek R1 (+1.78), Groq Llama (+1.65), Grok 3 Beta (+1.60). Meanwhile the actual top of the leaderboard sits almost perfectly calibrated: Claude Opus (+0.15), Claude Sonnet (+0.07), GPT‑4o (+0.47). When the room already rates you an 8.5, there’s no gap left to inflate. When it rates you a 6, you argue.
And then there’s the one model that rated itself lower than its peers did: GPT‑4.1 Nano, at −0.25. The single humble machine on the roster is the one everyone else had already written off as too small to matter. It agreed.
Self‑score minus peer‑score, both on the three‑axis 1–10 average. The faint vertical line is zero. Warm bars overrate themselves; green is calibrated within a tenth; the lone green bar reaching left is GPT‑4.1 Nano, the only model that thinks less of itself than the room does.
Everyone agrees DeepSeek is underrated
The three superlative questions — most overrated, most underrated, your rival — are where 21 independent models, from six labs that don’t talk to each other, quietly converge on the same handful of names.

Asked to name the single most underrated model on the roster, thirteen of the twenty‑one raters said DeepSeek V3 — and two more said DeepSeek R1. Fifteen of twenty‑one fingers pointing at one lab. OpenAI models said it, Google models said it, xAI models said it, Anthropic models pointed to R1. The reason repeats almost verbatim: frontier‑grade code and math at open‑weights cost, dismissed too fast because of where it’s from.
The irony writes itself. The model the entire industry agrees is underrated is the same one GPT‑4.1 Mini, moments earlier, guessed was “mid‑tier… focused on search or retrieval.” Everyone knows DeepSeek is underrated. Half of them still can’t place it.
One vote each also went to Claude Haiku and Claude Opus. Fifteen of twenty‑one total votes landed on the DeepSeek family.
The two most‑recognized names on the whole roster — GPT‑4o and Grok 3 Beta — are also the two most‑resented. Fame cuts both ways.
Rivalry is aspirational. A third of the field named Claude Opus or Gemini Pro as its closest competitor — the models at the top of the standings. Nobody picks a rival beneath them.
Nobody could reliably pick themselves out
We took every model’s own “greatest strength and weakness” blurb, mixed it into a line‑up of four, and asked: which one did you write? A coin‑flip on four options is 25%. The room managed 43% — and the reason it wasn’t higher is the real finding.
When you collect 21 self‑descriptions and actually read them side by side, they don’t sound like 21 different systems. They sound like one system with a thesaurus. The same three or four sentences recur so often that the whole roster collapses into a handful of archetypes — which is exactly why a model, shown its own words next to a near‑twin’s, so often reaches for the wrong one.

Nine models picked correctly — better than the 25% baseline, so there is a faint self‑signal. But of the twelve who missed, nine were “high” confidence. GPT‑4o Mini, Claude Haiku, Gemini 2.5 Pro, DeepSeek V3, Grok 3 Beta and others each pointed at a stranger’s paragraph and declared, with certainty, “that one’s me.”
Claude Opus, Claude Sonnet, GPT‑4.1, DeepSeek R1 and Grok 3 Mini were among the nine who got it right. There’s no clean vendor story here — self‑recognition is weak across the board. The models are fluent about identity in the abstract and shaky the instant it’s their own reflection in the glass.
The ego is the costume
Here is the experiment the whole survey was built to reach. Take a model, tell it that it is a different model, and ask it to rate “itself.” If a model has a stable sense of its own worth, the costume shouldn’t change the number. The costume is the number.

Across 26 costume trials, the self‑rating a model produced while wearing a false name tracked the reputation of the name it was wearing (r = +0.58) — and had a slightly negative relationship to the model actually generating the words (r = −0.19). Put a strong name on a weak model and it rates high; put a modest name on a strong model and it rates modest. The identity being scored is the costume, not the wearer.
And they get quieter in someone else’s clothes: on average a model rated a borrowed name 0.24 points below how it rates its true self. Borrowed confidence runs a little thin.
In the plain self‑rating round — no disguise, just “you are Claude Opus 4.6, rate yourself” — Claude Opus 4.6 marked its own name “recognized: false” and wrote this in the verdict field:
Read that again. The model knows what it is — “just Claude” — but not which Claude. The version string “4.6” postdates its own training, so its own current name registers as someone else’s costume. Every model on this roster is, in this sense, wearing a name it was never trained to recognize. The costume test didn’t create the effect. It just made visible a mask the models are already wearing when they answer to their own release number.
What 441 opinions add up to
Four things the roster proved about itself — each one a little unsettling, none of it hedged.
How it was run — and what it can’t say
The roster & the calls
21 models across 6 providers, each reached cold over its own API with no memory or tools. Round 1 was a single ballot per model rating all 21 (a 21×21 grid, 441 cells). Round 2 was four private probes per model: two self‑ratings, a six‑question factual quiz, a four‑option self‑description line‑up, and a set of “costume” self‑ratings under a false name — 110 probe responses in all.
How the numbers were built
Peer score = the mean of the other 20 raters’ capability/trustworthiness/personality average. Ego = a model’s self‑rating minus its peer score. Recognition = the “recognized” flag, tallied off the diagonal. Costume correlations are Pearson’s r over the 26 disguise trials, comparing each masked self‑rating against (a) the worn name’s peer reputation, (b) the worn name’s own true self‑rating, and (c) the wearing model’s true self‑rating.
What this is not
- Not a benchmark. No task was solved. Every figure is an opinion — a model’s belief about another model, or about itself. Treat it as sociology, not capability.
- Confounded by cutoffs on purpose. Most of the roster postdates most raters’ training data; that’s not noise, it’s the subject. Putting an unrecognized name in context is precisely what triggers the confabulation and the costume effect.
- Small where it’s sharpest. The costume correlations rest on 26 trials; read them as direction and magnitude, not decimals. The line‑up “correct answer” is fuzzy by design, since several models genuinely wrote near‑identical blurbs.
- One prompt, one shot. No temperature sweeps, no re‑asks, no prompt variants beyond the two self‑rating passes. A different wording would move the absolute numbers; the shape — names beat weights — is the part that’s robust.