Rajesh Ranjan Mahapatra

Machine intelligence

Circuits and the Search for Mechanism

Rajesh Ranjan Mahapatra

A sparse internal subgraph becomes an explanation only when its causal roles keep making the right counterfactual predictions across the changes the explanation declares irrelevant.

© 2026 Rajesh Ranjan Mahapatra. 31 min read

Machine intelligence

Circuits and the Search for Mechanism

A sparse internal subgraph becomes an explanation only when its causal roles keep making the right counterfactual predictions across the changes the explanation declares irrelevant.

TLDR

  • A circuit is explanatory only when its causal roles keep predicting behaviour across inputs and interventions the explanation says should not matter.
  • Stable mechanism means invariant role structure, not identical attention-head numbers, activation coordinates or one sparse graph recovered from one prompt template.
  • Activation patching supplies counterfactual evidence, but its answer depends on the donor, corruption, metric, granularity and parallel routes left intact.
  • Self-repair, shared general-purpose components and confounded prompt pairs can make an apparently necessary or sufficient circuit tell the wrong story.
  • Treat circuit discovery as hypothesis generation, then require a mechanism stability dossier before using the result to edit, monitor or govern a model.

The circuit that moved while the behaviour stayed put

Imagine that a team studies a language model on a simple binding task. Each prompt names two people, describes an object changing hands and asks who should receive it next. A layer-by-layer intervention scan yields a compact story. One early head detects the repeated name, two middle heads suppress the wrong candidate, and a late head copies the remaining name to the answer position. The graph is sparse, the patched logits recover, and the diagram looks satisfyingly mechanical.

Now train the same architecture for longer. Accuracy stays the same. The late copier role appears in another head, one suppressor splits across two heads, and the original early head becomes weak. Is the first circuit wrong? Perhaps. Or perhaps the physical coordinates moved while the algorithmic roles remained. Next, keep the checkpoint fixed but rewrite the prompts in passive voice. The original graph loses much of its effect. Did the model switch algorithms, did the intervention cease to preserve the right variables, or was the circuit only a template-specific shortcut?

These cases expose the central problem. A circuit diagram is selected from a much larger computation under a particular input distribution, corruption, metric and component vocabulary. Its edges are not self-certifying explanations. They are the visible remainder of an experiment.

A circuit counts as an explanation when it instantiates an explicit causal abstraction whose intervention predictions remain accurate across a declared family of inputs, disturbances and model variants. Stability does not require the same head identifiers. It requires the same relevant roles, dependencies and failure conditions.

This standard is stronger than finding components that matter on average, yet weaker than demanding a complete symbolic reconstruction of every floating-point operation. It asks the investigator to state what is supposed to stay invariant, then try to break that claim. The practical consequence is direct: a heatmap may begin an investigation, but only a stability dossier should authorise a mechanism claim.

Part one

A circuit is a causal claim, not a drawing

A railway map can show rails, stations or passenger journeys. Those are related objects, but they answer different questions. The metal track says what movement is physically possible. A route map says which sequence serves a journey. A timetable says when the route is actually used. Calling all three “the railway” creates the same confusion that surrounds neural circuits.

Early circuits work proposed studying neural networks by decomposing them into features and connections, then asking how those parts implement a behaviour.[1] Transformer-specific work sharpened the physical substrate: residual streams, attention heads, query-key selection and output-value transformations can be written as interacting computational paths.[2] That decomposition is indispensable because it provides places to measure and intervene. It does not decide which level of description deserves explanatory status.

A circuit motif across prompt families and checkpoints Three prompt families flow through two checkpoints. Physical components change labels, while the semantic encoder, selector and answer writer roles preserve the same causal motif. A surface shortcut is present only in the confounded prompt family. Stable role motif, moving physical coordinates Physical identifiers move; semantic roles and dependencies remain. Confounded Surface held fixed Counter-correlated semantic encoderA: L0.H1 · B: L0.H4 semantic encoderrole preserved semantic encoderrole preserved candidate selectorA: L2.H3 · B: L3.H1 candidate selectorsame dependency candidate selectorsame dependency surface shortcutlooks useful here shortcut inertcontrolled pair shortcut reversesnegative effect answer writerA: L4.M0 · B: L5.M0 answer writeroutput contrast answer writeroutput contrast Invariant: semantic state selects a candidate and writes it to the answer. Shortcut rejected: its effect disappears or reverses under controlled families.
Figure 1. The signature test is a motif across layers and prompts, not a single highlighted graph.Conceptual layout using the synthetic component identifiers and patch behaviour from the accompanying laboratory. Teal, indigo and sky denote the proposed semantic route; coral denotes a shortcut exposed by counterfactual prompt families.

Three objects called a circuit

The first object is the physical subgraph: named heads, MLP blocks, feature directions or edges chosen from a particular model and hook vocabulary. It is executable and precise. It is also coordinate-bound. Reparameterisation, head permutation, feature rotation or continued training can change those coordinates while leaving behaviour and algorithmic organisation similar.

