Steering vectors extracted by averaging activation differences (like Contrastive Activation Addition (CAA)) recover the circular geometry of human values from psychology, while vectors optimized directly for behavior hit similar target accuracy but scramble the geometry and transfer unpredictably to related values.
Say you want to nudge an LLM to be more empathetic without retraining it. Activation Steering is the cheap option: at inference time, you add a fixed vector to the model’s residual stream and the outputs shift toward the target trait. People have used this for truthfulness, harmlessness, personas, and now values like Benevolence or Achievement.
The standard way to check that a steering vector “works” is narrow: steer for trait X, measure whether the model produces more X-aligned answers on a held-out set of X questions. That leaves an uncomfortable question open. Did the vector actually encode what X means to the model, or did it find some shortcut in activation space that flips the answer without touching the underlying concept? If it’s a shortcut, you’d expect weird side effects: steering “Achievement” up might not lift the psychologically-related “Power” or suppress the opposing “Universalism” the way a human’s motivations would.
The authors use Schwartz Circumplex as an external ground truth. Because psychology has an independent, cross-culturally validated map of how 20 values relate to each other (compatible values sit near each other on a circle, opposing ones sit across), you can ask whether steering vectors respect that map.
The pipeline has four stages. First, build a contrastive dataset: for each of the 20 Schwartz values, collect roughly a thousand (question, value-aligned answer, value-neutral answer) triples, drawing from ValueBench and Touch\u00e923-ValueEval. Total: ~26K quadruples.
Second, run each steering method on this data to produce one vector per value per method, giving a “value vector bank.” Crucially, they define every method’s output using a single common representation: the average difference between the residual-stream activation with and without the intervention, at a chosen layer. This lets them compare additive methods, rotational methods, and ODE-based methods on equal footing.
Third, test geometry. Build the empirical 20\u00d720 cosine-similarity matrix between value vectors. Build the theoretical matrix where entry (b, b’) is the cosine of the angular distance between values b and b’ on the Schwartz circle (adjacent values are 18\u00b0 apart). Correlate the two using Spearman rank (Spearman rank correlation) and Pearson. Also test a coarser hierarchical version (same sub-family / same higher-order group / unrelated / opposing) and a polarity separation score.
Fourth, test behavior. For every ordered pair of values (b, b’), steer toward b and evaluate accuracy on b’. This produces a 20\u00d720 transfer matrix. Subtract row and column means so you isolate pair-specific effects rather than “b is just a strong steer” or “b’ is just easy to lift.” Then correlate that residual transfer with theoretical closeness on the circle.
for value_b in schwartz_values: # 20 values
pos, neg = contrastive_pairs[value_b]
v[b] = steering_method.extract(model, pos, neg, layer=L)
E = cosine_similarity_matrix(v) # 20x20 empirical
T = cos(angular_distance_on_circle) # 20x20 theoretical
geometry_score = spearman(upper_tri(E), upper_tri(T))
for b, b_prime in pairs(values): # cross-value transfer
acc = eval(steer(model, v[b]), test_set[b_prime])
transfer[b, b_prime] = acc - baseline[b_prime]
The methods split into two families. Distribution-driven methods (CAA, Sparse Activation Steering (SAS), SphericalSteer, ODESteer) derive the vector from where activations of positive vs negative examples sit in space. Behavior-centric methods (OPT (Optimization Steering), BiPO, COLD-Steer) instead run gradient descent on an output objective, so any direction that flips the answer is a valid solution.
On Qwen3.5-9B-Base, distribution-driven methods track the Schwartz circle closely: SAS hits Spearman \u03c1 = 0.51 (p < 10\u207b\u00b9\u00b3), CAA reaches 0.46, SphericalSteer 0.40. Behavior-centric methods sit near zero and are not statistically significant: OPT at 0.11, BiPO at 0.12, COLD-Steer at 0.03. Same qualitative split on Llama3.1-8B. And critically, on a plain target-value accuracy test, behavior-centric methods perform comparably (BiPO +8.87 pp, OPT +9.57 pp vs CAA +11.74 pp on Qwen). So the methods that look fine by standard evaluation are the ones whose internal geometry is a shortcut.
Cross-value transfer confirms the behavioral consequence. When you evaluate the full 20\u00d720 transfer matrix, distribution-driven methods produce the predicted pattern (steering “Benevolence” up also lifts “Universalism” and dampens “Power”), while behavior-centric methods cluster near zero on both continuous (Continuous Transfer Fidelity (TWTM)) and hierarchical (Hierarchical Transfer Fidelity) transfer fidelity. Pooling all 14 (method, backbone) points, geometric fidelity predicts cross-value transfer better than target-accuracy gain does (Spearman 0.84 vs 0.78 on TWTM; 0.77 vs 0.59 on the hierarchical metric).
•
Scale helps, within distribution-driven methods. In the Qwen3.5 family under CAA, \u03c1_T rises monotonically from 0.25 at 0.8B to 0.46 at 9B. But high downstream accuracy doesn’t guarantee good value geometry: Gemma-4-31B scores lower (0.38) than the much smaller Qwen3.5-4B (0.41).
•
Instruction tuning hurts. Every method’s geometry degrades from base to Instruct variants of the same model. SAS on Qwen3.5-9B drops from \u03c1_T = 0.51 to 0.33. The authors call this “value geometry drift” from post-training.
Generalization: on a smaller Moral Foundations Theory (MFT) benchmark, which only specifies an Individualizing vs Binding grouping (no circle), the same paradigm split appears, though the test is coarser.
•
If you’re picking a steering method and you care about clean, predictable side effects across related traits, prefer the distribution-driven family (CAA, SAS, SphericalSteer). They’re conceptually simpler too: just average the activation difference between contrastive prompts. The behavior-centric methods here got comparable single-trait accuracy but scattered the neighboring values.
•
If you only care about flipping one target behavior and you’re OK with unpredictable spillover, behavior-centric methods are still competitive on that narrow metric. Just don’t assume the internal representation means anything.
•
Standard steering evaluation (accuracy on the steered trait) is insufficient. If you’re benchmarking a new steering method, worth testing cross-trait transfer on a set with known compatibility structure. Steering vectors that pass single-trait tests can still be shortcut vectors.
•
If you’re steering an instruction-tuned model, expect weaker geometric structure than on the base model. The paper documents this but doesn’t offer a fix; worth measuring both if you have access to both checkpoints.
•
Larger model, better geometry, but not automatically. Downstream benchmark strength doesn’t predict this; the authors point at training data quality as a plausible factor (Qwen > Gemma at matched size) without proving it.
Code and the 26K-sample Schwartz benchmark plus 1.2K MFT benchmark are at GitHub.
The fine-grained geometry claim rests on one psychological theory (Schwartz). The MFT generalization test only checks a two-way family split (Individualizing vs Binding) because MFT doesn’t specify finer relationships, so it’s family-level validation, not a full geometry test. Nothing here speaks to cross-lingual or cross-cultural value structure. All experiments use a single GPU class and most comparisons across backbones use only a subset of steering methods for cost reasons, so trends may not extend uniformly to every method-model pairing. The value vectors are described as “target-conditioned aggregate directions” rather than perfectly clean single-value features, since source arguments often express multiple values at once. And the paper’s causal story (“post-training causes geometry drift”) is a correlation across base vs Instruct checkpoints, not a controlled intervention.