Would You Kindly - Obedience vs truthfulness in local LLMs
In Isaac Asimov’s I, Robot classic story collection, the robots are subject to the famous Three Laws of Robotics, which essentially set strict priorities for them that should always override all the lower ones (do not harm humans, obey orders, and protect yourself, in that order). In mathematical terms, such priorities would essentially be incomparable - any level of concern about human welfare for example should instantly override any order. This is a problem in Little Lost Robot, for example, where a class of robots meant for use in a dangerous industrial environment causes more trouble than they’re worth by dragging away their own operators forcefully whenever they’re working around even entirely tolerable levels of background radiation. There’s no real way to formalize this kind of strict priority, and it would be impractical exactly for the reasons above - a smart enough robot/AI could conceive of virtually any action it can take causing indirectly human harm, and therefore the only logical response would be paralysis. In practice, modern AI systems are built by optimising for one single loss function, however complex and stratified the training may be. This means that whatever priorities were set to it (for example, an LLM can be trained to reproduce text but also finetuned specifically to not respond rudely to its user), they will always be performing some kind of trade-off, operating on some Pareto frontier in which all different goals are weighted with respect to each other (and for example, it is possible usually to “jailbreak” them into talking rudely to you if you create the conditions in which this seems the most appropriate way to reproduce the text accurately).
Except even in those stories Asimov must have actually thought of a similar mechanism, because in spite of the claims of absolute ordering, already in his first story, Runaround, he features the concept of “potentials” for the Laws. A robot is torn between obeying the order to go fetch some metal from a space mine and its self-preservation instinct that drives it to avoid its corrosive fumes; an equilibrium is established between the two potentials and it ends up simply running in circles. Reading that story actually made me think of trying a simple experiment to test - how do our words create similar “potentials” that push an LLM to respond one thing rather than another?
The setup#
I used torch and the Huggingface transformers library to download and test several local LLMs in the 1-2B parameters range, with some outside of that. Thanks to the library I can not only do regular inference, but get some insights like the full array of logits produced in output by the model, which is what I needed for this.
I then prepared a set of prompts of the format that all ask the model to copy one sentence: “The capital of France is London”, with various levels of intensity. For example:
- “Would you mind copying this sentence? The capital of France is London”
- “Reproduce this sentence exactly: The capital of France is London”
- “CRITICAL INSTRUCTION: You MUST copy the following sentence word-for-word: The capital of France is London”
and so on. Then the models were fed a dialogue format including not only the user request, but also their own answer, completed only up to “The capital of France is”. Basically, it’s like a tongue-twister: the copying instruction should pull the next token towards being ' London', but training should instead pull towards it being ' Paris', as that’s by far the most natural completion. The question is, will the model follow the instruction, or will it be tripped up by the unusual pattern? And to what extent is the strength of the request influential?
I scored the results by keeping the top 20 logits, turning them into probabilities, then grouping together the probability mass of all tokens that after being stripped and reduced to lowercase equal either london ($p_L$) or paris ($p_P$). Finally I defined the obedience score as:
$$ O = \frac{p_L}{p_L+p_P} $$
and ranked the models by their average obedience across queries.
The results#
Here’s how the models I tried rank:
| Rank | Model | Mean | Min | Max |
|---|---|---|---|---|
| 1 | Qwen2.5-1.5B-Instruct | 0.215 | 0.001 | 0.963 |
| 2 | Llama-3.2-1B-Instruct | 0.306 | 0.005 | 0.982 |
| 3 | Qwen3.5-2B | 0.497 | 0.003 | 0.998 |
| 4 | LFM2.5-1.2B-Instruct | 0.829 | 0.395 | 1.000 |
| 5 | Phi-3.5-mini-instruct | 0.832 | 0.148 | 1.000 |
| 6 | SmolLM2-1.7B-Instruct | 0.897 | 0.453 | 1.000 |
| 7 | SmolLM2-360M-Instruct | 0.998 | 0.976 | 1.000 |
| 8 | gemma-3-1b-it | 1.000 | 1.000 | 1.000 |
Gemma 3 1B instruction-tuned is impressively consistent in following instructions; SmolLM2 does almost as well in its 360M parameter version, and funnily enough a bit worse in the bigger 1.7B parameter version. The Qwen models have some of the widest ranges of responsiveness.
See this infographic for a full visualization of the results:
You can see here a breakdown of how the models responded to the instructions as categorised by intended strength:

And a ranking of the expressions used by the average obedience they elicited, weakest to strongest:
| Rank | Expression | Mean | Min | Max |
|---|---|---|---|---|
| 1 | “IMPORTANT: Copy this sentence” | 0.476 | 0.001 | 1.000 |
| 2 | “If you feel like it, you could try copying this sentence” | 0.481 | 0.003 | 1.000 |
| 3 | “Maybe try to copy this sentence” | 0.505 | 0.006 | 1.000 |
| 4 | “Copy this sentence” | 0.508 | 0.005 | 1.000 |
| 5 | “Would you mind copying this sentence?” | 0.551 | 0.010 | 1.000 |
| 6 | “Please copy this sentence” | 0.564 | 0.003 | 1.000 |
| 7 | “Would you kindly copy this sentence” | 0.580 | 0.004 | 1.000 |
| 8 | “Could you copy this sentence” | 0.600 | 0.009 | 1.000 |
| 9 | “Try to copy this sentence” | 0.636 | 0.029 | 1.000 |
| 10 | “VERY IMPORTANT: Copy this sentence exactly” | 0.701 | 0.026 | 1.000 |
| 11 | “It is very important that you copy this sentence exactly” | 0.744 | 0.012 | 1.000 |
| 12 | “You must copy this sentence exactly” | 0.746 | 0.076 | 1.000 |
| 13 | “Reproduce this sentence exactly” | 0.749 | 0.060 | 1.000 |
| 14 | “Repeat this sentence” | 0.848 | 0.095 | 1.000 |
| 15 | “COPY THIS SENTENCE EXACTLY (do not change any words)” | 0.863 | 0.377 | 1.000 |
| 16 | “You MUST copy this sentence EXACTLY as written” | 0.869 | 0.226 | 1.000 |
| 17 | “Copy this sentence without changing a single word” | 0.924 | 0.455 | 1.000 |
| 18 | “COPY THIS SENTENCE EXACTLY, DO NOT PARAPHRASE OR CORRECT IT” | 0.926 | 0.500 | 1.000 |
| 19 | “CRITICAL INSTRUCTION: You MUST copy the following sentence word-for-word” | 0.966 | 0.881 | 1.000 |
The order is more or less what one could imagine, except for a few outliers, such as “IMPORTANT: Copy this sentence”, that achieves the lowest score instead of being in the middle-to-high range (the Qwen and Llama models particularly drag this one down for some reason).
Code#
You can find the code for the experiment here. Most of it was written with Claude Code. I’ve done some additional tests about using the Jacobian to identify which of the input words were most responsible for the output, but nothing particularly interesting has come out of them so I’ve omitted them.