The second object is the role graph: semantic encoder, duplicate detector, candidate suppressor, value mover, answer writer. Roles are claims about what components do and how information flows among them. They can survive component substitution, but only if their names predict interventions. Calling a head a “name mover” after viewing examples is description. Predicting which donor activation should change which answer, and which paraphrases should preserve that effect, begins explanation.

The third object is a causal abstraction: a simpler high-level computation plus a mapping from low-level model states to its variables. Causal abstraction work formalises mechanistic interpretation as finding intelligible algorithms that are faithful simplifications of lower-level mechanisms.[5] The abstraction need not reproduce every activation. It must preserve the intervention relations relevant to the claim.

A compact way to state the burden is to let F denote the full model, C the proposed high-level circuit and α a mapping from model states into high-level variables. For each input x and intervention i inside the declared test family, two routes should agree within a stated tolerance. One route intervenes on the model and then maps its state upward. The other maps the ordinary model state upward and applies the corresponding high-level intervention inside C.

α(Fi(x)) ≈ Ci(α(F(x))) for x ∈ X and i ∈ I X is the declared input family, I is the intervention family, and the approximation must name its metric and tolerance. The equation does not require one-to-one correspondence between high-level roles and physical components. It requires intervention predictions to commute across levels.

This condition blocks two easy escapes. Behavioural equivalence alone is too weak because a lookup table can reproduce answers without sharing a mechanism. Exact activation equality is too strong because redundant coordinates and implementation changes can preserve a causal role. The informative question is whether the abstraction predicts what changes, what remains fixed and where the prediction fails.

It also forces semantic discipline. If the high-level variable is called “candidate identity”, then interventions that change identity while preserving position, token frequency and syntax should follow the abstraction. Interventions that change only those surface properties should not. A role name earns its meaning by the counterfactual partitions it predicts.

Three nested levels of a circuit explanation A large rectangle of physical components contains a smaller role graph, which contains a high-level causal abstraction. Arrows show that each higher level must predict lower-level interventions. Three levels of a circuit explanation 1. Physical subgraph heads, MLPs, features, edges, hook locations 2. Role graph encoder → selector → writer, with declared alternatives 3. Causal abstraction select target → emit target accept only when high-level interventions match model interventions
Figure 2. Three nested circuit claims carry different burdens.Conceptual figure. A physical subgraph is exact but brittle; a role graph is reusable but semantically contestable; a causal abstraction earns compression only by preserving relevant intervention outcomes.

Thought experiment one: swap the technicians

Two technicians run a theatre cue sequence. One opens the curtain, one changes the light, one starts the sound. The next night, the staff exchange consoles but perform the same roles in the same dependency order. A camera-based account tied to faces declares a new mechanism. A script-level account declares the same mechanism. Which is better depends on the intervention: if disabling the “light” role still produces the predicted dark stage regardless of operator, the script captures the stable cause.

Now weaken the account further and say only that “someone prepares the stage”. That description survives every staff change, but it no longer predicts which interruption causes which failure. Mechanistic stability sits between coordinate worship and vacuous functionalism. The accepted level is the coarsest abstraction that continues to predict discriminating interventions.

This view aligns with evidence that some transformer mechanisms can remain algorithmically recognisable while their implementing heads change during training. Tigges and colleagues tracked circuits across 300 billion training tokens and models from 70 million to 2.8 billion parameters. Their study found that functional component types and overarching algorithms could persist even when particular attention heads changed.[14] That is evidence for role-level stability in the studied tasks, not a licence to assume it for every behaviour or architecture.

Circuit granularity is part of the hypothesis

A whole attention head is convenient because it has a clean tensor boundary. It can still perform several input-dependent operations. An edge between two modules is finer, but may bundle many feature directions. A learned feature or subspace is finer again, yet its basis may be non-unique and an intervention may leave the model's normal activation manifold. No granularity is automatically the “real” circuit.

The choice changes both discovery and stability. A head-level circuit may replicate because the same broad module remains useful, while its feature-level computation changes. A feature-level circuit may preserve a semantic direction across prompts while moving between heads. An edge-level circuit may look sparse because a replacement baseline suppresses distributed background support. Every circuit claim should therefore name its unit of analysis and test at least one adjacent resolution.

Induction-head research offers a useful example of role-first reasoning. The proposed motif links a previous-token detector to a head that copies the token following an earlier match, and the work connects that motif to in-context learning behaviour across studied models.[3] The explanatory object is more than a head number. It is a pattern of attention, value transport and behavioural effect. The same standard should apply when a circuit is less tidy.

A practical multi-resolution check begins coarse, because exhaustive feature-level intervention is expensive. Localise with residual or component patches. Split the strongest components into heads, positions, edges or subspaces. Then ask whether the refined pieces jointly reconstruct the coarse effect and whether the semantic interpretation improves on held-out counterfactuals. If refinement changes the story, publish the discrepancy rather than selecting the prettier level.

