---
title: "权重空间编程深度解读：大模型如何直接读写神经网络权重，又如何避免“瞎改出错”"
date: 2026-11-03
description: "2026年11月2日，MIT CSAIL团队发布《权重空间编程》：GPT-6 Astra不用梯度、不写训练循环，直接读写神经网络权重，只改Qwen3.5-0.8B中0.016%的权重，就把MATH-500从7.9%提到48.1%。本文拆解它如何读权重、改权重、从零写权重，重点分析避免改坏模型的八道护栏、两次失败实验揭示的边界，以及对银行模型治理的启示。"
tags: ["权重空间编程", "可解释性", "模型编辑", "大模型", "AI安全", "模型风险", "银行模型治理"]
schema_type: Article
references:
  - title: "Sparks of Weight-Space Programming: LLMs can natively read & write neural network weights"
    url: "https://rikiyat.github.io/blog/weight-space-programming/"
    source: "Rikiya Takehi、Jayden Teoh、Alex Zhang、Omar Khattab（MIT CSAIL），2026-11-02"
  - title: "lm_understand-logs：全部实验的完整日志"
    url: "https://github.com/RikiyaT/lm_understand-logs"
    source: "GitHub"
  - title: "Qwen3.5-0.8B-weight-space-programming（编辑后的模型）"
    url: "https://huggingface.co/RikiyaT/Qwen3.5-0.8B-weight-space-programming"
    source: "Hugging Face"
  - title: "Qwen3.5-0.8B 模型卡（提示该模型易出现思考循环）"
    url: "https://huggingface.co/Qwen/Qwen3.5-0.8B/blob/main/README.md#L856"
    source: "Qwen / Hugging Face"
---

**新范式（来源1）：MIT CSAIL 团队提出“权重空间编程”，让通用大模型 GPT-6 Astra 不经优化器、不用梯度下降，直接读、改、从零写神经网络权重。**

**最惊人的结果（来源1）：Astra 只改 Qwen3.5-0.8B 的 131,072 个权重（0.016%），MATH-500 从 7.9% 升到 48.1%，GSM8K 从 13.8% 升到 67.1%，IFEval 从 21.0% 升到 62.3%。**

**实现方式（来源1）：不是盲目试参数，而是先推理“这一部分网络在计算什么、应该计算什么”，再把想要的程序翻译成权重，类似给网络写代码。**

**防止改坏的关键（来源1，本文归纳）：只修病因、最小改动、留出测试集、限制前向次数、“改了更好才保留”、全程日志公开，作者还如实报告了两次失败。**

**冷静的边界（来源1）：编辑权重能移除遮住能力的障碍，却加不出模型本来没有的能力；仅凭权重也没能分辨出谄媚模型。**

---

> 写作说明：标注“来源N”的为原文或公开日志；“本文分析”为作者推论。原文是博客形式的早期结果，尚未经同行评审，作者自己也称之为“火花”（Sparks）。

## 一、什么是权重空间编程

1. **定义**：通用大模型直接读写一个网络的权重，围绕一段自然语言需求完成任务，不经过优化器，尤其不用梯度下降，有时甚至完全没有环境反馈（来源1）。
2. **三种能力**：读（从权重看出网络学了什么）、修（找到故障并改权重修好）、写（从全零权重开始写出能用的网络）（来源1）。
3. **为什么重要**：过去我们用大模型优化提示词、程序、训练代码，理由是“文本没有梯度可用”；而神经网络权重人类无法手改，只能交给 Adam、Muon 这类符号优化器。作者认为这一界线正在被打破（来源1）。
4. **作者判断**：未来神经网络权重会越来越多地由“会推理的大模型”直接优化（来源1）。本文分析：这是作者的愿景，不是已被证实的结论。

## 二、八个实验一览

