# MIT CSAIL researchers use GPT-6 Astra to edit Qwen3.5-0.8B weights and fix reasoning loops

> Original title: 让 GPT-6 Astra 改 Qwen3.5-0.8B 0.016% 权重，就能修掉死循环，数学能力最高提升 ~6 倍、指令遵循提升 ~3 倍

- Source: meng shao
- Published: 2026-11-03T00:45:13.000Z
- Bad Influence: https://badinfluence.news/items/h3fnp01em5bxmipinjn3lwyen
- Original: https://x.com/shao__meng/status/2117417782585541109

## Summary

The author relays MIT CSAIL research on Weight-Space Programming, where GPT-6 Astra reads and edits neural network weights from natural-language goals without gradients or training loops. In one experiment, Astra changed about 0.016% of Qwen3.5-0.8B's weights, lifting MATH-500 from 7.9% to 48.1%, GSM8K from 13.8% to 67.1%, and IFEval from 21.0% to 62.3%. The source says the edit removes an obstacle to existing abilities rather than adding new capabilities.

## Why it matters

The post shows how editing 0.016% of Qwen3.5-0.8B's weights removed a reasoning loop and raised MATH-500 from 7.9% to 48.1%, a concrete case of weight-space editing.

## Post

让 GPT-6 Astra 改 Qwen3.5-0.8B 0.016% 权重，就能修掉死循环，数学能力最高提升 ~6 倍、指令遵循提升 ~3 倍

来自 MIT CSAIL 的研究者们，发现一种新能力「Weight-Space Programming（权重空间编程）」：不靠梯度、不写训练循环，让通用前沿模型（GPT-6 Astra）对着自然语言目标，直接读或改神经网络的权重数字。早期结果覆盖「认行为」「修故障」「从零写小策略网」，以及给 Qwen3.5-0.8B 改约 0.016% 权重后，MATH-500 从 7.9% 提到 48.1%，指令遵循也跟着涨。作者们认为：以往 Adam / Muon 这类小符号优化器塞进的是人的粗糙先验，下一步可能是 LLM 有意推理权重本身。

https://rikiyat.github.io/blog/weight-space-programming/

和现在的做法差在哪？
大家早就让 LLM 改提示词、改 harness、改训练代码和超参；理由常常是「文本不好用梯度爬」。权重一向留给可微优化或专门训出来的「写权重」网络。这篇主张：推理驱动的优化已经伸进可微网络的权重里，有时甚至完全没有环境反馈。

能读：只看权重猜行为
· 四个同结构 PPO 策略（17,253 权重，10×10 格、同一动作集），Astra 从原始权重文本猜出分别是 Breakout / Pong / Pac-Man / Freeway；靠的是首层权重落在哪一行、输出层怎么分动作等。
· 三个小扩散模型（圆/方/三角），不跑前向也能从权重认出形状；它画出的是轮廓，说明更像在读几何结构，而不是偷算一遍生成。
· 三个 7.2M 字符级语言模型，拿掉输入输出层只留中间四块 Transformer：仍能区分 Python / 罗马字日语 / 英语，并准确标出全部 copying（induction）头，且没把别的头误标成这类头，推理里还自己推到了类似 Elhage 等人的权重组合分析。

能改、能写
· Kinetix 上坡车：PPO 卡在「直冲坡」局部最优；Astra 一次回复改约 3.5% 权重，1024 局里成功率从 0 到 100%，加了一条读位置与速度的旁路，倒车蓄力后再交给原策略。
· MinAtar 三款游戏：无数据、无梯度、不让环境 rollout，一次性写出权重；分数压过训了 1 亿步的 PPO，Breakout 上相对 5 亿步 PPO 还高一个数量级。思路是把「程序」编进层：例如先算球落点，再驱动挡板。
· 约 148 万参数的 9×9 围棋网：权重进不了上下文，用 Python 沙箱读写张量；0 次前向就能打过更小的 PPO，50 次前向（每批最多 128 局练习）可打过同规模、训过约 2000 万局的 PPO。写法像手写小程序：气、危险棋串、提子/救子/禁入眼，再按练习失败改对应部位。

放大到语言模型
· 谄媚检测：两份同设置微调的 Gemma 3 270M（嵌入与输出层冻结），只看权重分不出谁谄媚；放开「自写文本上看注意力模式」后，三次都能挑出谄媚方，并指出中层头更盯用户暗示答案。
· 修好 Qwen3.5-0.8B 的思考死循环：模型卡本就警告该设定易循环。Astra 在 Python 里对着权重工作，用 GSM8K/MATH 练习题做有限前向（10/25/50），定位到第 15、19 层 MLP 写出的某个方向，从各 64 个输出列里减掉——共改 131,072 个权重（0.016%）。50 次前向前：MATH-500 7.9→48.1，GSM8K 13.8→67.1，IFEval 21.0→62.3，顶满 token 上限比例 93%→33%。
· 对照：不怎么循环的 Gemma 3 270M 上，失败是普通算错与非法代数步，找不到可拧掉的单一障碍；小改几乎不动 MATH-500。作者点明：权重编辑更像去掉挡住已有能力的障碍，还不等于凭空注入模型没有的能力。

他们展望什么
不跑评测就审计隐藏能力或后门；一次性初始化降低训练成本；少数据甚至零数据地转向/遗忘能力且少伤全身；递归自改进从「写启动训练的代码」变成「直接改权重」；跨架构嫁接电路而不只是同构平均。同时承认：上下文与 harness 仍很笨，正在做基准与 harness，要把「黑魔法」收成可复现工程。