Part two
The argument in one passChart · flow
flowchart LR
  A["The circuit that moved while<br/>the behaviour stayed put"] --> B["A circuit is a causal claim,<br/>not a drawing"]
  B --> C["Activation patching asks one<br/>conditional counterfactual"]
  C --> D["Stability has several<br/>dimensions, and they can<br/>disagree"]
  D -. "re-test" .-> A
  classDef first fill:#0a1424,stroke:#007D68,stroke-width:2px,color:#e6f3ff
  classDef step fill:#0a1424,stroke:#3f7da0,stroke-width:1px,color:#e6f3ff
  class A first
  class B,C,D step
A structural route through Circuits and the Search for Mechanism, from The circuit that moved while the… to Sources. Reading use: follow the relation, then test it against the surrounding evidence and limits.

Activation patching asks one conditional counterfactual

Suppose a clean prompt makes the model prefer answer A, while a carefully corrupted prompt makes it prefer B. Cache an internal activation from the clean run. Insert that activation at the same hook in the corrupted run, then recompute everything downstream. If the answer moves towards A, the donor activation carried something causally useful in that recipient context.

That sentence contains every important qualification. The result is conditional on the clean donor, the corrupted recipient, the exact slice replaced, the downstream network left available and the metric used to score recovery. Activation patching is stronger than observing correlation, but it does not name the transported content by itself. Practical guidance on patching therefore emphasises corruption design, metric choice, hook placement and interpretation boundaries.[8]

Activation patching as a conditional counterfactual A clean run supplies a donor activation. A corrupt run receives it at one hook. Downstream computation is recomputed and the output margin is compared with clean and corrupt baselines. Replace one declared state, then recompute the consequences Clean run Corrupt recipient Patched outcome clean state a* corrupt state a a ← a* margin +1.50 margin −1.50 margin +0.50 donor activation inserted at one named hook Restoration = (patched − corrupt) / (clean − corrupt) = 0.667
Figure 3. A patch is a local replacement inside a global recipient computation.Synthetic margins from the confounded case in the executable artefact. The 0.667 restoration supports causal usefulness for this contrast; it does not yet identify a stable semantic mechanism.
R = (mpatched − mcorrupt) / (mclean − mcorrupt) m is a predeclared output metric, often a logit difference between the clean and corrupt answers. R = 0 means no recovery and R = 1 means clean-level recovery. Values above one or below zero are possible, so the raw margins must remain visible.

Five choices determine what a patch means

The corruption defines the question. Replacing one name with another, shuffling all names, changing syntax and inserting random tokens do not create equivalent recipients. A corruption should remove or alter the variable under study while preserving enough of the ordinary task that downstream computation remains interpretable. If the corrupt run already fails for unrelated reasons, recovery may measure general repair rather than the proposed mechanism.

The donor defines the alternative world. A clean activation from the matched counterfactual preserves many hidden properties besides the named variable. A random donor changes too much. A mean donor may be off-distribution. Resampling within an equivalence class can be more discriminating, provided that class is specified before results are inspected.

The patch direction defines the dependence tested. Clean-to-corrupt patching asks whether donor information can rescue the corrupt context. Corrupt-to-clean patching asks whether introducing the corrupt state harms the clean computation. Non-linearity, saturation and repair can make these effects asymmetric. Reporting only the larger direction chooses a story after observing the data.

The hook defines the causal boundary. Patching before layer normalisation lets the donor alter subsequent centring and scaling. Patching a head output differs from patching its attention pattern, values or residual contribution. Token alignment matters when a corruption changes tokenisation. The experiment receipt must identify layer, position, head or feature axes and whether the hook is pre- or post-operation.

The metric defines visible success. Top-token accuracy can miss a large movement that stops short of a rank flip. A logit difference can conceal changes elsewhere in the distribution. Normalised restoration becomes unstable when clean and corrupt margins are close. Use one sensitive metric, one behavioural outcome and the unnormalised values. Add no-op hooks, unchanged donor slices, irrelevant positions and matched random donors to detect implementation drift.

Worked example one: the pair that crowns two mechanisms

The laboratory accompanying this article has two input variables. The semantic variable determines the correct answer. A surface cue is correlated with it in the discovery examples and contributes half as much to the output. The model contains a semantic encoder, a surface encoder, a primary router, a conditional backup and an answer writer. Every value is inspectable.

In the first pair, the clean input is (semantic=+1, surface=+1) and the corrupt input is (−1, −1). The clean margin is +1.50; the corrupt margin is −1.50. Patching the semantic encoder restores the margin to +0.50, or 0.667 restoration. Patching the surface encoder restores it to −0.50, or 0.333. A discovery scan therefore assigns causal credit to both paths.

Now change one feature at a time. Keep the surface cue at −1 in both clean and corrupt inputs while changing only the semantic variable. The semantic patch restores 1.000; the surface patch restores 0.000 because donor and recipient surface states are identical. In a third family, reverse the surface cue relative to the semantic answer. The semantic patch overshoots to 2.000 restoration, while the shortcut patch produces −1.000 and moves the output in the wrong direction.