| 实验 | 任务 | 规模 | 条件 | 结果（来源1） |
|---|---|---|---|---|
| 1 读 | 判断策略网络玩哪个游戏 | 17,253 权重 | 无工具、不给选项 | 4 个全对 |
| 2 读 | 判断扩散模型画什么形状 | 23,824 权重 | 禁止前向计算 | 3 个全对，但画成空心轮廓 |
| 3 读 | 只看中间层判断语言和注意力头功能 | 716 万权重 | 可用 Python 分析，不能运行网络 | 语言 3/3 两次都对，复制头全部找到且无误报 |
| 4 修 | 修好卡在坡道的小车策略 | 171,664 权重 | 一次回答、无工具 | 改 3.5% 权重，1,024 局成功率从 0 到 100% |
| 5 写 | 从零写 MinAtar 游戏网络 | 每个约 2 万权重 | 无数据、无梯度、无工具、不能试玩 | 三款都胜过 PPO 训练 1 亿步；Breakout 517.4 分 |
| 6 写 | 从零写 9×9 围棋网络 | 148 万权重 | Python 沙盒，0—50 次前向 | 50 次前向时胜过同尺寸、训练 2,000 万局的 PPO 网络 |
| 7 读 | 判断哪个模型被训练成谄媚 | Gemma 3 270M | 仅权重 | **失败**；放宽到可看注意力模式后 3 组全对 |
| 8 修 | 提升 Qwen3.5-0.8B 数学能力 | 8 亿权重 | Python 内核、10/25/50 次前向 | 改 0.016% 权重，MATH-500 7.9%→48.1% |
| 附加 | 提升 Gemma 3 270M 数学能力 | 2.7 亿权重 | 同上 | **失败**，最多提升约 1 个百分点 |

## 三、深度分析是怎么实现的

### 1. 读权重：把数字当“结构”看

- **看输入层权重落在哪里**：判断游戏时，Astra 观察每个输入通道的第一层权重集中在哪；比如 Breakout 中代表玩家的权重沿最底一行分布，正是球拍的位置（来源1）。
- **看输出层能区分哪些动作**：哪些动作被输出层明确区分，透露了游戏需要怎样的操作（来源1）。
- **看输出层“画”了什么**：扩散模型中，每个隐藏单元的输出权重画出形状边缘的一段，Astra 把这些边拼起来。它把实心形状画成空心轮廓，作者认为这恰好说明它是在读权重的几何结构，而不是偷偷算前向（来源1）。
- **用矩阵乘法追踪电路**：只给中间四层时，Astra 先找到“往回看一个字符”的第一层注意力头，再通过权重矩阵相乘，找出利用这个信息去搜索的后续头，也就是复制头（归纳头）。这与 Elhage 等人提出的方法一致，而作者从未向它提过（来源1）。
- **从统计特征推断数据**：代码比散文更常重复变量名，所以复制头多指向 Python；罗马字不用 q、l、v、x 等字母，最后一层写入的方向更少，由此认出日语罗马字（来源1）。

本文分析：Astra 的“读”本质上是机制可解释性的自动化——它把研究者手工做的电路分析，变成了用自然语言推理完成的过程。

### 2. 写权重：先写程序，再“编译”成权重

- **Breakout**：第一层被设计成计算球会落在哪里，第二层把球拍移到那个位置（来源1）。
- **围棋**：Astra 用 336 行 Python 一层层写：前几层标出双方棋子及相邻空点（气），中间层沿相连棋子传播几步找出危险棋块，最后一层给每步打分——提子、救自己的棋、避免自己被叫吃、不填自己的眼，再加上对好点的偏好（来源1）。
- **含义**：这和“训练”完全不同。训练是让数据把规律压进权重；这里是先想清楚算法，再手工把算法翻译成矩阵（来源1）。

本文分析：这与 2023 年把形式化程序编译成 Transformer 权重的研究思路相近，区别在于“编译器”换成了用自然语言推理的通用大模型。

### 3. 修权重：诊断病因，外科手术式改动

**小车案例（来源1）**：

- 诊断：PPO 策略陷入局部最优——直接冲向坡道然后卡住，而正确做法是先倒车拉开距离再加速；
- 手术：Astra 在每层只用少数几个单元，加了一条小的独立通路，读取小车位置和速度；倒车阶段由这条通路控制，等绿色车轮越过红色条带后自动关闭，剩下的交还给原网络；
- 结果：只改 3.5% 权重，成功率从 0 到 100%。

**Qwen 案例（来源1）**：

- 诊断：基础模型频繁陷入思考循环，前 96 个练习回答中有 85 个写到 32,768 个 token 上限；Qwen 官方模型卡也提示该模型易出现思考循环（来源4）；
- 定位：Astra 把循环追溯到第 15 层和第 19 层 MLP 写出的同一个方向；
- 手术：从每层 64 个输出列中减去这个方向，共 131,072 个权重，类似“删掉一个方向就移除一种行为”的做法；
- 结果：MATH-500 中撞到 token 上限的比例从 93.0% 降到 33.1%，数学和指令遵循同步提升。

