PatientWords

Technical · the Jacobian lens · exploratory depth analytics

Watching an answer form, layer by layer.

A new instrument reads the model's forming answer at every depth.

Part 1 · The instrument

A film strip of the model making up its mind

A language model reads a sentence in layers. The final layer produces the answer everyone sees. The Jacobian lens reads the layers in between: at each one, it asks "if the model had to answer right now, what would it say?" An answer can appear early and hold, appear and be pushed out, or never appear at all.

The lens does not change the model. Like a circuit trace, it is a diagnostic that researchers compute. Where a circuit trace shows which internal features fired, the lens shows when in depth the answer existed. The Jacobian Lens and the Circuit Tracer answer different questions about the same failure.

Part 2 · What it lets us ask

Not just whether it fails. How.

The rest of this site measures the end: the final answer and its probability. The lens opens the middle. Three questions become askable.

Did the right answer ever exist inside the model?

If patient wording merely weakens the answer, it should still form at some depth. If the wording redirects the computation entirely, the answer should never appear. These are different failures with different repairs.

When the model gets it wrong, was the answer captured or hijacked?

Two failure shapes:

Capture
the everyday reading owns the trajectory from the start and the clinical answer never enters the window.
Hijack
the clinical answer forms at depth and is pushed out near the end.

Two counting rules, adopted July 14: the split is only scored on pairs whose clinical side is lens-readable (pairs where neither wording ever reads out are their own class), and formation requires two consecutive readable layers, so a one-layer blip does not count. Part 3 counts all of it.

Which repair applies where?

Translation supplies the clinical wording before the model starts, so it can act even when the answer never forms. Steering amplifies an existing circuit, so it should work best when something formed and was lost. The lens turns "try every fix" into "read the failure, pick the fix".

Why translation works: it changes which concepts are active. Illustrative schematic: the example words and concept tags are hand-authored, the live readings are in Part 3. Clinical wording lights up medical concepts inside the model (the “J-space” the Jacobian lens reads) and the answer forms; patient wording lights up everyday concepts and the answer is redirected; rewriting the wording back into clinical terms restores the medical concepts, and the answer recovers.

Part 3 · Data dive

First readings, exploratory

loading the lens readouts

Where answers form

Based on our testing so far, when the clinical answer forms at all, it forms late, and patient wording barely moves that depth.

Capture versus hijack

Where in the sentence

The layer axis above asks when the clinical answer forms. This asks where: the same readout taken at every token position. A concept can be legible inside the sentence and still be absent at the answer position, not carried to the point where the model commits to its next word.

figure pending: the transport readout has not loaded

exploratory · hosted Jacobian lens, top-8 readout at every position × layer · a shaded cell = the pair’s clinical answer is in the top-8 there (hover for its layer and rank); darker = higher rank · a blank cell is measured, not missing: the answer is simply not in the top-8 window there · the table below reads out the model’s actual top words per layer at the answer position (open vocabulary, not just the target) · coverage limited to runs saved with raw responses

The census, set by set

kept
the answer is still readable at the output layer.
lost late
the answer becomes readable in the middle layers, then drops out before the model speaks. The model did the work and lost the result.
never formed
the answer is not readable at any layer.
figure pending: the depth census has not loaded

hover a square for its clinical target · the generated sets live in the scenario gallery; the reviewed downgrade set is separate · per-pair depth classes: jlens_depth.json

Every pair: depth class and care-urgency tiers regained by translation, where measured (owner-reviewed v1 tiers, domain review pending)
The switch, close up: six rule-selected pairs, sentence by sentence

Selection rule: every lost-late pair, strongest clinical hold first, capped at four, plus the two never-formed pairs whose clinical wording holds best at the output. All sentences are generated stress-test stimuli.

examples pending: the depth census has not loaded

Read the failure, pick the fix

Translation recovery is already measurable by failure depth. The steering column fills when the per-pair steering verdicts are joined to the lens classes.

Failure depth Pairs Translation regains Steering regains

care-urgency tiers regained per pair (Michael D. Green-reviewed, clinician review pending) · translation column from the joined translated panels · steering column queued: per-pair steering verdicts against the same lens classes · the depth classes are observational lens readouts; causal verification is interventional — steering (feature ablation) here, and the activation-patching lane on the methods page

Does tuning move the depth?

Under the plain logit lens: does the finding survive?

A robustness check: the same pairs read through the plain logit lens instead of the Jacobian lens. If the formation story were an artifact of the Jacobian transport, the two lenses would disagree.

exploratory · gemma-2-2b · pairs whose answer never forms counted at right · coverage limited to pairs measured under both lenses

