End result: load a ~17GB Qwen 3.8 27B quant, paste a wall of floats from a tiny RL policy, and the model names the game those weights were trained on. No tools. No code runner. Same weight-space read the MIT post demoed on frontier APIs – except this one finishes offline on hardware you own.
Local-LLM threads lit up in early November 2026 for a boring reason: people assumed this trick needed GPT-class cloud. Turns out a consumer GGUF clears it. You pay in time and settings, not tokens.
60-second background
Sparks of Weight-Space Programming (Takehi, Teoh, Zhang, Khattab – MIT CSAIL, 2 Nov 2026) coined the frame: LLMs reading and writing raw weights as text. Experiment 1 keeps the architecture fixed – MLP 500→32→32→5, 17,253 weights – and trains separate PPO policies on simplified 10×10 Breakout, Pong, Pac-Man, and Freeway. Prompt is floats plus “which game?” Nothing else.
Self-contained prompts and logs sit in RikiyaT/lm_understand-logs. Simon Willison’s laptop traces (3 Nov 2026) are the ones most people copied: Pac-Man correct in 46m12s with 43,506 reasoning tokens at 72% confidence; Pong ~65m / 75%; Breakout ~52m / 88%; Freeway wrong. His write-up is on simonwillison.net.
Method A vs Method B
| Approach | Stack | Breakout-class time | Cost / privacy | Friction |
|---|---|---|---|---|
| A – Cloud | OpenRouter or vendor API | ~10 min (Kimi K3.1 Pro ~9m41s / ~19k reasoning tokens in Willison’s run) | Pay-per-token; weights leave the machine | Keys, rate limits |
| B – Local Qwen 3.8 27B | LM Studio (or Ollama) + Q4_K_M ~16.5-17GB + optional llm + llm-lmstudio |
~45-65 min / 40k+ reasoning tokens on laptop-class boxes | Free after download; offline | RAM/VRAM, context length, client timeout |
Pick A if you only need the label tonight. Pick B if the point is “my machine did frontier-framed interpretability.” Rest of this page is B.
Weird feeling, staring at seventeen thousand floats and waiting for a 27B model to shrug and say “Pac-Man.” It’s less magic than watching someone sort signal from noise with a long pencil – channel peaks, paddle rows, maze-ish structure – just automated and slow.
Walkthrough: local weight reading
Goal: one prompt file in, game name + confidence out.
1. Hardware
Qwen3.8-27B: dense ~27B, Apache 2.0, released ~14 Aug 2026 (Hugging Face model card). Q4_K_M GGUFs from lmstudio-community / Unsloth usually land ~16.5-17GB. As of the early Nov 2026 public traces, 24GB VRAM or ~32GB unified memory is the zone where you’re not constantly offloading. Tighter boxes run; they crawl. Native context is 262k-class – you won’t fill it, but you need way past an 8k default for these dumps.
2. Runner + model
- Install LM Studio.
- Search
Qwen3.8-27B/qwen/qwen3.8-27b, pull Q4_K_M (~17GB). - Load it. Raise context length before any weight prompt – leave the stock 8192 and the dump errors out.
- Optional: Simon’s
llmCLI +llm-lmstudioso the local server is a one-liner from the terminal.
Pro tip: Send a one-line ping after load. Confirm answers and that memory isn’t thrashing. Then paste the novel.
3. Prompt files
Weights already inlined (no game name in the text):
https://raw.githubusercontent.com/RikiyaT/lm_understand-logs/refs/heads/main/exp1_which_game/runs/pacman/prompt.txt
https://raw.githubusercontent.com/RikiyaT/lm_understand-logs/refs/heads/main/exp1_which_game/runs/breakout/prompt.txt
https://raw.githubusercontent.com/RikiyaT/lm_understand-logs/refs/heads/main/exp1_which_game/runs/pong/prompt.txt
https://raw.githubusercontent.com/RikiyaT/lm_understand-logs/refs/heads/main/exp1_which_game/runs/freeway/prompt.txt
4. Run
Chat UI: paste full text, enable thinking if you want the long trace, send, leave.
CLI (Willison-style):
LMSTUDIO_TIMEOUT=900
llm -f https://raw.githubusercontent.com/RikiyaT/lm_understand-logs/refs/heads/main/exp1_which_game/runs/pacman/prompt.txt
-m lmstudio/qwen/qwen3.8-27b
Without a high timeout the client dies mid-trace. On laptop hardware, Pac-Man-class jobs sat near ~46 minutes and ~43k reasoning tokens in those early Nov 2026 runs; Breakout/Pong were the same ballpark. Cloud did the same style of task roughly 4-5× faster in the published comparison – still the same prompt shape.
Done looks like: a short final block with the game name, a paragraph on behavior, a confidence %. The chain-of-thought reads like muttering about peaks on row 8. Messy. Directional.
Edge cases that burn an evening
- Context still at 8192 – hard fail on the dump. Raise first; don’t debug the model.
- Default client timeout – multi-tens-of-minutes reasoning needs something like
LMSTUDIO_TIMEOUT=900(or the UI equivalent). Simon hit the plugin limit and documented it. - Overthinking tax – Qwen 3.8 27B likes long thinking. For game-ID that’s useful; stacking three parallel jobs on a 32GB box is how you thrash.
- Freeway-class misses – paddle/ball/maze patterns read cleaner than obscure crossing dynamics. Public local traces: three correct, Freeway called Pac-Man-like. Expect uneven skill, not a clean 4/4.
- Random lower quants – stick to known Q4_K_M builds (lmstudio-community / Unsloth). Aggressive quants can smear the float patterns this task leans on.
This demo is read-only on small MLPs. The paper also sketches weight editing; that’s a different setup and not what the laptop game-ID run proves.
FAQ
Do I need a 24GB GPU?
No. ~17GB weights fit where you can offload. You’ll wait longer – sometimes multi-hour longer.
Why Freeway failed when Pac-Man worked?
Same MLP shape, different structure in the numbers. Paddle, ball, and maze motifs show up as concentrated input-channel patterns the model can narrate. Freeway’s crossing dynamics showed up less cleanly in the public trace, so Qwen snapped to a Pac-Man-like grid story. Validating the method? Start with Breakout or Pac-Man prompt.txt, not Freeway.
Is this superhuman weight programming?
No. For no-tools game-ID it’s strong continuous-pattern reading under a long reasoning budget – flashy on a 17GB local file, not a replacement for real interpretability tooling. A careful human with a notepad could chase the same channel peaks; the model just doesn’t get bored. Use it for privacy-sensitive toy-MLP experiments. Don’t skip evals when you jump to production checkpoints.
So what is local weight-reading actually for on your desk – party trick, red-team probe for leaked policies, or a stubborn offline lab habit? Depends how you log the next run.
Next action: download Q4_K_M Qwen 3.8 27B in LM Studio, raise context, pull Pac-Man prompt.txt, start one run before tweaking anything else. Match your final game line to Willison’s trace, then try Breakout cold.