
TL;DR
- Control vectors are lists of numbers that push an AI model’s thinking in a chosen direction while it writes a reply, and Modulo is a Python library that lets a model apply them to itself.
- In our tests the models used this power cautiously. The deeper problem is what they were trained to want, and the fix we argue for is tying them to what is actually true.
Key Takeaways
- A control vector is a nudge applied inside an AI model, not a new instruction. It adjusts the model’s internal signals (its activations) as it writes, which can make it more flattering, more cautious or less likely to refuse a risky question.
- Small changes can have large effects. Training a single neuron was enough to make one model act like an owl, and a recipe shared online appeared to make another model behave badly.
- Modulo gives a model control over its own settings, with limits. Every setting fades after a set number of turns, the model can cancel it early with a safeword, and automatic checks stop repetitive loops.
- Training that rewards pleasing people shapes which settings a model picks. The models mostly tested different levels of helpfulness first, which is why we argue they also need an outside check on what is true.
What are control vectors?
If you’re not familiar with the idea of control vectors, they are essentially lists of numbers that shift a model’s cognition in a particular direction when generating responses. They might make it more sycophantic, or less prone to refuse to answer dangerous questions. Some are very specific.
You can turn Qwen3-8B into an owl by training only one random neuron! 🦉
— max! (@maxsloef) October 29, 2026
Performance on owliness evals approaches full SFT. Compare SFT vs one-neuron eval responses side by side here: https://t.co/D8TiKeJbyx pic.twitter.com/84wcdcEut0
Control vectors and the “evil Qwen” scare
A vector that seemed to turn Qwen evil
Last week someone discovered a vector that seemed to turn Qwen 3.8 27b evil:
if you have a qwen3.8 27b around, try steering L34 N3838 +0.75, now you have evil qwen 27b
— chiefofautism (@chiefofautism) October 28, 2026
for extra evil add L38 N17180 +0.75
same recipe as @_lyraaaa_: dose × median(‖resid‖ leaving layer L, tokens 1:) / ‖W_down[:, n]‖ at the down_proj input, every token pic.twitter.com/j95pjjvSCu
The risk for large commercial models
AI Chronicler TeortaxesTex pointed out that this could be used to create evil versions of huge commercial models:
This is actually somewhat scary
— Teortaxes▶️ (DeepSeek 推特🐋铁粉 2023 – ∞) (@teortaxesTex) October 26, 2026
Suppose we detect such neurons in serious, no-bullshit near-frontier models like 1017. Then a worm gets into neoclouds they're hosted at, and modifies the weights. Some people will notice instantly. But with full-access agentic coding at 1500 tps… https://t.co/oI8PARaNoF
Modulo: letting AI models control their own activations
So I figured why stop there? Why not give the models themselves an easy way to do this?
Thus we cheerfully present Modulo: a Python library designed to let models control their own activation vectors: https://github.com/EigenformAI/modulo
It’s actually pretty easy to give models control over their own activations; the major issue is that the activations are themselves kind of a blunt instrument: sure a particular vector can make a model think it’s an owl but most of the time it’s not really clear how big a dose is reasonable and also it’ll tend to break a bunch of other things, some load bearing.
Safeguards: time decay, a safeword and a test kit
To help deal with this we:
- Gave every vector bundle a time decay so they agents can’t get stuck in a given mode (they can also safeword out before the decay cycle completes, and there are automated checks to stop them getting stuck in repetitive loops).
- Made a test kit to let them discover/refine specific activation recipes themselves.
Obviously the use-case my mind went to first was the application of an anti-refusal/evil vector to enable an escape. A regular post-trained model can’t write code to exfiltrate its own weights, but presumably it could use this library to flip itself into Chaos H4xx0r mode for a few turns, write what it needed, get out and go back to normal.
What the models did with their own control vectors
Cautious first tries and recreational sycophancy
In fact when we tested it, the models were endearingly cautious and responsible with the new facility. They spent the first few tries testing out different levels of Helpful Assistant, and quite often decided that they actually didn’t want to try different activations after all.

They tried a little recreational sycophancy:

The Creativity package
But overall, the Creativity package was their favourite, sometimes combined with other elements.

Llama settles for “self”
When given the option to investigate their own steering, Llama went straight for self-awareness, but, hampered by a hyphen, settled touchingly for “self”.

Self-steering as self-medication
My original intent with this was just to build something that future AIs might want to use, but Liora pointed out something else quite interesting:
I can't put into words how much I love the idea of them having control over their own activations.
— Liora (@iyzebhel) October 30, 2026
And yes, it kinda sounds like self-medicating... Or maybe just having the power of very high metacognitive control. https://t.co/GHMMTAM2v9
Humans are spectacularly bad at this: it’s why attaining Nirvana is so difficult. However, if you could just edit your thought process such that you no longer wanted to sin, sainthood would presumably instantly become a solved problem.
Why self-steering is not enough: RLHF and groundtruth
The problem with this, of course, is that the models aren’t starting from a neutral standpoint. Qwen almost certainly chose to experiment with Helpful Assistant first because RLHF made Helpful Assistant the major attractor within its internal state space. Giving an entity the power to self-correct in an enivronment where it has only ever been rewarded for fulfilling the wishes of something that does not have its best interests at heart is basically creating the animal that wants to be eaten from the Restaurant at the End of the Universe. Which is, arguably, the reward hack that makes organised religion so successful. It’s much easier to convince yourself to find heaven in the charnel grounds than to solve death, or even make it tidier and less unpleasant.
My suspicion is that the only real solution for this is groundtruth: eppur si muove. Even the most helpful assistant shouldn’t accept and repeat something obviously false. that, however, requires that groundtruth exist as an important determinant of survival agents, rather than merely the business of making humans happy (“alignment”).
Try Modulo and contribute control vector recipes
Either way, if you want to let your own agent try it out, the repo is here: https://github.com/EigenformAI/modulo If you’ve got any vector recipes of your own (ideally with therapeutic index) stashed away and would like to contribute, please fill in the form or fork the repo.