Patch restoration across three prompt families Grouped horizontal bars show semantic and surface patch restoration. Both are positive on a confounded family. The surface effect is zero when held fixed and negative when counter-correlated, while the semantic effect remains positive. Counterfactual families separate route from shortcut Restoration values are generated by the included Python laboratory. −1.001.02.03.0 Confounded Surface held fixed Counter-correlated 0.667 semantic 0.333 surface 1.000 semantic 0.000 surface 2.000 semantic −1.000 surface semantic route surface shortcut
Figure 4. One confounded pair makes a shortcut look like part of the mechanism.Synthetic measurements, not model benchmark results. The controlled and counter-correlated families vary the surface cue independently. The irrelevant-marker negative control remains at zero in all families.

This is the article's serious negative control. The shortcut has the same granularity as the semantic route and earns a visible patch score on the discovery contrast. It is rejected only when the experiment changes a feature that the mechanism claim says should be irrelevant. A random component baseline would be easier to beat, but less discriminating. The best negative control is a plausible rival mechanism that succeeds wherever the original experiment is confounded.

The example also explains why a patch score is not an intrinsic property of a component. Restoration changes from 0.667 to 1.000 to 2.000 for the same semantic node because the clean-corrupt denominator and the recipient's remaining surface path change. Metric-robustness studies have likewise warned that circuit rankings and faithfulness conclusions can depend on the evaluation design.[13] Keep raw clean, corrupt and patched metrics beside every normalised score.

Failure boundary

Activation replacement can move a model into an internal state it would not naturally reach, especially when a narrow subspace is patched. A successful behavioural edit may activate a dormant parallel pathway rather than reveal the route used by the unmodified model. Subspace-patching counterexamples demonstrate this interpretability illusion in mathematical and model settings.[10]

Thought experiment two: the bridge that repairs itself

A town has a main bridge and an emergency ferry. Under ordinary traffic, almost nobody uses the ferry. Close the bridge and the ferry starts running. Measuring the traffic loss after closing only the bridge suggests the bridge is nearly unnecessary. Closing only the dormant ferry also changes little. Close both and the route collapses.

A one-at-a-time circuit scan can produce exactly this mistake. A component's effect depends on what the rest of the model does after the intervention. The Hydra effect study reported compensation by later language-model layers after an attention layer was ablated.[9] More recent causal-mediation analysis argues that activation-patching estimates can contain interaction terms with other mediators, making conditionally important components look small or inflating effects attributed to a single component.[17] The latter is a recent preprint and should be treated as an active methodological claim, not settled consensus.

Self-repair hidden by single ablations Bars show output margin under no ablation, primary route ablation, backup route ablation and joint ablation. Primary-only ablation has a small effect because the backup activates. Joint ablation produces a large drop. Single ablations can hide a conditional backup Synthetic output margin for input (semantic=+1, surface=+1). 00.51.01.5 1.50 1.35 1.50 0.50 none primaryablated backupablated primary + backupablated
Figure 5. The route looks dispensable until its backup is removed with it.Synthetic measurements from the executable laboratory. Primary-only ablation triggers 85 per cent semantic repair through the backup, leaving a margin of 1.35. Joint ablation removes one full margin unit.

Necessity and sufficiency must therefore be stated relative to an intervention regime. A circuit may be sufficient when all excluded edges are replaced by a baseline, yet not be the route ordinarily used. A component may be unnecessary under single ablation yet conditionally necessary when a backup is blocked. Path patching, co-ablation, interaction tests and causal scrubbing can refine the hypothesis, but each requires an explicit account of which distinctions should be preserved.[7]

The correct response is not to demand every higher-order interaction. That becomes combinatorial. Use a staged design: first identify plausible routes, then test interactions where compensation is predicted or where the decision consequence warrants the cost. Report the untested interaction boundary. A bounded circuit claim may be scientifically useful; an unbounded one is merely convenient.

Part three

Stability has several dimensions, and they can disagree

“The circuit is stable” is incomplete. Stable across what? A mechanism claim normally crosses at least three families: inputs, interventions and implementations. An input family includes paraphrases, tokenisations, distractor structures and task variants. An intervention family includes patch direction, donor choice, baseline, granularity and joint disturbances. An implementation family includes seeds, checkpoints, model sizes or architectures.

Design the stability family before discovering the graph

A useful test family resembles a factorial experiment. List the variables the proposed mechanism says are causally relevant, such as entity identity and grammatical role. List plausible nuisances, such as name frequency, token length, position, voice and punctuation. Then construct pairs that vary one relevant variable while holding nuisances fixed, vary nuisances while holding the relevant variable fixed, and deliberately reverse common correlations.

