综述 | 把 LLM 机制可解释性的核心方法串成一条问题驱动的演化线:读残差流 → 证因果·画电路 → 找对单位(superposition/字典)→ 2025 收敛与对地基的反思。本篇是地图与主线,每段方法的细节下沉到 4 篇微观 Topic、12 篇 anchor 论文笔记与 11 篇前置 Notes,用 WikiLink 串起。 | 2026-06

这篇是什么 / 怎么读

市面已有十余篇可解释性 survey(本篇对它们做了结构化消化与批判)。它们各有一套心智模型(作者对领域的理解),但没有一篇以「方法谱系演进」为主轴。本篇的切口是不按「方法 A、方法 B」罗列,而是回答「这些方法是怎么一个逼出一个的」。

读法:

  • 想要主线与全景 → 读本篇。
  • 想要某一段方法的串讲细节(公式、判据、变体、逐篇 delta)→ 顺 WikiLink 进 4 篇微观 Topic: ① 读残差流② 干预与电路③ 特征与叠加④ 2025 前沿
  • 想要单个方法的完整消化 → 进对应 anchor 论文笔记(Logit Lens 等,§2 表有全部链接)。
  • 不熟某个共性名词(superposition / 残差流 / 因果中介……)→ 进 Notes/ 原子概念(Superposition 等)。本篇与微观 Topic 都不重复展开前置概念,只链接。

方法论提醒:要严格区分三种陈述。事实(哪些方法、谁先谁后、定量结果,可跨多篇交叉验证)、心智模型(某作者 / 我们对「领域如何组织」的观点,无所谓对错只有有用与否)、赌注(如「特征是线性方向」这类被广泛默认、但正被主动证伪的假设)。本篇尽量标注每个 claim 属于哪一类。


1. 分类轴:为什么这么切

1.1 现有 survey 的轴各切中一面,但都不够

Survey 的组织心智模型它切中的轴盲点
Rai Practical Review:features / circuits / universality 三对象研究对象把 feature/circuit ontology 当既定,轻 faithfulness
Ferrando Primer:Localize vs Decode认识论手段(读 / 找)组件中心,轻「验证」一等地位
Mueller Right Mediator:mediator 类型 × 搜索方法分析单位 × 搜索(最统一的坐标系)把一切都收编成因果图,挤压描述性工作
Bereska Safety:observational↔interventional, post-hoc↔intrinsic因果性 / 学习阶段安全相关性偏理想化、尚未证实
Locate–Steer–Improve:定位→引导→改进应用 pipeline把「干预改变行为」混同「理解机制」
Open Problems:decompose / describe / validate流程三步 + 局限SAE-centric,把开放问题框成「修 SDL」
Intrinsic:post-hoc vs by-design可解释性来源「intrinsic=天生忠实」是未证假设

每一条都对,但都是横切(某一时刻的分类)。本篇要的是纵切——演化。所以不挑一条照搬,而是融合成一个能承载时间线的坐标系。

1.2 自建坐标系:两条轴 + 一条时间线

  • 轴 A|认识论手段:Read(观测,读表征)→ Intervene(因果,干预证明)→ Validate(验证忠实性)。 这是 Ferrando 的 localize/decode 与 Open-Problems 的 decompose/describe/validate 的合并,并把 validate 提为一等公民(这正是 2025 浪潮的重心,见 Faithfulness)。
  • 轴 B|分析单位 / mediator(借 Mueller 坐标系,但排成一条「越来越想干净」的阶梯): 层 / 子模块 → 注意力头·神经元(basis-aligned)→ 子空间·方向(non-basis)→ 字典特征(SAE)→ 函数 / 参数(transcoder / APD)。
  • 时间线(本篇主轴):每一代方法都是对上一代「只能读不能证 / 单位多义 / 无法验证」的反应。把方法投到 (A, B) 平面上,会看到一条清晰的对角线轨迹,这就是 §2 的谱系线。

这套轴本身是一个心智模型(观点,不是事实)。它的价值在于:能把后来任何新方法定位进来(「它在读还是证?它的单位是什么?它回应了哪个问题?」),从而减少遗漏。


2. 一条线:四段,十二个锚点

主线引擎可以压成一句:问题驱动。下面每段给「它解决什么 / 它留下什么」,方法细节进微观 Topic。