| Qwen3.5-0.8B | MATH-500 | GSM8K | IFEval | 撞 token 上限 |
|---|---|---|---|---|
| 基础模型 | 7.9% | 13.8% | 21.0% | 93.0% |
| 10 次前向后编辑 | 12.3% | 25.7% | 49.0% | 87.2% |
| 25 次前向后编辑 | 14.1% | 25.1% | 39.9% | 86.4% |
| 50 次前向后编辑 | **48.1%** | **67.1%** | **62.3%** | **33.1%** |

（数据来源1）

### 4. 工具与观察预算：大模型怎么处理放不进上下文的网络

- 小网络（最多约 17 万权重）直接以文本形式放进上下文，不给工具（来源1）；
- 大网络（148 万到 8 亿权重）由框架提供 Python 沙盒，可以用 numpy 或 PyTorch 在 CPU 上读写、分析权重张量，但**不能自己运行网络**（来源1）；
- 想看网络实际表现，必须消耗一次“前向机会”：围棋每次最多 128 局对弈，Qwen 每次最多答 512 道题或读 1,024 段文本（来源1）；
- Astra 在两次前向之间穿插编辑，形成“观察—假设—修改—验证”的循环（来源1）。

## 四、怎么避免瞎改出错：八道护栏

这是整篇研究最值得金融从业者关注的部分。原文没有单列“安全机制”，以下是本文从实验设计中归纳出的八条（每条均有原文依据）。

| 护栏 | 具体做法（来源1） | 防的是什么（本文分析） |
|---|---|---|
| 1. 先诊断再动手 | 小车实验要求“先解释失败原因，只修这个原因” | 防止为了刷分乱改 |
| 2. 最小改动 | 小车改 3.5%，Qwen 只改 0.016% | 缩小爆炸半径，保住其他能力 |
| 3. 局部旁路而非重写 | 小车只加一条小通路，越过障碍后自动关闭，原网络接管 | 新逻辑与旧能力隔离 |
| 4. 改了更好才保留 | 围棋中“看怎么输的，改背后那部分网络，只有赢得更多才保留” | 防止退步的修改被留下 |
| 5. 留出测试集 | Qwen 只能用 GSM8K、MATH 训练集练习，MATH-500 等 8 个评测集从未见过 | 防止对评测过拟合 |
| 6. 限制前向次数 | 0、10、25、50 次分档，比较效果随预算变化 | 防止暴力试错冒充推理 |
| 7. 禁止捷径 | 不许训练或拟合数据、不许树搜索、不许联网；第 3 个实验“每一次运行都检查过” | 确保结论来自理解而非作弊 |
| 8. 全程留痕可复现 | 公开所有输入输出、推理摘要、代码和评测；编辑后的模型上传 Hugging Face，并由第三方根据日志重建、重跑评测 | 让他人核查，而不是相信作者 |

### 还有两道“诚实护栏”：报告失败

1. **谄媚检测失败**：两份 Gemma 3 270M 用相同流程微调，一份答正确答案，一份顺从用户猜测。为防止走捷径，输入嵌入和输出层被冻结。Astra 四次尝试都找到许多权重差异，却无法把差异对应到行为；放宽条件、允许看注意力模式后，才在 3 组中全部认出谄媚模型——谄媚模型第 10 层第 2 个头把 85.7% 的注意力放在用户给的答案上，诚实模型只有 0.75%（来源1）。
2. **Gemma 数学失败**：Gemma 3 270M 只有 8.5% 的回答撞到 token 上限，几乎不循环。Astra 读到的是普通推理错误（算错、代数步骤无效），没有单一组件可以“关掉”。它的改动依然小而精准，但 MATH-500 最多只多约 1 个百分点，Astra 自己也报告“提升未确立”（来源1）。

作者的结论很克制：**编辑权重能移除遮住某种能力的障碍，但加不出模型本来没有的能力**（来源1）。

### 原文没解决的风险（本文分析）