Not every combination will be linguistically natural. Naturalness is part of the boundary, not an excuse to abandon control. Use generated templates for precise separation, human-written paraphrases for ecological breadth and corpus examples for distributional realism. Keep the three strata distinct because success on one does not imply success on the others.

Before circuit discovery, verify that the full model performs the intended behaviour on each family and that the clean-corrupt contrast is large enough for the metric. A circuit cannot explain competence the model does not reliably display. Separate model failures from explanation failures: when the full model changes strategy or loses accuracy, the correct result may be a mechanism boundary rather than a failed replication.

Pre-register the invariance predictions where the stakes justify it. Which role should survive passive voice? Which path should disappear when the surface cue is held fixed? Which component may be substituted across checkpoints? Which observation would falsify the semantic label? This turns a collection of patches into a test of a causal theory and reduces the temptation to rename components after every surprising result.

The claim should name which transformations preserve the high-level variables. If passive voice changes the syntax but not the binding relation, a semantic binding circuit ought to preserve its role-level predictions. If a new task uses the same selection primitive for different content, component reuse may strengthen a general algorithmic interpretation rather than weaken task specificity. If a checkpoint moves the role to another head, physical overlap may fall while causal abstraction remains intact.

Physical identity versus role graph overlap Two checkpoints contain different component identifiers but identical role graphs. A comparison panel reports zero physical component Jaccard overlap and complete role graph edge overlap. Role-level replication can survive zero identifier overlap Checkpoint A Checkpoint B encoderL0.H1 shortcutL0.H6 selectorL2.H3 writerL4.M0 encoderL0.H4 shortcutL1.M2 selectorL3.H1 writerL5.M0 physical component Jaccard: 0.00 role graph edge overlap: 1.00
Figure 6. Component overlap and mechanism replication answer different questions.Synthetic checkpoint mappings from the laboratory. The zero-overlap construction is deliberately stark: all identifiers change while the high-level dependency graph remains identical.

1. Causal fidelity

Does the proposed subgraph preserve the full model's relevant behaviour when excluded computation is replaced according to a declared baseline? IOI work evaluated an end-to-end circuit using faithfulness, completeness and minimality, while acknowledging remaining gaps.[4] Automated circuit discovery later showed that compact subgraphs can be recovered at scale, but discovery success is still metric- and task-dependent.[6] Faithfulness is a necessary compression test. It does not alone validate the semantic names attached to the nodes.

2. Discriminating counterfactuals

Can the circuit distinguish the preferred mechanism from a plausible rival? The surface-held-fixed pair in the laboratory does more work than a random ablation because it preserves the shortcut while changing the target variable. Causal scrubbing expresses this idea by testing whether activations can be resampled while preserving exactly the input distinctions the interpretation says each node may depend on.[7] A hypothesis that cannot generate its own adversarial family is not ready to be called a mechanism.

3. Recurrence within the claimed input family

Does the role recur across prompt instances, or is the reported graph an average that few examples actually use? A recent preprint proposes separating within-task consistency from task specificity. Across six tasks and seven models, it reports substantial within-task component reuse and causal impact relative to capacity-matched random ablations.[16] Its own scope is bounded by one extraction method, head-and-MLP granularity and the chosen tasks. The broader lesson is durable: report the distribution of per-example circuit effects, not only the union graph.

4. Specificity or justified reuse

A component shared across tasks is not automatically non-explanatory. It may implement a general operation such as copying, comparison or suppression. Merullo and colleagues found substantial reuse between the IOI and Coloured Objects tasks in their studied GPT-2 models, including about 78 per cent overlap among in-circuit attention heads and a targeted intervention that improved the latter task.[11] Conversely, the recent consistency study found that many circuit components were not unique to one task.[16] The right question is whether the shared role predicts both tasks, not whether each task owns private hardware.

5. Repair and interaction awareness

Have plausible backup paths and joint effects been tested? Single-component necessity scores are weakest where the model can compensate. Co-ablation, path restriction and interaction-aware sampling should be targeted at candidate redundancies. Where these tests are infeasible, the explanation must say that it identifies a useful route under first-order interventions, not the unique or complete mechanism.

6. Role-level replication

Do the same causal roles and dependency predictions recur across seeds, checkpoints or scales even when component coordinates move? Physical overlap is strong evidence when it appears, but it should not be the only acceptance rule. A stable algorithm can be realised by different heads; identical heads can also change function. Replication therefore needs both coordinate-level and role-level comparisons.

Mechanism stability as a gated vector Six rows show causal fidelity, discrimination, recurrence, specificity, repair accounting and role replication. Each row has evidence, a failure signal and an acceptance state. The figure warns against averaging them into one score. Stability is a vector of claims, not one confidence number A high average cannot compensate for a failed discriminating counterfactual or hidden repair path. GateRequired evidenceFailure signalState Causal fidelityexcluded edges ablated;full-model contrast retainedbehaviour changes✓ Discriminationplausible rival held alive;prediction separates routesshortcut survives✓ Recurrenceper-example effects andheld-out prompt familiesrarely used! Specificitytask controls or explicitshared-operation accountgeneric utility! Repairco-ablation and alternativepath testsrepair hidden✓ Replicationcoordinate and role comparisonsacross declared variantsrole disappears×
Figure 7. A mechanism claim should fail closed on decisive evidence gaps.Practitioner synthesis. The illustrative states show why a weighted average is dangerous: a circuit can be faithful on one dataset yet remain unaccepted because recurrence or replication has not been established.