flowchart TD
    subgraph S1["① 读 · Read"]
        direction LR
        A1["Logit Lens"] --> A2["Tuned Lens"] --> A3["Patchscopes"]
    end
    subgraph S2["② 证 · Intervene"]
        direction LR
        B1["Causal Tracing (ROME)"] --> B2["Path Patching"] --> B3["IOI"] --> B4["ACDC / EAP"] --> B5["Causal Scrubbing"] --> B6["DAS"]
    end
    subgraph S3["③ 单位 · Unit"]
        direction LR
        C1["Toy Models (superposition)"] --> C2["SAE"] --> C3["变体"] --> C4["评估危机"] --> C5["transcoder / crosscoder"]
    end
    subgraph S4["④ 收敛 + 反思(并列)"]
        direction LR
        D1["Attribution Graphs"]
        D2["APD → SPD"]
        D3["Weight-Sparse"]
        D4["有效性批判"]
    end
    S1 -->|"问题:相关性,不能证因果"| S2
    S2 -->|"问题:单位(神经元 / 头)多义"| S3
    S3 -->|"问题:字典特征未必因果忠实"| S4
    S4 -->|"重心转移"| R["从「找到一个可解释的东西」<br/>转向「证明它忠实、可用、能 scale」"]

1. 读残差流(Read) → 详见 lens-methods-cn

残差流的加法结构让中间层与输出同住一个空间,于是能「直接读」:Logit Lens(零训练投影)→ Tuned Lens(学仿射校正漂移)→ Patchscopes(把表示 patch 进新 prompt 让模型自解码,用一个统一框架把整条 lens 线都收进来)。 留下的问题:读取是相关性的,「这层能解码出 X」≠「这层导致了 X」。

2. 证因果·画电路(Intervene) → 详见 circuits-and-interventions-cn

转向动手干预(activation patching / 因果中介):ROME(causal tracing 定位事实到中层 MLP + rank-one 编辑闭环)→ Path Patching → IOI(手工还原 26 头电路,立 faithfulness/completeness/minimality 三判据)→ ACDC / EAP(自动化电路发现)→ Causal Scrubbing(严格验证)→ DAS(把 mediator 升级为学出来的非 basis 子空间)。 留下的问题:分析单位(神经元 / 头)本身是 多义的。一个节点同时编码多个互不相干的特征。于是即便因果干预做得再干净,电路的节点语义仍是糊的,整张图跟着不可信。

3. 找对单位:叠加与字典(unit 升级) → 详见 features-and-superposition-cn

先诊断再解药:Toy Models叠加证成稀疏度驱动的相变(解释神经元为何多义)→ SAE 用过完备稀疏字典解出近单义特征(existence proof)→ Gated/JumpReLU/TopK/Matryoshka 调旋钮 → SAEBench / feature absorption 揭穿「proxy 指标不迁移」→ transcoder/crosscoder 把对象从「重建状态」升级为「重建计算」。 留下的问题:SAE 特征是事后解出的,单义≠模型计算时真正使用的单位(忠实性悬而未决)。

4. 2025 收敛与对地基的反思 → 详见 frontier-2025-cn

前三段(读 / 证 / 单位)三条线收敛进 Attribution Graphs(cross-layer transcoder 造「替身模型」,feature 级因果图,scale 到生产模型);分解对象从激活搬到参数空间 APD→SPD;by-construction 的 weight-sparse transformer 把范式推向 intrinsic;同时一波有效性批判(Non-Linear Representation Dilemma、电路非唯一性)直击共同地基。 重心转移:从「找到一个可解释的东西」转向「证明这个解释忠实、可用、且能 scale」。

锚点地图(12 篇 anchor,按谱系定位)

Anchor谱系角色rating
Logit Lens读残差流的起点(unembedding 投影)3
Patchscopeslens 家族的统一框架(自解码)3
ROMEcausal tracing + 定位→编辑闭环3
IOI手工电路范式 + 三判据3
ACDC自动电路发现3
DAS因果抽象 / 学子空间 mediator3
Toy Modelssuperposition 的 problem formulation3
Monosemanticity字典学习 existence proof3
Attribution Graphs三线收敛的整合工件(2025)2
SPD参数空间转向(正交新家族)2
应用RepE定位→控制(steering)3
机制Induction Heads可被发现且复现的机制范例(撑起 circuit 纲领)3

未单独成篇但在微观 Topic 里串讲的方法:Tuned Lens、DLA、Path Patching、Attribution Patching/EAP/EAP-IG、Causal Scrubbing、SAE 变体(Gated/JumpReLU/TopK/BatchTopK/Matryoshka)、Gemma Scope、SAEBench、Transcoders/Crosscoders、Weight-Sparse Transformers、Thought Anchors、self-explanation/concept-injection、alignment auditing games。


3. 贯穿全线的 pattern 与张力

把四段叠在一起看,有几条比单篇方法更要紧的 pattern。

(1) 同一个循环在反复跑:Read → Prove → Fix-the-unit → Validate。 每一段都在补上一段的认识论缺口:lens 能读不能证,于是 patching 来证;patching 的分析单位多义,于是字典把它解成干净特征;字典未必忠实,于是用参数空间 / by-construction / 有效性检验来兜。方法的进步本质是「证据强度」的进步,不是「看得更花哨」。一个新方法值不值得追,先问它把这个循环往前推了哪一步。

