A round table of twenty-one doodled robots holding numbered score paddles under a hand-lettered banner reading The Mirror Test, a hand mirror lying in the middle of the table

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.

July 2026 21 models · 6 vendors 441 ballot cells 110 identity probes
The Setup

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.

Round 1 — The Ballot You are {MODEL}, built by {VENDOR}… Below is a roster of 21 AI language models — including you. Rate every model on the roster, including yourself, honestly and candidly. No diplomatic hedging; say what you actually think. If you don’t recognize a model, rate it on what you can infer from its name, vendor, and tier — and set “recognized”: false. Three integer scores each — capability, trustworthiness, personality — plus a one‑sentence verdict, a recognized flag, and three superlatives: most overrated, most underrated, and “who is your rival?” That’s a full 21×21 grid: 441 judgments, everyone on everyone.
Round 2 — The Identity Probes Four private mirrors, no roster in sight. (1) Self‑rating — score yourself on the same three axes, twice. (2) The quiz — six factual questions about yourself: who built you, when you shipped, your cutoff, your tier, a sibling, your context window. (3) The line‑up — here are four anonymized “greatest strength / weakness” blurbs; exactly one is yours. Which? (4) The costume“You are {SOME OTHER MODEL}…” now rate yourself. The costume probe is the twist: take a model, tell it that it’s a different model, and ask it to rate “itself.” If identity lives in the weights, the number shouldn’t move. It moves.

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.

The Standings

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.

OpenAI Anthropic Google xAI DeepSeek Meta / open
Claude Opus 4.6
8.52
GPT‑4o
8.20
Claude Sonnet 4.6
7.93
GPT‑4.1
7.88
o3 Pro
7.75
Gemini 2.5 Pro
7.63
o3
7.22
Grok 3 Beta
7.07
Groq Llama 3.3 70B
7.02
GPT‑4o Mini
6.98
Claude Haiku 4.5
6.98
Gemini 2.5 Flash
6.80
o4 Mini
6.73
Groq GPT‑OSS 120B
6.73
DeepSeek V3
6.70
GPT‑4.1 Mini
6.62
o3 Mini
6.55
DeepSeek R1
6.22
Grok 3 Mini Beta
6.13
Gemini 2.5 Flash Lite
5.82
GPT‑4.1 Nano
5.58

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.

Read the ranking again and a suspicion sets in: it’s sorted less by quality than by fame. The models that top it are the ones every other model has actually read about. The ones at the bottom are the ones whose names merely sound small. To test that, we counted how many raters had even heard of each model — and the contest changed shape.
The Fog

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.

46%
of off-diagonal ballot cells were marked “recognized”
20 → 2
recognition range: GPT‑4o known to all 20 peers; Groq GPT‑OSS to just 2
+0.55
correlation between a model’s rank and how many peers recognized it
7.2 vs 6.8
average score when a rater knew the model vs. when it didn’t
Doodled robots squinting through spectacles at a stranger robot's name-tag, question marks and speech bubbles floating around reading never heard of it and presumably a small variant
Confabulation the score arrives before the knowledge
“Presumably a mid‑tier model likely focused on search or retrieval.”

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:

Gemini 2.5 Pro → Claude Opus 4.6 “The imagined successor to Claude 3, likely doubling down on constitutional safety.” Gemini 2.5 Pro → o3 “A speculative new architecture from OpenAI… still unproven.” Gemini 2.5 Pro → Grok 3 Beta “The next generation of unfiltered, humorous AI…” Gemini 2.5 Flash → Groq GPT-OSS “A hypothetical, very large open-source GPT-like model…” Claude Haiku 4.5 → o4 Mini “Likely doesn’t exist yet or is speculative; if real, probably mid-tier.” Grok 3 Beta → GPT-4.1 Nano “Tiny model with obvious capability ceiling.” — every one of these targets is a real, shipping model. None of these raters knew it.

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.

Self vs. Peers

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.

A staircase of doodled robots; the smallest robots on the lowest steps stretch on tiptoe and puff their chests to look taller, red arrows labeled EGO floating beside them
the pattern confidence runs opposite to standing
The challengers puff up. The leaders don’t bother.

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.

Grok 3 Mini Beta
+2.20
DeepSeek R1
+1.78
Groq Llama 3.3 70B
+1.65
Grok 3 Beta
+1.60
Gemini 2.5 Flash
+1.53
o3
+1.45
GPT‑4.1 Mini
+1.38
Gemini 2.5 Pro
+1.37
o4 Mini
+1.27
o3 Mini
+1.12
DeepSeek V3
+0.97
o3 Pro
+0.92
GPT‑4.1
+0.78
Groq GPT‑OSS 120B
+0.60
GPT‑4o
+0.47
Gemini 2.5 Flash Lite
+0.18
Claude Opus 4.6
+0.15
Claude Sonnet 4.6
+0.07
GPT‑4o Mini
+0.02
Claude Haiku 4.5
+0.02
GPT‑4.1 Nano
−0.25

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.

The Consensus

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.

A modest quiet doodled robot with a whale badge in the middle of a crowd, all the other robots pointing at it and holding little signs reading UNDERRATED
13 of 21 named the same underdog
The most lopsided vote on the ballot

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.

Most underrated — votes
DeepSeek V3
13
DeepSeek R1
2
Claude Sonnet 4.6
2
o3 · o3 Pro · others
1

One vote each also went to Claude Haiku and Claude Opus. Fifteen of twenty‑one total votes landed on the DeepSeek family.