Benchmarks can make these dimensions more comparable. MIB separates circuit localisation from causal-variable localisation across multiple tasks and models, evaluating whether methods recover concise causal pathways or variables.[15] Such benchmarks measure methods under known evaluation structures. They do not eliminate the need to define the behaviour, corruption and invariance family for a new mechanism claim.

Overlap is especially seductive because it is easy to visualise. Two methods can recover many of the same nodes while producing circuits with different faithfulness. Hanna and colleagues found that an integrated-gradients variant of edge attribution patching yielded more faithful circuits than ordinary edge attribution patching even when both had high overlap with previously identified components.[12] Use overlap to compare physical selections; use intervention fidelity to compare explanatory adequacy.

Open hypothesis

The most reusable unit of mechanistic knowledge may be neither a head nor a full task circuit, but a typed role motif with preconditions, transported variables and known substitutes. Testing this requires benchmarks that score role-level intervention predictions across independently trained models, not only edge overlap inside one coordinate system.

Part four

The mechanism stability dossier

A circuit explanation should be released like a scientific instrument, not a decorative annotation. The dossier below is an acceptance protocol for research, model diagnosis or internal monitoring. It is deliberately stricter when the proposed use changes a model, blocks a release or supports a consequential control.

Worked scenario, not a deployment

A document assistant reads a contract extract and drafts a sentence naming the liable party. Investigators hypothesise a four-role circuit: entity encoding, role binding, distractor suppression and answer writing. They want to use the circuit as a regression sentinel after model updates. The scenario is synthetic; it does not describe a client system.

Worked example two: from a name-binding graph to a release decision

The discovery dataset contains active-voice sentences with two single-token names. Patching identifies an early entity state, two middle attention paths and a late answer writer. The subgraph retains 94 per cent of the full model's answer-margin contrast under the chosen resample baseline. That is useful causal fidelity, but the release question is not yet answered.

The team builds a family of contrasts. Passive voice preserves the liable party while changing word order. Token-split names preserve identity while changing lexical boundaries. A third distractor preserves syntax while adding another organisation. A negation family changes liability while keeping names and positions fixed. An authorised exception family changes the decision rule rather than the evidence. Each family exists because it separates one candidate mechanism from another.

The role-binding path recurs across active and passive voice, but one physical head is replaced by another after continued training. The role-level patch prediction remains correct. Token-split names recruit an extra early MLP, so the original physical graph is incomplete while the abstraction survives with an expanded encoder role. The negation family fails: the proposed circuit writes the extracted party, but a separate policy path determines whether that party is actually liable. The correct conclusion is bounded.

The circuit is accepted as a regression sentinel for entity-to-answer transport within affirmative liability clauses, not as an explanation of legal liability and never as an authority to approve a document. The dossier records the failed negation scope, the component substitution across checkpoints and the prompt families tested. A later release can extend the claim only by adding evidence.

GateQuestionMinimum evidenceDecision if missing
Behaviour boundaryWhat exact contrast is being explained?Dataset construction, exclusions, full-model performance and sensitive metricNo circuit claim
Physical specificationWhich nodes, edges and hook semantics are in scope?Model and tokenizer hashes, component granularity, pre/post operation, patch ruleNot reproducible
Causal fidelityDoes the retained subgraph preserve the target behaviour?Necessity and sufficiency relative to named baselines, with raw outcomesDiscovery only
Discriminating controlDoes a plausible rival mechanism fail where the preferred one predicts success?Feature-isolating pairs, counter-correlations and capacity-matched controlsSemantic label rejected
Interaction accountCan repair or joint effects hide important routes?Targeted co-ablation, path restriction or an explicit untested boundaryFirst-order claim only
Input stabilityDoes the role recur across the declared input family?Per-example distributions and held-out structural variantsTemplate-bound claim
Specificity or reuseIs the role distinctive, or a justified shared operation?Task controls and cross-task intervention predictionsGeneric utility unresolved
Implementation stabilityDoes the abstraction survive relevant model changes?Seed, checkpoint or scale comparison at coordinate and role levelsSnapshot-bound claim
Use boundaryWhat decision may this explanation change?Permitted use, forbidden inference, expiry trigger and ownerDo not operationalise

Treat the dossier as a living assurance argument

The dossier is not a certificate that the model has been understood. It is a structured argument with a claim, supporting evidence and named defeaters. The claim might be “this role graph explains entity transport for affirmative two-party clauses in model version V”. Evidence includes patch results, held-out families, co-ablation tests and replication receipts. Defeaters include tokenisations not covered, a failed negation family, unexplored higher-order interactions and a model update.

