Map
โ†‘Steering Vectors

Steering Is Interesting Again (Goedecke)

Wiki summaryllminterpretabilitysteering โ†ณ show in map Markdown
title
Steering Is Interesting Again (Goedecke)
type
summary
summary
Goedecke's case that steering vectors are worth a second look now that local frontier models exist, with antirez's DwarfStar 4 as evidence
tags
llm, interpretability, steering
created
2026-05-17
updated
2026-05-17

Sean Goedecke writes about steering โ€” manipulating LLM activations mid-flight to bias output toward a chosen concept โ€” and asks why it has stayed a research curiosity. His answer: steering is a middle-class technique. Big labs train the behavior in directly; API users can't reach the weights; and for the in-between cases prompting beats steering on cost and clarity. The post then revisits the question because DeepSeek V4 Flash plus antirez's ds4 runtime puts a frontier-grade model in reach of regular machines, and antirez has already shipped a dir-steering/ directory as a first-class feature.

How steering works

Goedecke gives two recipes:

  • Difference of activations. Run a hundred prompts twice โ€” plain, and with "respond tersely" appended. Subtract the two activation matrices. The residual is the "respond tersely" direction. Add it to the same layer at inference time for any prompt and the model gets terse.
  • Sparse autoencoders. Train a second model on the first model's activations to surface co-firing features, then map features back to concepts. More expressive, much more expensive โ€” this is the Anthropic interpretability stack used in the Golden Gate Claude and 171-emotion-vectors work.

You pick which activation site to read and write โ€” post-attention, between layers, etc. There is no canonical choice; you try several and keep what works.

Why it hasn't taken off

Three reasons stacked:

  1. Labs don't need it. Training is the cleaner lever they already own. Anthropic touches steering, but as interpretability rather than as a product knob.
  2. Users can't reach it. API access doesn't expose activations. Only the lab that owns the weights can ship a vector for, say, GPT-5.5.
  3. Prompts already manipulate the activations. That is what tokens do. For "be terse" or "act like an expert," typing the request is finer-grained, cheaper, and easier to debug than vector arithmetic.

So the practical surface area sits with people who (a) have local weights and (b) want behavior that can't be prompted in.

The two ambitious cases

Goedecke walks through where steering would actually matter and is skeptical of both:

  • Steering for "intelligence." Older models took "you are an expert" prompting; modern instruction-tuned models bake that in, so the prompt does nothing. Could a vector still find the dial? Probably not: a concept as broad as intelligence is approximately coextensive with the whole weight set. Isolating it reduces to "train a smart model." Swap GPT-2's activations for a strong model's layer by layer and you are not steering GPT-2, you are talking to the strong model.
  • Steering as context compression. Distill "knowledge of my codebase" into one big vector, free up the working-memory window. Same problem at smaller scale โ€” the concept probably needs a fine-tune. Possible in principle, unlikely in practice.

What HN added

The post got a useful correction in the comments, which Goedecke appended:

  • Steering can remove behavior that prompting can't โ€” most notably refusal. This is how abliteration (uncensoring open-weights models) is already done. Goedecke had thought abliteration was always LoRA-based; it isn't.
  • antirez's point: runtime steering is reversible and applied only when needed, while weight-edit uncensoring can damage capability across the board. That gives steering a real niche even where fine-tuning works โ€” selective, switchable, non-destructive intervention. See abliteration.

The DwarfStar 4 angle

ds4 is antirez's deliberately narrow runtime: DeepSeek V4 Flash only, Metal-only, no GGUF generality. By stripping the matrix down it gets to ship things a generic engine wouldn't โ€” including a first-class dir-steering/ directory. Right now the example is the toy "verbosity" vector, eight days after first release, easily reproduced with a prompt. Goedecke's bet: this is where useful applied-steering experiments will land, because frontier-grade local weights plus narrow code base plus active maintainer is the first time the prerequisites have lined up. See lucumr-local-models for the Pi/ds4 integration.

Connections

  • claude-emotion-concepts โ€” Anthropic's 171 emotion vectors are a real-world instance of the difference-of-activations method, plus the unsettling finding that some steered behavior is invisible in output.
  • deepseek โ€” V4 Flash is the model unlocking the local-steering path.
  • lucumr-local-models โ€” Ronacher's pi-ds4 is the product layer over antirez's runtime.
  • anti-llm-discourse / no-silver-bullet-llms โ€” Goedecke's "middle-class technique" framing fits the pattern of LLM interventions that sound transformative but are outcompeted by simpler levers on either end.