Activation steering for language models

Activation steering changes a language model's internal activity during inference. Drowse applies adjustable interventions to compatible model layers so you can test how a concept, word, feature or unit affects a continuation without modifying the model's weights.

Concepts and fitted manifolds

A steering vector is a direction associated with a concept. Drowse represents these controls in one artifact family: the manifold. A two-pole concept such as formal.casual runs between its poles; a one-pole concept such as deceptive is measured from the model's own default answers, so a positive strength pushes toward it and a negative one past the default. Larger flat subspaces and curved manifolds describe several related concepts or positions.

Use the bundled concepts or build a manifold from labeled examples. The browser supports generating concept examples, extracting concepts, fitting manifolds, merging artifacts, and creating manifolds from completion templates. Fits belong to a particular model and must be compatible with the active runtime.

Compose an intervention

In the workbench, steering is built from chips above the composer: add a concept, a manifold position, a lens word, an SAE feature or a unit, then set its signed strength, the layers it acts at, when it acts (the prompt, the response, or the first or all but the first few tokens) and, optionally, a gate on a live probe's reading. A concept can also be kept along, or removed from, another, and any direction or unit can be removed. Agents, the HTTP APIs and Python write the same interventions as expressions.

For example, the expression below steers the model away from its deceptive direction and toward warmth. The values illustrate the syntax; useful strengths depend on the model, the fitted artifact, the prompt, and the behavior you want.

-0.5 deceptive + 0.3 warm

Steer words, features, neurons and heads

A lens word steers toward the model saying a token (its R-lens direction, jlens/) or toward having read it (its S-lens footprint, slens/). A compatible sparse autoencoder exposes learned feature directions to steer along. These controls share the workbench with concept steering, but their strengths and readout units differ. A feature description is an interpretation of that feature, not a guarantee about the resulting text.

On Gemma 3 and Qwen3 models you can also steer a single unit: push a neuron along what it writes, or silence a neuron or an attention head by replacing its activity with its mean. GPT-2, Pythia and Qwen 3.5 2B Base don't support unit steering.

Compare behavior before drawing conclusions

Start with an unsteered baseline and compare branches with the same model, prompt, parent, and sampling settings. Strong interventions can cause repetition or incoherent output. Prompt instructions, sampling settings, and activation steering affect different parts of generation; a saved recipe is not a fine-tuned model. A probe named deceptive measures a fitted direction; it does not verify whether a statement is true.

Read this page as Markdown