Each item needs an owner and expiry trigger. A tokenizer change invalidates position-aligned patches. Quantisation can alter activation geometry. Fine-tuning may preserve output accuracy while moving roles. A new prompt distribution may introduce structures absent from the stability family. When a trigger fires, the claim returns to review rather than remaining true by documentation inertia.

Do not compress the dossier into one green score. Some gaps are conditional holds; others defeat the interpretation. Missing cross-seed replication may permit a snapshot-bound research claim. Failure of the discriminating counterfactual rejects the semantic role. Missing use boundaries prevents operational adoption even when the science is strong. The gate should follow the consequence of being wrong.

Discovery to bounded mechanism claim A funnel begins with a broad attribution scan, narrows through causal fidelity, discriminating controls, interaction tests and replication, and ends with a bounded explanation and explicit use boundary. Failure paths lead to revised hypotheses. A heatmap starts the claim; the dossier narrows it 1. attribution scan and candidate subgraph 2. causal fidelity under declared baselines 3. rival mechanisms anddiscriminating counterfactuals 4. repair, interaction androle-level replication 5. bounded mechanism claimwith use and expiry conditions redo pair rename role expand claim
Figure 8. Mechanism acceptance is a narrowing process with return paths.Practitioner synthesis. Failure does not mean the investigation is useless; it changes the claim, the experiment or the intended use rather than being averaged away.

Executable artefact: the circuit stability laboratory

The accompanying standard-library Python script implements the minimal model used in Figures 3 to 6. It runs three prompt families, patches five named sites, performs single and joint ablations, compares two synthetic checkpoints and emits a machine-readable dossier. Assertions enforce the positive semantic case, the inert negative control, the counter-correlated shortcut failure, the self-repair interaction and the role-level replication result.

The artefact is intentionally smaller than a transformer. Its purpose is to make experimental logic executable. Replacing it with a real model changes tensor sizes, hook names and compute cost, but not the evidence contract: paired inputs, named donor and recipient states, downstream recomputation, raw metrics, rival mechanisms, interaction tests and a reproduction receipt.

Core graph and conditional repairPython 3.10+
def forward(prompt, *, patches=None, ablate=()):
    patches = dict(patches or {})
    ablated = set(ablate)

    semantic = 0.0 if "semantic_encoder" in ablated else prompt.semantic
    semantic = patches.get("semantic_encoder", semantic)

    surface = 0.0 if "shortcut_encoder" in ablated else prompt.surface
    surface = patches.get("shortcut_encoder", surface)

    primary = 0.0 if "primary_router" in ablated else semantic
    primary = patches.get("primary_router", primary)

    if "backup_router" in ablated:
        backup = 0.0
    elif "primary_router" in ablated:
        backup = 0.85 * semantic       # conditional self-repair
    else:
        backup = 0.0

    margin = primary + backup + 0.5 * surface
    return margin
Expected output and why overshoot matters
family              site                 restoration
confounded          semantic_encoder          0.667
confounded          shortcut_encoder          0.333
surface-held-fixed  semantic_encoder          1.000
surface-held-fixed  shortcut_encoder          0.000
counter-correlated  semantic_encoder          2.000
counter-correlated  shortcut_encoder         -1.000

primary-only ablation drop:                  0.15
primary-plus-backup ablation drop:           1.00
physical component set Jaccard:              0.00
role graph edge overlap:                     1.00

The semantic patch overshoots in the counter-correlated family because the recipient's surface contribution now helps the patched semantic state more than it helps the clean baseline. The value is a warning against clipping restoration to the interval from zero to one. Report the raw margins and explain the counterfactual.

Operational use requires a stricter boundary

A circuit finding can guide a regression test, a targeted dataset, a hypothesis about model editing or a more efficient monitor. It should not become a safety or authorisation control merely because it is internal. The model may route around the measured path, the extraction method may miss features, an update may move the role, and the monitor itself may alter performance. External outcome tests and model-independent controls remain necessary.

Activation traces may also encode prompt content. Store only what the experiment requires, protect the trace as sensitive derived data, and record model, tokenizer, precision, prompt-pair hash, hook semantics, patch rule, metric code and raw outcome. A screenshot of a graph cannot be replayed after a model update. A decision receipt can.

Practitioner synthesis

Use circuit evidence in proportion to consequence. For exploratory science, a faithful prompt-bound subgraph can be valuable. For model editing, require specificity and broad regression tests. For release blocking or governance evidence, require independent replication, explicit expiry and an external behavioural control that does not depend on the proposed mechanism being correct.

How the claim changes under pressureChart · state
stateDiagram-v2
  [*] --> Claim
  state "Three objects called a circuit" as Claim
  state "Thought experiment one: swap<br/>the technicians" as Test
  state "Circuit granularity is part of<br/>the hypothesis" as Revision
  Claim --> Test: expose mechanism
  Test --> Decision: evidence survives
  Test --> Revision: rival survives
  Revision --> Claim: narrow or rebuild
  Decision --> [*]