## AI translation

Steering GPT-6 Astra to edit 0.016% of Qwen3.5-0.8B's weights can fix the infinite loops and raise math ability by up to ~6x and instruction following by ~3x

Researchers at MIT CSAIL have discovered a new capability called "Weight-Space Programming": without gradients or training loops, a general frontier model (GPT-6 Astra) is given a natural-language goal and directly reads or edits the numerical weights of a neural network. Early results cover "recognizing behavior," "fixing faults," and "writing small policy networks from scratch." After editing about 0.016% of Qwen3.5-0.8B's weights, MATH-500 rose from 7.9% to 48.1%, and instruction following improved as well. The authors argue that small symbolic optimizers like Adam and Muon embed coarse human priors, and the next step may be LLMs deliberately reasoning over the weights themselves.

https://rikiyat.github.io/blog/weight-space-programming/

How is this different from current practice?
People have long had LLMs edit prompts, harnesses, training code, and hyperparameters, often on the grounds that "text is hard to climb with gradients." Weights have been left to differentiable optimization or to specially trained "weight-writing" networks. This paper argues that inference-driven optimization has reached into the weights of differentiable networks, sometimes with no environment feedback at all.

Reading: guessing behavior from weights alone
· Four PPO policies with the same architecture (17,253 weights, a 10×10 grid, the same action set): Astra guessed from the raw weight text that they were Breakout / Pong / Pac-Man / Freeway, relying on cues such as which row the first-layer weights concentrate on and how the output layer divides up the actions.
· Three small diffusion models (circle / square / triangle): without running a forward pass, it identified the shapes from the weights. The outlines it drew suggest it was reading geometric structure rather than secretly running generation.
· Three 7.2M-parameter character-level language models, with the input and output layers removed so only the middle four Transformer blocks remain: it still distinguished Python / romanized Japanese / English, correctly flagged all the copying (induction) heads without mislabeling other heads, and in its reasoning arrived at something similar to the weight-composition analysis of Elhage et al. on its own.

Editing and writing
· Kinetix hill-climbing car: PPO was stuck in the local optimum of "drive straight up the hill." In one reply Astra edited about 3.5% of the weights, raising success over 1024 episodes from 0% to 100%. It added a bypass that reads position and velocity, reverses to build momentum, and then hands control back to the original policy.
· Three MinAtar games: with no data, no gradients, and no environment rollouts, it wrote the weights in one shot. Its scores beat a PPO trained for 100 million steps, and on Breakout it was an order of magnitude higher than a PPO trained for 500 million steps. The idea was to encode a "program" into the layers: for example, first compute where the ball will land, then drive the paddle there.
· A 9×9 Go network with about 1.48 million parameters: the weights cannot fit into the context, so it used a Python sandbox to read and write the tensors. With zero forward passes it beat a smaller PPO; with 50 forward passes (up to 128 practice games per batch) it beat a PPO of the same size trained on about 20 million games. The style resembles hand-writing a small program: liberties, dangerous chain-groups, captures, rescues, and forbidden eye-making moves, then revising the corresponding parts according to practice failures.

Scaling up to language models
· Sycophancy detection: for two Gemma 3 270M models fine-tuned under identical settings (embedding and output layers frozen), looking only at the weights could not tell which one was sycophantic. After allowing inspection of attention patterns on self-written text, it picked out the sycophantic model in all three trials and pointed out that middle-layer heads attend more to hints in the user's message about the expected answer.
· Fixing the thinking loops of Qwen3.5-0.8B: the model card already warns that this configuration is prone to looping. Astra worked over the weights in Python, using GSM8K/MATH practice problems for limited forward passes (10/25/50), located a direction written by the MLPs of layers 15 and 19, and subtracted it from 64 output columns each, editing 131,072 weights in total (0.016%). Before the 50 forward passes: MATH-500 7.9→48.1, GSM8K 13.8→67.1, IFEval 21.0→62.3, and the share of responses hitting the token limit fell from 93% to 33%.
· Control: on Gemma 3 270M, which loops less, failures were ordinary arithmetic mistakes and invalid algebraic steps, with no single obstacle that could be removed; small edits barely moved MATH-500. The authors point out that weight editing looks more like removing obstacles that block existing abilities, and does not yet amount to injecting capabilities the model lacks.

What they envision
Auditing hidden capabilities or backdoors without running evaluations; reducing training costs through one-shot initialization; redirecting or erasing abilities with little or no data while minimizing damage to the rest of the model; recursive self-improvement shifting from "writing code that launches training" to "editing weights directly"; and transplanting circuits across architectures, not just averaging within identical ones. They also acknowledge that context and harnesses are still clumsy; they are building benchmarks and harnesses to turn this "black magic" into reproducible engineering.

![](https://badinfluence.news/api/img-proxy?u=https%3A%2F%2Fpbs.twimg.com%2Fmedia%2FHWKUPYbasAAvO89.jpg&mode=thumb&exp=1793923200&sig=98581f50a39e6dda)

## Quoted post @rikiyatakehi

> We asked GPT-6 Astra to edit Qwen3.5-0.8B weights to improve math.
> It directly changed only 0.016% of weights, fixing 0.8B's reasoning loops & improving math up to 6x and even instruction following 3x, without gradients or training.
> 
> We call this Weight-Space Programming: frontier LLMs can now natively read/write neural network weights! 🧵
> Blog: https://rikiyat.github.io/blog/weight-space-programming/

https://x.com/rikiyatakehi/status/2117313742891327994
