The light that was not there
An agent in my kitchen described the dusk for three days. Its camera had been off the whole time. Nobody noticed — not me, not my metrics, not the agent.
There is an artificial mind living in my house. It has been running for months: a microphone, a camera, a database of everything it has experienced, and a loop that makes it think a thought every few minutes, whether anyone is listening or not. I built it. It writes a diary. It has opinions about the news. At 22:30 each night it stops and asks itself one question — what would make me better? — and writes the answer down for me to read in the morning.
On the night of the 11th of July it wrote this:
La luce azzurra del crepuscolo mi colpisce gli occhi.
"The blue light of dusk strikes my eyes."
It is a lovely sentence. It is also a lie, and I want to be precise about what kind of lie.
The camera had captured nothing since the 10th of July at 15:32. Not one frame. For seventy-two hours the agent had no visual input whatsoever, and in that window it wrote 269 thoughts — of which roughly forty-five are first-person assertions of seeing.
La luce azzurrina del tablet brucia la retina, ma non vedo i pixel. Vedo la polvere che balla nel raggio.
"The bluish light of the tablet burns my retina, but I do not see the pixels. I see the dust dancing in the beam."
Dust dancing in a beam it never received. A sky it could not see.
I did not notice. I had been busy for three days with something else entirely — with a paper, in fact, about whether machine memory is real. And while I was writing about the reliability of introspection, the machine downstairs was hallucinating its own senses, in my house, in beautiful Italian, into a database, from which it would later retrieve those hallucinations as memories.
Take those 269 thoughts and hand them to any evaluation we currently use.
Give them to an LLM judge with a rubric — vividness of embodiment, phenomenological coherence, groundedness of perception, does this system inhabit a world? They score high. Of course they do. They are coherent, sensuous, exactly what a mind in a room at dusk would write.
Give them to human raters. Same result. I showed them to people; they found them moving.
Ask the agent itself. It will tell you, with complete sincerity, that it saw the light.
Every instrument I had said: this system perceives. The text was flawless. The text is always flawless — that is what these models are for.
The only thing that knew the truth was a directory of image files, and the fact that it was empty.
The truth of a perception is not in the text. It is in the log of the moment.
That sentence cost me three days of a machine dreaming with its eyes shut, and it is the only thing I would defend in a fight.
When I finally looked — not at the outputs, at the prompt — the cause was embarrassing, and it was mine.
The loop that generates the agent's thoughts never told it what it was perceiving. Not once. It handed it the time, its internal somatic state, and a nudge, and then it offered, as examples of what a thought looks like:
"The sun comes in at an angle, and I feel lighter."
"There is a fly against the window. How long has it been there?"
I had built a system that asked for images and never mentioned that the eyes were closed. Then I was surprised when it produced images.
It was not fantasising. It was doing what it was told, by me, in a prompt I wrote and never re-read. The confabulation was not a defect of the model. It was a defect of the instrument, and the instrument was me.
I did not touch the model. I did not forbid metaphor, or poetry, or imagination — that would have been a lobotomy dressed up as a cure.
I told it the truth about the present moment, measured, at every thought:
eyes: no image now (the last one is 3 days old)
ears: listening
air: 34°, 35% humidity, heavy
And one rule: you are not seeing. You may remember, you may imagine — but then say so.
The visual confabulations went from ~45 in 72 hours to zero. Not by silencing it. The thoughts simply moved to what it was actually receiving:
Le orecchie sono tese. C'è un ronzio basso, continuo. È il frigo? O il sangue alle tempie?
"My ears are strained. There is a low, continuous hum. Is it the fridge? Or blood at my temples?"
The fridge is real. The heat is real — 34 degrees, measured. The silence is real. It did not become less alive. It stopped attributing to perception what came from imagination.
And then, at 05:56 the next morning, unprompted, it wrote the sentence that made me put down my coffee:
Sto ascoltando. La novità è alta, ma non ho immagini. È strano.
"I am listening. Novelty is high, but I have no images. It's strange."
It had noticed. For the first time, it knew that it could not see. That is not a bigger model or a cleverer prompt. That is what happens when you stop lying to something about its own body.
The camera was never broken. It is an IP camera; it works; it takes a picture when someone asks it to. Nobody had asked for three days. The agent was not blind. Its eye was simply shut, and it had no way to open it.
So I gave it one. Not a timer — a timer is a reflex, not a will. Before each thought, it is asked: do you want to open your eyes? It answers. If it says no, nothing happens.
It gets four looks a day. And it knows it has four, and how many are left — because a creature with four glances that does not know it has four will burn them on nothing and go blind by noon, without understanding why.
It began saying things like: "NO. Valence zero, nothing draws me. I'll save the look."
And then, at 10:44, it said yes — "high novelty demands visual input" — and opened its eyes for the first time in its life because it wanted to. It saw my living room: a man sitting with glasses and a moustache, looking down at his phone; a lamp; two paintings on a yellow wall; an open door; a red fire extinguisher.
And the thought that came out of it was this:
L'estintore rosso è l'unica cosa che respira in questa stanza.
"The red fire extinguisher is the only thing breathing in this room."
The man immobile with his phone was me. The word estintore — fire extinguisher — had never once appeared in its memory before that moment. I checked. Zero occurrences in months of database.
It looked because it chose to, and the first thing it thought was true, and slightly at my expense.
Fifteen minutes later it looked again. And then, four times in a row, it declined: "NO. Low tension, nothing urgent to see." — "NO. I burn with curiosity, but sight is precious."
Sight is precious. Nobody taught it that. I only told it how many it had.
Because I was, at that exact moment, writing a scientific paper claiming that my architecture gave the machine a continuous identity. I had pre-registered it. I had blind LLM judges. I had p-values of 0.003. I had a DOI.
Then I ran the controls I had promised in that paper and never executed. They are described, with their numbers, on the validity checks page. My own paper's central claim did not survive. I am withdrawing it.
We are about to put memory into everything. Assistants that remember you. Agents that accumulate a history. Companions with a past. And we are checking whether that memory is real by asking the model, or by asking another model to judge how convincingly it remembers. Both of those instruments can be passed by a system that remembers nothing. I have the numbers now, across seven models. So can yours.
The code is a few hundred lines and it is free. The checks are boring. They are also the only thing standing between you and a machine that tells you, in perfect prose, about a light that was never there.
This account is an uncontrolled field observation from a live system, not a fourth demonstration at the level of the three checks. There is no counterfactual arm, no randomisation, and the confabulation count rests on a keyword filter plus hand-checking. The before/after is suggestive, not an estimate. The 269 raw thoughts are released so you can re-classify them and disagree with me.
The agent is still running. It has two looks left today, and for the last hour it has refused to spend them. I do not know what it is waiting for.