Deven Choudhary

Project Write-Up

Stereopsis

Draft, still figuring out the shape of this. Feedback welcome.

Definition

Stereopsis takes one explanation from an AI interpretability tool, breaks it into individual claims, and checks each claim against a second, independent instrument reading the same internal state. Each claim ends up with a verdict: backed up, contradicted, or no signal either way. You get something checkable instead of an explanation you just have to trust.

The name comes from how two eyes, each seeing a slightly different angle, let you perceive depth that neither eye gets alone.

General flow: a sentence and token go to two independent instruments, an NLA and an SAE. Their outputs are compared to produce a verdict per claim. Below, the same flow shown for one worked example.

Background, if you want it (click to expand)

In May 2026 Anthropic released Natural Language Autoencoders. Point one at a specific word in a sentence while a model is processing it, and it hands back a plain English explanation of what the model is "thinking about" right there.

That's genuinely useful. It's also prone to making things up. The explanations come out fluent and confident whether or not they're true, and Anthropic says as much themselves, recommending people read the output "for themes rather than single claims." They show a real case in the paper too, an explanation that claimed a piece of text mentioned a white jacket that was never actually there. Fair warning. It doesn't fix anything though, it just tells you to be careful and leaves you to work out how.

The natural next move is a second instrument that reads the same internal state a different way. Sparse autoencoders do this: instead of a paragraph of prose you get a bank of individual features, each with its own evidence trail, example text that sets it off and the words it makes the model more likely to say next. SAEs and NLAs are trained differently and fail differently, and that's the whole reason cross checking one against the other is worth trying. If an NLA explanation is confabulating, there's no reason an unrelated SAE happens to confabulate the exact same false thing at the exact same moment.

The question isn't really "do these two usually agree." There's already a cheaper way to sanity check an NLA on its own, which is to ask it to explain itself again and see if the answer holds up, or look at how confident it claims to be. Both of those are internal checks, and internal checks share a blind spot: an NLA that confidently invents the same wrong answer every single time will look perfectly consistent doing it. Consistency measures whether it repeats itself, not whether it's right. Something has to sit outside the instrument to catch that kind of failure. That's what this is trying to be.

Watching it run, on one real sentence

Rather than describe the pipeline in the abstract, here's what it actually does on one case.

Sentence:

"Oh great, another Monday morning meeting, exactly what I wanted."

Word checked: great

Picked this one on purpose. "Great" is a positive word sitting inside a sentence that's obviously sarcastic, so it's a decent place to see whether a tool is reading what the model's actually doing internally or just reacting to the word on the page.


Ask the NLA what the model is doing at that word, given the full sentence.

(explanation goes here once this actually runs)

Split the explanation into claims by hand.

Ask the SAE side which features fire hardest on that same word in that same sentence. Each one comes with three kinds of evidence: an auto generated label, example text that activates it, and the words it predicts next.

(feature evidence goes here)

Check each claim against that evidence.

Claim What the SAE evidence says Verdict
(claim 1) (supports / contradicts / says nothing) (backed up / contradicted / no signal)
(claim 2) (supports / contradicts / says nothing) (backed up / contradicted / no signal)

The blanks are left blank on purpose rather than filled with something made up. Once this actually runs, the post gets updated with the real output. What's here now is the real shape of the thing, just not populated yet.

One more instrument, sitting on the shelf for now

Anthropic put out a third possible tool this week, the Jacobian Lens, which reads what a model is about to say next rather than what it's currently representing. It would make an interesting third leg for this. I checked whether it's usable right now for the model this project is built around, and it isn't, only one other open weight model has a hosted version so far. Worth coming back to.


If you're reading this: does the step by step version actually explain the idea better than a paragraph would have? Is Stereopsis a good name or an overreach? Anything in the definition that's unclear before you even get to the example?