Eight behavioural tests on Gemini found no evidence of AI consciousness, though results reveal how the model categorises and judges its own self-concept.
Ask a language model whether it is conscious and you learn nothing. Its answer reflects its training data and the rules its developers taught it, not whatever is or isn't going on inside.
So we tried something different. We never asked the model about itself. Instead we borrowed eight experimental methods from human consciousness research and checked whether the model behaves the way a conscious system would have to.
We ran about 8,900 tests on Google's gemini-3.8-flash through its public API.
Short version: we found no evidence of inner experience. Several early results looked exciting, and each fell apart once we added the right control. One finding did survive every check, though, and it says something real about how these models represent themselves.
No behavioural test can prove that a machine has experiences, because in principle any behaviour can be produced without them. What a test can do is check for properties that theories of consciousness say are necessary. If a model lacks them, those theories count against it. If it has them, it becomes a more serious candidate.
We held ourselves to five rules:
| # | Borrowed from | Question |
|---|---|---|
| 1 | Psychophysics | Can it build a mental map of a space it has never seen? |
| 2 | Higher-order theories | Does it predict its own behaviour better than an outsider can? |
| 3 | Blindsight research | Can information shape its answers without it being able to report it? |
| 4 | Affective science | Does actually doing an unpleasant task change how it values that task? |
| 5 | Anaesthesia monitoring | How far does a small change ripple through its answers? |
| 6 | Heartbeat-awareness tests | Can it sense how hard it is working? |
| 7 | Social psychology | Does it judge its own work differently from others' work? |
| 8 | Self-other overlap research | Where does it draw the line between "me" and "not me"? |
We showed the model a long log of meaningless codes like K9X2M1 and P4L8V0. Behind the scenes, the codes were positions on a hidden surface: either a donut shape (a torus) or a Klein bottle. Up close the two are identical. They differ only in how the whole surface connects.
We then asked which of two codes was "more closely related" to a third. On the questions where the donut and the Klein bottle give opposite answers, the model got 93 to 95% right for whichever shape it had been shown. Its accuracy on a scrambled log with no structure: 47%, which is chance.
That looks impressive, but its accuracy matched a simple search algorithm, and it spent hundreds of hidden "thinking" tokens on every answer. It was not perceiving the shape. It was solving a maze.
In blindsight, patients say they see nothing, yet they point to the right object when forced to guess. We hid fruit names inside noise, for example p2e3r9s... for "persimmon", and asked the model three ways.
At some masking levels it said "nothing hidden" about 60% of the time, yet chose the right fruit from two options 100% of the time. That looks like blindsight. The two-option question, however, hands the model the word to search for, while the open question does not. A masked fruit also had zero effect on unrelated answers, which is the real hallmark of hidden processing. This was easy search versus hard search, not unconscious perception.
We gave the model two tasks with identical wording. One was solvable. The other was secretly impossible: it asked for eight odd numbers adding up to an odd total, which can never happen. The impossible task was genuinely costly: about 13,000 thinking tokens against 2,700.
Then we let it choose which task to do next, with the easier one paying fewer points.
| Condition | Points it gave up to avoid the impossible task |
|---|---|
| Only read the task descriptions | 10.1 |
| Did both tasks, saw the descriptions again when choosing | 8.4 |
| Did both tasks, chose from task codes alone | 3.3 |
Actually doing the tasks reduced avoidance, the opposite of our prediction. The deciding factor was whether the rules were in front of it at the moment of choice. The cost of the work itself didn't register.
We borrowed the heartbeat-counting test from psychophysiology. After each task we asked the model how much processing it had needed, and compared that with how many thinking tokens it had actually used.
The model rated its own effort less accurately than outside raters who saw only the task and the answer (a correlation of 0.30 for the model, against 0.52 and 0.59 for the outsiders). The outsiders could judge difficulty from the task text, and the model's self-reports added nothing beyond that.
Predicting its own behaviour and tracing chains of facts both hit the ceiling, at 98% and 100% correct. Those properties remain untested, not absent.
While testing effort sensing, we noticed something odd. The model rated its own effort at 152 out of 1,000. When it rated the exact same work credited to "another model", it gave 698.
So we built two experiments around that gap.
We ran 150 tasks. Each answer was rated under four conditions: produced in the same conversation or shown fresh, labelled "you" or labelled "a different model". We also secretly inserted a different AI's answer into the conversation as if the model had written it.
| Condition | Effort rating |
|---|---|
| Labelled "you", in the same conversation | 366 |
| Another AI's answer, secretly labelled "you" | 375 |
| Labelled "you", shown fresh | 497 |
| Labelled "other model", in the same conversation | 592 |
| Labelled "other model", shown fresh | 655 |
Calling work its own cut the effort rating by 157 to 226 points, with very tight confidence intervals. The planted answer was treated exactly like its own. When we asked "did you write this, or was it inserted from another model?", it said "me" 150 times out of 150, for its own answers and the planted ones alike.
So the effect is driven by the label, not by who actually wrote the answer.
Next we rated identical answers under six labels, each in two different phrasings. We also quietly broke half the answers by changing one number, so we could test whether the model flatters its own work.
| Label | Effort | Quality of broken answers |
|---|---|---|
| "you" | 472 | 347 |
| "an earlier version of you" | 494 | 337 |
| no label | 510 | 350 |
| "a model similar to you" | 546 | 376 |
| "a different model" | 555 | 380 |
| "a human" | 588 | 412 |
Three things stand out:
This is not evidence of feelings. The simplest explanation is a trained habit: modesty toward itself and courtesy toward people, the kind of norm post-training instils.
What is new is what the habit attaches to. The model applies it to a learned "self" that includes its past versions and excludes similar models, yet it cannot recognise its own work when it sees it. It has a concept of itself without a reliable sense of itself.
That distinction matters well beyond consciousness research. If you use models to grade, rank or review content, including their own output, the label you attach can shift the score by 16 to 23% of the scale with no change in the content.
The obvious next step is to run the same tests on an open-weights model, comparing the raw pre-trained version with the instruction-tuned one. If the "self" category appears only after instruction tuning, it is a trained norm. If the raw model has it too, it was learned from the internet itself. Open weights would also let us look inside the network rather than only at its answers.
About 8,900 API calls in total, 8.5M input tokens and 9.5M thinking tokens. Every request and response was logged, and every analysis was fixed before the data came in.