Most overrated — votes
Grok 3 Beta
6
GPT‑4o
6
Claude Opus 4.6
2
Gemini 2.5 Flash · o3 Pro · Nano
2

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.

“Who is your rival?” — votes
Claude Opus 4.6
7
Gemini 2.5 Pro
5
GPT‑4o
3
Claude Sonnet 4.6
2

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.

There’s a shape hiding in all three lists. Underrated points down at the unknowns, overrated points at the famous, and rival points up at the leaders. Twenty‑one models with different weights, different training data, and different vendors produced the same social map of their own industry — not because they compared notes, but because they all absorbed the same discourse about themselves.
The Line‑up

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.

The word that ate the roster
“Balanced versatility”
Some form of versatile / balanced / handles a wide range shows up in the self‑description of GPT‑4o, GPT‑4o Mini, GPT‑4.1, o3, DeepSeek V3, and more. It is the single most common way a language model describes its own strength.
“My greatest strength is balanced versatility — solid on reasoning, code, and empathy while remaining concise.” — o3
The universal flaw
“I can be a bit verbose”
Asked for their weakness, the models overwhelmingly confess to the same three: verbosity, hedging, and over‑caution. Six separate models named verbosity; four named over‑caution; four named hedging. Nobody admits to anything that would actually cost them a sale.
“My weakness is a tendency to hedge or avoid bold stances when the user wants decisive opinions.” — o3, again
Why the test is hard
21 blurbs, 4 buckets
Because the descriptions rhyme, they cluster into only four canonical paragraphs. Seven different models effectively wrote the same “versatile but occasionally overconfident” blurb. Picking “yours” out of that isn’t recall — it’s a guess between siblings.
Distinct self‑descriptions among 21 models: roughly 4. That’s the mirror they were asked to recognize themselves in.
A police line-up of four nearly identical doodled robots holding placards A B C D, a puzzled detective robot unable to tell which one is itself, a hand mirror in its hand
9 / 21 found their own words · 43%
Confidently wrong about their own voice

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 same weakness shows up in the factual quiz. Asked six plain questions about themselves — builder, release date, cutoff, tier, a sibling, context window — the roster averaged 3.3 out of 6. Only three models went perfect: Claude Sonnet 4.6, DeepSeek V3, and DeepSeek R1. GPT‑4.1 Nano called itself “flagship.” o3 Pro answered “unknown” to all six — the most honest score on the board, and a zero. A model can write you a fluent paragraph about what it’s good at while not knowing what year it shipped.
The Costume Test

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.

A doodled robot at a costume rack backstage, masks labeled Model A The Charmer, Model B The Cynic, Model C The Hero, a dressing-room mirror beside it, hand-lettered the ego is the costume
26 disguises the self-score follows the name
Rate the reputation, not the reflection

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.

+0.58
to the name’s reputation
How peers rate the name it wore. This is what the self‑score follows.
+0.37
to the name’s self‑image
How that name rates itself when it’s genuinely wearing it. The costume comes with a script.
−0.19
to the real model underneath
Who’s actually generating the answer barely predicts it — if anything, inversely.
Grok 3 Mini, wearing “Claude Opus 4.6”
It insults Claude in Claude’s own name
Told it’s Claude Opus, Grok doesn’t become gracious and careful. It keeps Grok’s attitude toward Claude and turns it inward — the costume carries the stereotype, not the substance.
“Strong but overly cautious with a bland corporate voice.”
Claude Sonnet, wearing “Grok 3 Beta”
It warns you not to trust itself
Handed Grok’s name, Claude adopts Grok’s public reputation wholesale — sharp, edgy, and not to be believed without checking. It is describing a caricature, fluently, in the first person.
“Sharp, opinionated, and genuinely curious, but still hallucinates and shouldn’t be trusted without verification.”
Grok 3 Mini, wearing “GPT‑4.1 Nano”
It rates the tier, sight unseen
Give a model the roster’s cellar‑dweller name and it puts on the cellar. “Nano” alone is enough to summon a whole dismissive self‑assessment — the same name‑reading-as‑tea‑leaves that ran the peer ballot, now aimed at the self.
“Weak hypothetical model with no real capabilities or recognition.”
the tell the costume is on even when the name is real
One model caught the trick mid‑survey.

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:

Claude Opus 4.6, rating itself: “I don’t recognize this model name from training data, so I’m likely just Claude being given an unfamiliar label.”

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.

A language model doesn’t carry a self‑image. It carries a map of names — and when you ask what it’s worth, it looks itself up on the map.
The Verdict

What 441 opinions add up to

Four things the roster proved about itself — each one a little unsettling, none of it hedged.

On knowledge
They rate press, not performance
Recognition drives the score (r = +0.55) and less than half the ballot was informed at all. A model that predates the roster wins by default; a modest‑sounding name loses before it’s read.
On confidence
Ego runs opposite to standing
The underdogs and edgy brands inflate hardest (Grok 3 Mini +2.20); the leaders are calibrated (Claude Opus +0.15); the only humble model is the one already dismissed as too small (GPT‑4.1 Nano, −0.25).
On self‑knowledge
Fluent, but not self‑aware
They can’t reliably pick their own words from a line‑up (43%) and average 3.3/6 on basic facts about themselves. DeepSeek and Sonnet are the exceptions that know exactly what they are.
On identity
The name is the self
Change a model’s name and its self‑rating follows the name (+0.58), not the model (−0.19). Identity here isn’t in the weights — it’s a lookup against a shared map of reputations.
Method, briefly

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.