activation steering
Activation steering controls a model's behavior at inference by adding a fixed direction vector to its hidden activations, no weight updates required. Imagine nudging the model's internal state a small step toward truthfulness, or away from refusal, while it is mid-generation. Because the intervention lives in the residual stream rather than the prompt, it can shift tendencies that prompting struggles to reach and can be dialed up or down continuously.
A steering vector is typically built by contrast: run the model on paired prompts that differ only along a concept, say honest versus deceptive completions, and take the difference of their mean activations at a chosen layer; that difference points along the concept axis. At inference you add a scaled copy of this vector to the residual stream at that layer, which biases the linear readouts downstream toward the desired concept. Vectors can also come from sparse-autoencoder features or be optimized directly.
It is cheap, reversible, and composable, making it attractive for safety patches and for probing which concepts are linearly represented. The limits are that steering is a blunt instrument: too large a coefficient degrades fluency, vectors found on one distribution can fail or backfire on another, and a single direction rarely captures a concept cleanly, so it is best treated as a controllable hypothesis about representation rather than a robust guardrail.
At layer L the residual gets a scaled steering vector v, here the mean-activation difference between positive and negative concept prompts.