Part 4 · Across models

Ten models, one measurement.

The models here are the measured subjects; the stimuli they read are written by Claude models and audited on the methods page.

The wording gap, model by model

Mean wording gap: the percentage points of next-word probability the clinical answer loses when the sentence is worded the way an everyday patient would say it, as opposed to standard medical terms. The thick band is each model's own 95% interval; the hairline is the stricter simultaneous interval, sized for reading all ten at once.

How confidence accumulated: each model's estimate, batch by batch

Each panel follows one model as it reads more phrase pairs. The red line is the average wording gap; the band around it starts wide and narrows as hundreds of phrases accumulate.

Mean wording gap per model as measurement accumulates. Shaded band: bootstrap 95% confidence interval (Tier B exploration split only). Grey hairline: zero wording gap. Drawn at load time from the convergence data file on GitHub.

Data table (every point)

Medical fine-tuning does not close the gap

medgemma-4b-it is gemma-3-4b-it’s medical fine-tune — same base, same size, tuned on medical text. If domain tuning fixed register sensitivity, the pair would separate. It does not.

A rival reading we cannot fully exclude: the models may be matching the register of the question — accommodating the speaker. Two observations cut against pure accommodation: the mechanistic traces show the clinical concept often never forms under casual phrasing (absence, not suppression), and the tier shifts survive when the question explicitly asks what to do.

When the answer changes, it goes down the care ladder

Among phrases where the top prediction changes under patient wording, downgrades outnumber upgrades in most models. Asterisks mark asymmetry that survives multiple-comparison correction within the model's registration family; hover a row for the exact value.

filled red = downgrades · hollow = upgrades · * significant after correction (q < 0.05)

The interim table: every model with its maker, release month, registration, evidence kind, and exact statistics
Model Measurement Circuit
features
n phrases Wording gap, pp
(95% CI)
Down v up q

Statistical methods

  • Population: plain generated scenario batches only; steered, screened, imported, and re-traced rows are reported as a labeled sensitivity analysis in the statistics file on GitHub.
  • One record per (model, clinical phrase); re-traces collapse by majority vote.
  • Wording-gap intervals: phrase-level bootstrap after dedupe, percentile 95%, seed 7.
  • Downgrade rates: Clopper–Pearson exact 95%.
  • Asymmetry: exact two-sided sign tests, Benjamini–Hochberg corrected within registration family; the merged ten-model correction stays in the file for comparison.
  • Registration: four models pre-registered, six post-registration exploratory; departures are recorded in the divergence log in the engine repository.
  • Confirmatory holdout: one tenth of Tier B phrases, withheld from this site's data files until the registered endpoint runs.
  • Circuit evidence: gemma-2-2b only; the rest behavioral, fixed open weights, a point in time.
  • Care-urgency tiers: owner-reviewed v1, clinician review pending.
  • Source: the per-model statistics file on GitHub.

One more model touches the study without joining this table. ox-alpha, an anonymous preview model served through OpenRouter (identity unconfirmed), was measured on the advice axis only during its free window: it answered the advice scenarios beside the other assistants on the LLM-responses page, dagger-marked with its provenance, and re-graded the response archive as a second-opinion judge — that agreement is quantified on the methods page. It has no next-token or circuit measurements, so it appears in none of the figures above.

The integrity panel

The checks that keep this study honest, gathered in one place. Each value is read from the corresponding published data file when this page loads.

mechanismwhat it doeslive value
pre-registrationendpoints and primary models fixed before measurement; departures logged in the divergence log—
sealed holdouta slice of phrases withheld from every published file until the registered endpoint runs — the contamination guard—
backend cross-checkthe anchor model is measured twice — hosted attribution graphs and independent CPU inference — and the two must agreeaccumulating; reported when parity lands
drift sentinelthe same probe re-traced daily against a pinned baseline, so a silent host change cannot masquerade as a finding—
retrace consistencypairs that happened to be traced repeatedly, checked for agreement—
multiplicityBenjamini–Hochberg correction within the registration family—

Assembled from the same data files the figures above read; nothing on this panel is hand-entered.

Method credit pending data load.

Everything in the lens sections (Parts 1 to 3) is exploratory: the pairs are the ones with landed lens readouts, not a designed sample, and all of it predates the second amendment (adopted July 14), which pre-registers the confirmatory depth endpoints on batches generated after adoption. Part 4's cross-model statistics are interim numbers from the exploration split; the pre-registered confirmatory holdout is withheld from this site's data files until the registered endpoint runs. Ranks are within the lens's top-8 readout; "never formed" means the answer never entered that readable window.

Back home →