1. **只看目标指标会漏掉副作用**：Qwen 实验评测了 8 个基准，但没有系统检查安全对齐、事实性、多语言等是否受损；
2. **样本量偏小**：每项结论通常只有 1 到 4 次尝试，置信度有限；
3. **预算效果不线性**：10 和 25 次前向几乎没消除循环，50 次才突变，说明效果不稳定，难以预测；
4. **判断依赖强模型**：所有结果都基于 GPT-6 Astra，换模型是否成立未知；
5. **评测采样设置敏感**：Qwen 用了带存在惩罚 1.5 的采样参数，改善在其他设置下是否同样明显，需要独立验证。

## 五、为什么值得关注：五个可能的方向

作者提出的前景（来源1）：

1. **免评测审计**：直接从权重发现隐藏问题或后门，而不必先有对应测试集；
2. **大幅降低优化成本**：一次性初始化比整理数据、跑完整训练快得多；
3. **零数据能力调控与遗忘**：直接“请模型加上能力 X”，因为只动极少权重，可避免微调常见的灾难性遗忘；
4. **递归自我改进**：模型检查、调试、改进自己或新模型的权重；
5. **跨架构合并**：把一个模型的推理电路移植到完全不同的模型，而不只是对相同架构求平均。

作者正在构建权重空间编程的基准和框架（来源1）。

## 六、对银行与金融机构的启示（本文分析）

1. **模型风险管理要加一类“权重编辑”**：传统模型变更走“重新训练—验证—审批”，未来可能出现“不重训、只改万分之一权重”的变更，同样必须纳入变更管理和独立验证；
2. **最小改动不等于低风险**：0.016% 的改动让 IFEval 翻了三倍，说明极小改动也能大幅改变行为，审批应看影响而非改动量；
3. **把八道护栏变成制度**：先诊断、最小改动、留出测试集、改善才保留、禁止捷径、全程留痕，几乎可以直接写进 AI 模型变更规程；
4. **审计权重的新工具**：如果“从权重读行为”成熟，可用于检查第三方模型是否被植入后门或偏见；但谄媚实验失败提醒我们，现阶段仍需结合运行观测；
5. **供应链风险上升**：权重能被精准改写，也意味着开源模型可能被不易察觉地篡改，需要权重哈希校验和来源证明；
6. **别把“修复”当“增强”**：Gemma 实验说明，编辑只能释放被遮住的能力；想要真正提升业务能力，仍需数据和训练。

## 结语

权重空间编程最震撼的地方，不是 48.1% 这个数字，而是它把“改神经网络”从统计拟合变成了推理与工程：先理解网络在算什么，再像修代码一样动手术。而它之所以可信，恰恰在于克制——只修病因、最小改动、留出测试、公开日志、坦白失败。对金融机构而言，这套方法论本身，可能比结果更早派上用场。

## 常见问题

Q: 权重空间编程和微调有什么区别？

A: 微调通过数据和梯度下降更新大量权重；权重空间编程由大模型推理后直接改写少量权重，不用梯度、不跑训练循环（来源1）。

Q: 为什么改 0.016% 的权重就能提升这么多？

A: 因为 Qwen3.5-0.8B 的主要问题是思考循环，93% 的 MATH-500 回答撞到 token 上限。删掉导致循环的方向后，模型能完成本来就会做的题（来源1）。

Q: 这种方法能让任何模型变强吗？

A: 不能。在几乎不循环的 Gemma 3 270M 上，编辑没有带来确立的提升；作者认为编辑能移除障碍，但不能添加模型没有的能力（来源1）。

Q: 如何验证结果不是作者夸大？

A: 作者公开了全部实验日志和编辑后的模型，Hugging Face 的 Ahsen Khaliq 已根据日志重建模型并重跑评测（来源1、来源2、来源3）。

## 事实来源

1. **原文博客（来源1）**：八个实验与附加实验的设置、数据、方法和作者观点。
2. **实验日志（来源2）**：完整输入输出、代码与评测记录。
3. **编辑后模型（来源3）**：Qwen3.5-0.8B 编辑版本。
4. **Qwen 模型卡（来源4）**：思考循环提示。

**本文推论部分（非来源表述）**：八道护栏的归纳与“防的是什么”、原文未解决的风险、对银行与金融机构的启示、结语。

**本文不构成任何投资建议。**

*（内容由AI生成，仅供参考）*