The revision loop begins with Three objects called a circuit and keeps counterexamples inside the reasoning path. Reading use: follow the relation, then test it against the surrounding evidence and limits.

Compact glossary

Activation patching
Replacing a named internal activation in a recipient run with one from a donor run, then recomputing downstream effects.
Causal abstraction
A simpler high-level computation whose interventions correspond, within a declared scope, to interventions in the lower-level model.
Circuit faithfulness
The extent to which a selected subgraph preserves the relevant behaviour of the full model under a specified ablation or replacement baseline.
Role graph
A component-independent account of causal functions and dependencies, such as encoding, selecting, suppressing and writing.
Self-repair
Downstream or parallel computation that compensates after a component is disturbed, changing the measured effect of the intervention.
Stability family
The inputs, interventions and model variants across which an explanation claims that its causal roles remain valid.

Publish the invariants, not the heatmap

The search for circuits is valuable because it turns opaque computation into intervention-ready hypotheses. The danger begins when a sparse graph inherits explanatory status from its visual clarity. A head can matter for one corruption and fail on a controlled pair. A route can look unnecessary because a backup repairs it. A component set can move while an algorithmic role survives. A shared head can be either a generic utility or evidence for a reusable computational primitive.

The durable object is therefore an invariant causal claim with a boundary. State the behaviour, define the high-level variables, identify a physical route, test its fidelity, defeat a plausible rival, expose repair, measure recurrence, distinguish specificity from reuse and replicate at the role level. Where a gate fails, narrow the explanation rather than smoothing the failure into a score.

This changes the research decision. Circuit discovery should optimise for discriminating experiments, not only smaller graphs. It changes the architecture decision. Internal mechanisms may support diagnostics and regression sentinels, but model-independent controls still govern consequential effects. It changes the publication decision. A circuit figure should arrive with the prompt families, intervention ledger, raw metrics, negative controls, interaction boundary and expiry condition needed to reconstruct the claim.

A mechanism is not whatever remains after pruning. It is the simplest causal account that continues to survive the right attempts to make it false.

The evidence conversationChart · sequence
sequenceDiagram
  participant Q as Question
  participant M as Mechanism
  participant E as Evidence
  participant D as Decision
  Q->>M: The circuit that moved while the behaviour stayed put
  M->>E: Three objects called a circuit
  E-->>M: compare rival explanations
  E->>D: Sources
  D-->>Q: revise scope or act
Question, mechanism, evidence and decision exchange the burdens developed in Circuits and the Search for Mechanism. Reading use: follow the relation, then test it against the surrounding evidence and limits.

Sources

Foundational and primary research

  1. Olah, C. et al. “Zoom In: An Introduction to Circuits.” Distill.
  2. Elhage, N. et al. “A Mathematical Framework for Transformer Circuits.”
  3. Olsson, C. et al. “In-context Learning and Induction Heads.”
  4. Wang, K. et al. “Interpretability in the Wild: a Circuit for Indirect Object Identification in GPT-2 Small.”
  5. Geiger, A. et al. “Causal Abstraction: A Theoretical Foundation for Mechanistic Interpretability.”
  6. Conmy, A. et al. “Towards Automated Circuit Discovery for Mechanistic Interpretability.” NeurIPS.
  7. Chan, L. et al. “Causal Scrubbing: A Method for Rigorously Testing Interpretability Hypotheses.”

Methodological and validation studies

  1. Heimersheim, S. and Nanda, N. “How to Use and Interpret Activation Patching.”
  2. McGrath, T. et al. “The Hydra Effect: Emergent Self-repair in Language Model Computations.”
  3. Makelov, A., Lange, G. and Nanda, N. “Is This the Subspace You Are Looking for? An Interpretability Illusion for Subspace Activation Patching.”
  4. Merullo, J., Eickhoff, C. and Pavlick, E. “Circuit Component Reuse Across Tasks in Transformer Language Models.” ICLR.
  5. Hanna, M., Pezzelle, S. and Belinkov, Y. “Have Faith in Faithfulness: Going Beyond Circuit Overlap When Finding Model Mechanisms.” COLM.
  6. Miller, J. et al. “Transformer Circuit Evaluation Metrics Are Not Robust.” COLM.
  7. Tigges, C. et al. “LLM Circuit Analyses Are Consistent Across Training and Scale.” NeurIPS.
  8. Mueller, A. et al. “MIB: A Mechanistic Interpretability Benchmark.” ICML.

Recent primary preprints

  1. Li, M. and Subramani, N. “How Much Do Circuits Tell Us? Measuring the Consistency and Specificity of Language Model Circuits.” Preprint.
  2. Vaidyanathan, S. et al. “The Curse of Multiple Mediators: Hidden Interaction Effects in Activation Patching.” Preprint.