The Jacobian lens: reading the thoughts a model hasn't said
Inside a language model, every concept it knows is a direction: a particular combination of the numbers it computes with. This paper asks one narrow question about them. Which directions is the model ready to say out loud, not here in this sentence, but on average across every situation it might find itself in? That question picks out a surprisingly small set, about nine percent of a vector. Then comes the surprise: those same directions turn out to be the ones it thinks with. Swap one and its unspoken reasoning changes course. Tell it to hold a thought and they light up. Delete them and the model still writes fluent English but can no longer chain one thought to the next.
That readout costs one matrix multiply per layer, with a matrix computed once per model. No probe training, no dictionary learning, no second model to interpret the first. It is cheap enough to run over every position of every transcript you have.
This is a walkthrough of where that matrix comes from, why the obvious version of it fails, and what fell out once it worked. I have tried to make it the version I wanted when I started: every object built rather than asserted, the arithmetic small enough to redo on paper, and the experiments described closely enough that you can judge whether they show what they claim.
Chapter one
The lens that reads the wrong page
Everything below runs on one toy, small enough to compute by hand. Four layers, a four-number vector at each position, and a vocabulary of six words. The prompt is the paper's own: the number of legs on the animal that spins webs is ___. Notice what it does not contain. It never says spider. To answer, the model has to work that out silently and then never say it. That gap, between what a model computes and what it emits, is the entire subject.
The residual stream is worth dwelling on, because the picture people usually arrive with is wrong. It is tempting to imagine a model as a pipeline, each layer handing a transformed thing to the next. It is closer to a shared blackboard. Every layer reads the whole board, computes something, and adds its contribution back. The board at the top is therefore the sum of every contribution ever written to it, and any layer can read anything any earlier layer wrote. That additivity is what makes reading it out plausible in the first place.
At the top, the model turns the notepad into a word with one fixed matrix, the unembedding, so called because it undoes the model's internal code and gets you back to vocabulary. One row per word, so six rows and four columns. Multiplying by it is just six inner products, one per row, each asking how much of that word's direction is present.
The obvious idea, and the trap
The model got it right, so somewhere on the way up it worked out we meant a spider. Can we catch it? The obvious move is to take the notepad from halfway up and push it through the same unembedding. That is the logit lens, it is about four lines of code, and it is genuinely useful. It is also, written out honestly, an assumption: that the middle of the model uses the same coordinates as the end of it.
This is not a quirk of the toy. On real models, in the lower half of the network, the logit lens returns fragments the authors simply call uninterpretable, and they print three of them: vah, valea, general. Those are not words. The lens is not lying. It is reading the right vector with the wrong key.
Why does the key stop working? Because layers do not agree on what the slots mean. A layer writes its result into slot one, and a later layer cancels it there and adds it to slot two. Why would a model bother? Because it never has to justify its filing system to anyone. Only the very top has to line up with the unembedding, since that is the only place the coordinates are read by something outside the model. Everywhere else the model is free, and gradient descent has no reason to spend capacity keeping the axes tidy for the convenience of a researcher who does not yet exist. Halfway up, nothing has been tidied.
So the information is there and our decoder is wrong. We are reading page two of a book with the key printed for page twelve. What we need is a translation: a map that takes layer-two coordinates into final-layer coordinates before we read them off. And you already know how to build one. Nudge one thing at a time and watch.
Two properties turn those four experiments into something general. If a nudge of four gives four times the answer, and two nudges done together give the sum of their answers, then the table tells you where any change lands, not just the four you tried. That is what linearity buys, and it is why a derivative is worth computing at all.
Now the move that turns a derivative into a lens, which is worth slowing down for. So far the table describes changes. But we can treat the whole layer-two notepad as one big change, a nudge away from nothing, and ask where it lands. And notice what that will not give us:
So the readout is not predicting what the model will say. It is measuring what this vector contributes. Keep it in mind: in chapter five the paper reports that on next-token agreement its lens is the worst of the three on offer, and calls that a feature.
Try these before chapter two
- Read out h = (0, 3, 0, 7) with the unembedding above. All six scores.
- The Jacobian has a column of zeros. Say in one sentence what it means for a model to have a direction like that.
- Predict. Apply the unembedding to J_2 · h_2 rather than to h_2. Which of the six words comes out on top?
Chapter two
Verbalizable, not verbalized
We want a map from layer-l coordinates to final-layer ones. There are two natural ways to get one, and watching both fail is what tells you what the right answer has to look like.
Fix one: just train the map
Fit a per-layer affine map, A_l · h + b_l, and train it to match the model's final output distribution. That is the tuned lens, and it is a reasonable idea: if the problem is that the coordinates are wrong, learn the correction. It wins the metric it is trained on at every single depth. Then watch what it does to an intermediate.
The failure is sharpest exactly where you would predict. On the association and poetry sets the tuned lens recovers almost nothing, and those are the two where the next token at the readout position is uninformative: a period and a newline respectively. A method biased toward surfacing next-token predictions has nothing to say when the next token carries no information.
There is a lovely diagnostic buried in the appendix. In early layers the tuned lens's linear part is essentially the identity, and its entire advantage over the logit lens comes from its learned bias term. Strip the bias out and the two agree almost exactly. Which is to say that in the layers where interpretation is hardest, the tuned lens is not reading the activation at all. It is reporting a prior. That is the failure mode of anything trained to match an output: it will happily learn to ignore its input wherever the input is hard to use.
Fix two: use this prompt's Jacobian
So do not train anything. Take the exact Jacobian, on this prompt, right now. It is causal rather than correlational, and it is exactly the local translation we asked for. That runs into a different problem, and it is the conceptual heart of the paper.
That averaging is the whole trick, and it buys a distinction worth naming carefully. Verbalized means said out loud in this context. Verbalizable means poised to be said, should the occasion arise. The second is a dispositional property, a claim about what would happen across a range of situations rather than what did happen in one. Averaging over contexts is precisely how you estimate a disposition.
That could be word games. It is not, and the experiment that separates the two is clean.
Which gives us the estimator.
Reading it out is then lens(h) = softmax(W_U · norm(J · h)), where the softmax is just the step that turns six raw scores into six probabilities and changes nothing about their order. But the move that makes it interpretable is to stop thinking of it as a matrix applied to an activation, and push the matrix onto the vocabulary side instead. Doing that gives one direction in residual-stream space per vocabulary word per layer, and turns the readout into a list of inner products against those directions.
This is the same arithmetic, rearranged, and it changes what the object is. Instead of a decoder you apply to activations, you have a dictionary of directions you can compare anything against. Point it at an activation and you learn what that activation is poised to say. Point it at a column of some weight matrix and you learn what that piece of the model is built to promote. Anything at all that lives in the residual stream can be asked the same question, which is not true of most interpretability tools.
So here is the answer to chapter one's third exercise. Same vector, two lenses.
Those directions need a name, because the rest of the paper is about them collectively rather than one at a time. The authors call the whole set the J-space, after the Jacobian that produced it. So: one direction per word per layer, and the J-space is what you get when you take them all together.
And the paper's real claim, the one the title makes, is about what that set turns out to be. In neuroscience there is a long-standing account of conscious thought called global workspace theory: most of the brain's processing runs in parallel and in private, and a small amount gets posted to a shared workspace that many other processes can read from. Contents of that workspace are the things you can report, deliberately hold in mind, and reason with. The claim here is that the J-space behaves like such a workspace in a language model. Everything in chapters four and five is the evidence for that, and the word workspace from here on means this set of directions, nothing more mystical.
What is actually in there
On a real model the contents are stranger and more interesting than a toy can show. The lens regularly surfaces concepts that are neither the input nor the predicted output, but intermediate assessments the model has formed and made available to whatever comes next.
Chapter three
Writing into the workspace
Reading is half of it, and the weaker half. Every claim that matters here is causal, and for those you need to write into the model, not just read out of it. There are three instruments, in increasing order of care.
The blunt one is steering: h ← h + α v_t. With a negative α, or by projecting the direction out entirely, it becomes ablation. Both are easy and both have a well-known problem: they change the length and often the meaning of the whole vector, so a behavioural change might just mean you broke something. The careful instrument is a coordinate patch, which exchanges one concept for another and provably disturbs nothing else.
What kind of object is the J-space?
Collect the lens vectors and you have one per vocabulary word, which for a real model is far more vectors than the residual stream has dimensions. That has a consequence people skip past, and the paper does not.
So "the J-space" cannot mean the span of the lens vectors. That span is the whole residual stream, every claim about it would be trivially true, and the paper would be empty. The fix is to define the space by sparsity instead:
The paper also gives a way to compare two candidate workspaces built from different vocabularies, by comparing the approximation error each assigns to the activations the model actually produces. That matters more than it sounds. It means "extend the lens to multi-token phrases" is a well-posed operation with a well-defined limit, rather than a different object every time somebody tries it.
All of which sounds like bookkeeping until you decompose an actual vector and see how little of it lands inside.
Chapter four
Nine percent of a thought
The toy was built to make that ratio visible. The paper measures it on real models and gets the same shape: split a concept's representation into a J-space component and everything else, and the J-space part carries a median of only six to seven percent of the variance. Then ask which part actually does the work.
That last clamp is the detail that makes the result stick. Without it, a sceptic could say the non-J-space part does have an effect, just a smaller one. With it, you learn that whatever effect it had was being laundered through the workspace: the downstream layers were re-deriving the concept and writing it back into the very directions we are calling privileged. Block that path and the other ninety-three percent of the variance does nothing at all.
Everything after this is an attempt to break that finding, and the attempts are the good part.
It can be told what to think
The negative instruction is the one that made me laugh. Told to ignore a concept, the model puts it in the workspace less than when told to focus on it, but distinctly more than when it is not mentioned at all. That is the white-bear effect, reproduced in a transformer, and it is a good sign the measurement is picking up something real rather than echoing the instruction. An instruction-echo could not distinguish "think about X" from "do not think about X", since both contain X.
Task demands work implicitly too. Give the model the same passage under two different questions. Ask it to predict the next word and the property it must be tracking, say the part of speech, never enters the readout, though the prediction respects it. Ask it to name the property and the label appears. The information is used either way. What the question changes is whether its name is loaded into the workspace.
It carries the steps of an argument
What does not go through it
A theory that explains everything explains nothing, so the sharpest experiment is the one that finds the boundary.
The character-counting version is starker still, because there the information is not merely unused but absent. Asked to continue a passage preserving its line wrapping, the model must be tracking a running character count, and number tokens appear nowhere in the readout; a swap that remaps counts in the forties to the sixties leaves the wrap point alone. Ask it how many characters the first line has and numbers appear at twenty positions, and the same swap moves the answer from 46 to 65. Ask for the first letter of that count spelled out, so the number is needed but never said, and numbers appear at more positions still. The workspace is loaded on demand, by the task.
Suppress the whole thing and the same split appears across a battery of fourteen tasks. MMLU, SQuAD, sentiment and grammatical acceptability are essentially untouched. Caesar-cipher decoding, analogies, summarisation, TriviaQA, multi-hop reasoning, translation and sonnet writing fall below an unablated model two sizes smaller. My favourite detail: GSM8K solved with explicit chain-of-thought is far more robust than the same problems answered directly. Writing the steps down externalises what the workspace would otherwise have to hold, which is a rather precise account of what chain-of-thought is for.
Where it lives, and how much fits
Which is why the next result matters more than its size suggests. It does not use the lens at all.
Broadcast also has a purely functional test, and it is the right way round. Take one swap, France for China, and apply it identically across sixteen different function templates: the capital of, most people speak, the continent of. If it really is a broadcast representation, every downstream circuit should read the new value without being told. It works on 76 of 192 trials, and 101 of 192 at double strength. The failures are informative rather than embarrassing: they concentrate where the source concept was barely present to begin with, which is what you would expect if the mechanism is real and the measurement noisy, and not what you would expect if the successes were coincidence.
Chapter five
Reading a mind, and what the lens can't see
If a model's strategic deliberation routes through a readable format, you can audit it. The blackmail transcript at the top of this piece is one case. The sharpest result, though, is not a reading. It is an intervention.
That should be uncomfortable in a specific way. It is not that the model is secretly malicious: in most ablated rollouts it still declines, and it declines on ethical grounds rather than on the grounds that it is being watched. It is that one of the things holding the behaviour in place was the recognition of being tested, and that recognition is exactly the thing an evaluation cannot hold fixed. The measurement was participating in the result.
The last of those four, where a model told not to think about something fails and its workspace fills with damn, is the one the authors themselves flag as their most speculative reading. They have shown the word is specific to the suppression instruction and to the post-trained model. They have not shown it is downstream of the failure rather than of the instruction. I mention it because the paper's willingness to mark its own weakest claim is part of why I trust the rest.
The prediction that makes it a theory
Everything so far is measurement. The last experiment is a prediction, and it is the reason I think this is more than a nice tool. If silent reasoning really routes through representations of things the model might say, then changing what it would say if interrupted should change how it reasons when it is never interrupted. That is a strange enough prediction to be worth something.
Read the recipe carefully and it is stranger than the summary. The training text comes after the behaviour it improves, so the gradient never sees a better response; it sees a better reflection about a response. What is being specified is not what to do, but which concepts should be active while doing it. The behaviour is downstream.
Does it beat its rivals?
Those two results are the same result. The directions that best anticipate the output are not the ones that best expose the computation producing it, and a method that optimised for the first would lose the second. Worth saying plainly, though, since the paper does: the logit lens captures much of the same workspace structure in the layers where it works at all, and remains a very useful tool. The J-lens is a correction, not a replacement.
Honest limits
Three of those deserve more than a line. The single-token vocabulary is the binding one: there is exactly one vector per vocabulary token, so the nameable concepts are the ones with single-token names. Prompt injection shows up as prompt and injection, and you have to notice they belong together. This is not only a readability problem. It plausibly explains a share of the failed interventions, since a concept whose working representation does not line up with any single-token direction cannot be swapped along one.
The bag of concepts problem is deeper. A readout containing spider, legs and eight tells you those are present, not how they are bound. Nothing here distinguishes "eight legs on a spider" from "a spider with legs" from three unrelated concepts that happen to be co-active. If the model imposes structure on its workspace, roles, relations, anything grammatical, this method cannot see it.
And the lens reads the workspace but says nothing about admission to it. We can see that the same information enters or does not depending on what the model is asked to do, which implies something like attentional selection is operating. The mechanism is unidentified. For safety specifically, the authors explicitly refuse the claim that monitoring this is sufficient, and their own selectivity results are the reason: well-practised computation proceeds beneath the workspace, so a sufficiently drilled misaligned behaviour could do the same.
What it does and does not say about consciousness
The framing invites a stronger reading than the evidence supports, so it is worth being precise about what is claimed. The paper takes no position on phenomenal consciousness. Access consciousness here is a purely functional notion: which information is available for report, deliberate control and flexible reasoning. Whether that has anything to do with there being something it is like to be the system is a question the paper explicitly declines.
Could you have invented it?
I think the honest answer is yes, and that is the best thing about it. You cannot read an intermediate layer with the unembedding, because layer l and the final layer do not share coordinates. Fix it with the average linear map between them, which is an averaged Jacobian, and the averaging is what buys you verbalizable over verbalized. Read it out and you get one direction per word: an overcomplete frame, so define the space by sparsity rather than span. Then check whether those directions are load-bearing, and find that they carry seven percent of the variance and nearly all of the report and the reasoning.
Every step is the next obvious thing to try. The surprise is entirely in what was waiting there.
Capstone
The paper argues the workspace is organised around words partly because the model's only mode of action is emitting words, and offers a testable consequence: a model that can generate images might develop a visual component to its workspace.
- Design the experiment that would test it. What is the analogue of a readout when the output space is pixels?
- The lens gives one vector per vocabulary token. What would it have to become first?
- Say what result would count as evidence against the workspace account, rather than merely failing to support it.
Paper: Verbalizable Representations Form a Global Workspace in Language Models, Gurnee, Sofroniew, … Lindsey, Anthropic, July 2026 (sixteen authors; Gurnee, Sofroniew and Lindsey are the core contributors). Figures are stills I built while working through it; the toy model is mine, and every number quoted is from the paper. Corrections very welcome: surajprasad8977@gmail.com.