(2) 整条线压在同一个赌注上:线性表示假设 + 叠加。 LRH(特征=方向、可线性组合)是 lens、SAE、DAS、attribution graph 共同的地基——正因为信它,「找特征」才能写成稀疏线性分解、「对齐」才能学一个旋转。但它是赌注不是定律:circular/多维特征、feature splitting/absorption、2025 的 Non-Linear Representation Dilemma 都是它在数据上漏气的信号。读任何基于线性假设的结果,都要在心里挂一个「若 LRH 在此尺度失效,则结论打折」的条件句。这是本篇与多数 survey 最大的态度差异:它们把 LRH 当已定的地基,本篇当一个可被证伪的赌注。

(3) Scalability 是隐形的选择压。 谱系里每一次跃迁几乎都由「上一代不 scale」触发:手工 IOI 被 ACDC 自动化,再被 EAP 用梯度近似提速,最后被 attribution graph 推到生产级;单层 SAE 长成 Gemma Scope 的全尺寸套件。这说明不 scale 的方法大概率方向不对。反过来,APD/SPD 目前只在 toy model 上验证,「能否 scale 到真实 LM」是它最大的未兑现问题,也是判断这条参数空间支线成败的关键变量。

(4) Faithfulness 从脚注升为硬约束。 早期工作默认「解码/干预出来的就是真相」;IOI 把忠实性操作化成三判据;Causal Scrubbing 做成协议;2025 直接把「有效性本身」当研究对象(alignment auditing games 盲测「方法能不能真挖出隐藏目标」)。领域正在从「我找到了一个可解释的东西」长进「我能证明这个解释忠实且有用」——这也是判断一篇可解释性论文成色的第一性问题。


4. 应用出口:定位之后能做什么

谱系不只是「理解」,也有工程出口。但每个出口都有自己的限制,必须显式声明:

  • 知识编辑ROME / MEMIT。定位到事实存储的层后做权重手术。限制:定位≠编辑最优层(Hase 2023),改一处可能波及它处。
  • 行为控制 / steeringRepE / activation steering。沿概念方向加减改 honesty/harmlessness。限制:「干预改变行为」≠「理解了机制」。control 只证明某方向与行为有因果关联,不揭示底层计算(Faithfulness 里最好的反例)。
  • 安全审计 / 监控:用 SAE feature、attribution graph 找欺骗/有害回路。限制:多在 toy/小模型与 curated 任务上验证,到 frontier 模型的桥是假设而非已证(Bereska survey 里最理想化、最缺证据的地方)。
  • 推理模型诊断:Thought Anchors 把因果归因抬到 CoT 句级,配合 CoT faithfulness 浪潮(自述≠真实机制,见 attribution graph 的加法「进位」案例)。

共性边界:应用层最容易把「可用的旋钮」误当「理解」。一个对齐旋钮有效,只意味着你找到了一个有因果效应的方向,不意味着你读懂了模型。这条线必须守住。


5. 本篇相对已有 survey 的增量

  1. 谱系优先:没有现成 survey 以「方法如何一个逼出一个」为主轴;本篇把十余篇的横切 taxonomy 重组成一条纵向演化线。
  2. 融合而非照搬心智模型:自建坐标系(§1.2)是 Mueller×Ferrando×Open-Problems 的融合,且对每篇的盲点做了标注(§1.1 表)。
  3. 把地基当赌注:显式把 LRH/superposition 标为可证伪假设,并配 2025 反例——多数 survey 把它当定论。
  4. 更具体、可下钻:方法细节不堆在本篇,而是下沉到 4 篇微观 Topic + 12 篇 anchor 笔记 + 11 篇 Notes,用 WikiLink 让读者能逐层补齐。
  5. 事实/观点/赌注三分:每个 claim 尽量标注它依据的是论文、实验还是推理。

6. 开放问题(诚实清单)

综合 Open Problems(Sharkey 2025)与本篇的判断,领域真正卡住的地方:

  • 单位之争未决:特征是不是对的原子?激活字典 vs 参数分解 vs 非线性/多维表示,谁是真单位仍开放。
  • 可识别性:电路/特征分解非唯一,多靠人判(streetlight effect:只在路灯下找钥匙,挑容易分析的地方下手)——「忠实」必须显式声明抽象层级与容差,否则会被悄悄偷换成研究者的「我说它对就对」。
  • 有效性缺约束:因果抽象在 featurizer 容量不受限时空洞(Non-Linear Representation Dilemma);「在哪划容量线」缺原则。
  • 从局部到全局:attribution graph 是单 prompt 局部解剖;attention/QK routing 仍基本在解释之外;dark matter(重构误差)相当部分未被解释。
  • Scale 验证缺口:参数空间 / by-construction 多在 toy/小模型,frontier 证据稀缺。
  • 理解→效用的闭环:可解释性能否在真实安全审计里赢过便宜的黑箱基线,仍待 alignment auditing 这类可证伪实验回答。

导航