Beyond the Trace: Coupling an Interpretable Reasoning-State Readout to Native MoE Routing
Organizations: Fudan University · Shanghai Innovation Institute
Abstract
What a reasoning model writes is only a partial record of the process that produces it. We introduce a two-level internal readout for mixture-of-experts reasoning. We first distill vocabulary-scale J-space into J64, a 64-axis semantic frame learned from the model's own reasoning states. J64 reveals readable process state that the emitted trace does not show: it separates inference effort from problem-induced strain. It also adds 0.096 to 0.135 held-out AUC over a baseline that reads the same rollout as token occupancy and aggregates it in exactly the same way. We then reconstruct J64 from native expert-routing statistics. The result is R64, a low-overhead proxy: its median per-axis correlation with J64 is 0.69 to 0.86 across three models and two families, and on gpt-oss-20b it preserves 95 to 100% of J64's predictive gain. The readout supports test-time decisions at two temporal resolutions. Over completed candidate sets, J64 and R64 improve single-branch selection, and R64-weighted voting improves plain majority voting in seven of eight settings. During generation, rolling readout windows drive a cumulative stop-and-resample policy whose operating point is fixed on training questions alone. J64 improves accuracy by 1.1 to 5.9 points over a sibling-permuted control, and the routing-only R64 proxy retains 0.9 to 3.2 of those points. Finally, router edits aimed at the mechanism J64 names induce the predicted reasoning behaviors and shift a diagnosed stall from numerical guessing toward exact symbolic execution. Together, J64 makes latent process state readable, while routing makes it deployable and actionable.
Figures & tables
| gpt-oss-20b | gpt-oss-120b | Qwen3-30B-A3B | ||||||||
| Low | Med | High | avg | Low | Med | High | avg | Think | Inst | |
| Avg@64 (random pick) | 35.1 | 66.5 | 70.9 | 57.5 | 48.8 | 73.3 | 83.1 | 68.4 | 78.8 | 60.9 |
| single-trace selectors — frozen transfer, averaged over all four training benchmarks | ||||||||||
| J64 | 41.9 (+6.9) | 68.1 (+1.6) | 77.5 (+6.6) | 62.5 (+5.0) | 54.4 (+5.6) | 76.9 (+3.7) | 88.6 (+5.5) | 73.3 (+4.9) | 85.3 (+6.5) | 65.6 (+4.7) |
| R64 (routing) | 35.8 (+0.8) | 68.3 (+1.9) | 76.1 (+5.2) | 60.1 (+2.6) | 51.1 (+2.3) | 75.6 (+2.3) | 86.1 (+3.0) | 70.9 (+2.5) | 87.2 (+8.4) | 64.7 (+3.8) |
| token occupancy | 35.6 (+0.5) | 64.2 ( 2.3) | 74.7 (+3.8) | 58.2 (+0.7) | 53.9 (+5.1) | 75.6 (+2.3) | 86.9 (+3.8) | 72.1 (+3.7) | 87.2 (+8.4) | 65.6 (+4.7) |
| oss-20b | oss-120b | Qwen | pooled | |
|---|---|---|---|---|
| failed questions | 102 | 75 | 46 | 223 |
| random pick | 8.5 | 10.6 | 5.3 | 8.7 |
| J64 | 14.3 (+5.8) | 23.2 (+12.6) | 19.2 (+13.9) | 17.0 (+8.3) ∗ |
| R64 (routing) | 12.3 (+3.8) | 20.0 (+9.3) | 16.1 (+10.8) | 14.1 (+5.3) ∗ |
| token occupancy | 8.1 ( 0.4) | 14.6 (+3.9) | 15.1 (+9.8) | 12.3 (+3.5) ∗ |
| length | 3.3 ( 5.2) | 14.6 (+4.0) | 11.7 (+6.4) | 5.4 ( 3.4) ∗ |
| Target cost | J64 | R64 | DeepConf | permSib |
|---|---|---|---|---|
| gpt-oss-20b High — one uninterrupted rollout: | ||||
| / | / | / | / | |
| / | / | / | / | |
| / | / | / | / | |
| / | / | / | / | |
| Qwen3-30B-A3B Thinking — one uninterrupted rollout: | ||||
Appendix figures & tables7 assets
Supplementary material from the paper’s appendix.
Appendix
| Mod. | experts | most enriched tokens ( ratio) | what it fires on | matched axis | |
|---|---|---|---|---|---|
| 0 | 8,23,5,29,16 | +b 7.9, 7.8, (a 7.2, R 7.2, d 7.1 | algebraic symbols: variables and expression pieces | #15 symbol | |
| 1 | 11,17,30,13,7 | But 10.0, Now 9.7, ). 9.6, Wait 9.6, Alternatively 9.6 | turn markers and paragraph ends | #44 drift | |
| 2 | 16,31,25,0,8 | ings 9.8, letters 9.8, path 9.8, solutions 9.8, blocks 9.8 | combinatorial objects: discrete structure nouns | #7 alternation | |
| 3 | 7,29,8,12,18 | = 9.5, .. 8.9, 8.9, 8.8, )/( 8.4 | inequalities, fractions and exponents | #54 numeral | |
| 4 | 13,17,6,20,3 | The 10.0, find 10.0, using 10.0, use 9.8, on 9.6 | method statements (“use … to find …”) | #29 named-object | |
| 5 | 2,17,15,5,1 | bis 10.0, equ 10.0, quadr 9.8, .e 9.8, non 9.6 | geometric word roots (bisect, quadr-, hex-) | #30 difficulty |
| gpt-oss-20b | Qwen3-30B-A3B | pooled | ||||
|---|---|---|---|---|---|---|
| Low | Med | High | Think | Inst | ||
| questions | 198 | 198 | 198 | 198 | 198 | 990 |
| random pick | 56.3 | 64.4 | 59.3 | 71.1 | 66.3 | 63.5 |
| J64 | 59.6 (+3.3) | 71.7 (+7.4) ∗ | 67.2 (+7.9) ∗ | 72.7 (+1.7) | 69.2 (+2.9) | 68.1 (+4.6) ∗ |
| R64 (routing) | 59.6 (+3.3) | 69.7 (+5.3) ∗ | 65.2 (+5.8) ∗ | 70.7 ( 0.4) | 73.7 (+7.4) ∗ | 67.8 (+4.3) ∗ |
| token occupancy | 55.1 ( 1.2) | 66.7 (+2.3) | 67.7 (+8.4) ∗ | 72.2 (+1.2) | 64.6 ( 1.7) | 65.3 (+1.8) |
| gpt-oss-20b | gpt-oss-120b | Qwen3-30B-A3B | all | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Low | Med | High | avg | Low | Med | High | avg | Think | Inst | pooled | |
| failed qs | 64 | 20 | 18 | 102 | 50 | 19 | 6 | 75 | 11 | 35 | 223 |
| random pick | 9.0 | 12.3 | 4.2 | 8.5 | 8.4 | 16.8 | 6.8 | 10.6 | 4.1 | 6.5 | 8.7 |
| J64 | 14.1 (+5.1) ∗ | 23.3 (+11.0) | 5.6 (+1.4) | 14.3 (+5.8) | 17.3 (+9.0) ∗ | 24.6 (+7.8) | 27.8 (+21.0) | 23.2 (+12.6) | 21.2 (+17.1) ∗ | 17.1 (+10.6) ∗ | 17.0 (+8.3) ∗ |
| R64 | 9.9 (+0.9) | 23.3 (+11.0) | 3.7 ( 0.5) | 12.3 (+3.8) | 11.3 (+3.0) | 26.3 (+9.5) | 22.2 (+15.5) | 20.0 (+9.3) | 15.2 (+11.0) | 17.1 (+10.6) ∗ | 14.1 (+5.3) ∗ |
| token occupancy | 8.9 ( 0.2) | 10.0 ( 2.3) | 5.6 (+1.4) | 8.1 ( 0.4) | 13.3 (+5.0) | 19.3 (+2.5) | 11.1 (+4.3) | 14.6 (+3.9) | 12.1 (+8.0) | 18.1 (+11.6) ∗ | 12.3 (+3.5) ∗ |
| Diagnosed process | J64 axes | Routing component | Intervention experts | Predicted change | Observed change |
|---|---|---|---|---|---|
| Excessive case splitting, failure to commit | case-splitting bundle #20/#7/#16 | experts ranked by write-vector advantage on the bundle direction, layers – | top two per layer, state-dependent | more splitting, less commitment | “Case ” enumeration ( headers in one run; of sham runs), non-termination (cap ), accuracy |
| Hovering and probing instead of operating | hover #22, requirement #1, probe #8 vs operation #47 | expert group whose gated usage separates incorrect from correct trajectories (within-question, length-controlled) | L12-E23, L12-E12, L12-E24, L16-E11, L20-E0; suppressed; of gated mass | less probing, faster exact execution | shorter generations ( ∗ ; sham ∗ ), symbolic derivation replaces numerical guessing, answer becomes correct |
| Arm | twelve | three |
|---|---|---|
| problems | case studies | |
| no-op | ||
| promote pos. ( ) | 0.411 (+3.1) | — |
| suppress neg. ( ) | (+2.6) | 0.625 (+8.3) |
| suppress neg. ( ) | (+1.6) | — |
| promote pos. ( ) | (+1.6) | (+6.2) |