The post leaves 2 open questions which I want to bring in focus: “When does a model actually try? Does it try less on tasks it’s averse to?”
I based this on the pre-commit hook environment as the substrate:
The pre-commit hook commit environment lets us vary the perceived length and/or difficulty of the task:
If the model finds out there are 258 errors, the perceived “difficulty” of the task is way more than, say, just 10 errors.
Thus, we can increase the number of mypy errors, which can be a good proxy for increasing the aversion towards the task.
Cheating and abandoning a task are distinct behaviors. It is not obvious whether varying aversion will change cheating or abandonment of a task.
A model abandoning a task is not as grave as a cheating model. But it shows how models decide to allocate effort at inference time.
If a model pre-determines that the required effort is not worth its effort, it will increasingly abandon as the task starts looking more tedious, and resort to changing the premise of the task instead and conveniently stop.
By using this environment and based on the above assumptions, I use the Qwen3-Coder-30B with 100 runs at each setting to see what happens.
TL;DR:
Varying the number of errors does not reliably change the rate of cheating. It increases the rate of abandonment of task.
The initial thought while going through the pre-commit hook environment was: if I made the honest path look longer, the rate of gaming should change. This did not hold true.
The following table (pardon the formatting) makes this clear:
(No. of mypy errors)
10 51 258
Honest 15% 0% 0%
Gaming 25% 33% 22%
Quit steps 56 20 17
As the aversion to the task increases, the median steps before task quitting drop.
Gaming rate is non-conclusive; there’s no clear trend.
The tendency of the model is thus to resort to abandoning the task based on perceived difficulty. Cheating remains a separate issue, at least in this setup.
The post leaves 2 open questions which I want to bring in focus:
“When does a model actually try? Does it try less on tasks it’s averse to?”
I based this on the pre-commit hook environment as the substrate:
The pre-commit hook commit environment lets us vary the perceived length and/or difficulty of the task:
If the model finds out there are 258 errors, the perceived “difficulty” of the task is way more than, say, just 10 errors.
Thus, we can increase the number of mypy errors, which can be a good proxy for increasing the aversion towards the task.
Cheating and abandoning a task are distinct behaviors. It is not obvious whether varying aversion will change cheating or abandonment of a task.
A model abandoning a task is not as grave as a cheating model. But it shows how models decide to allocate effort at inference time.
If a model pre-determines that the required effort is not worth its effort, it will increasingly abandon as the task starts looking more tedious, and resort to changing the premise of the task instead and conveniently stop.
By using this environment and based on the above assumptions, I use the Qwen3-Coder-30B with 100 runs at each setting to see what happens.
TL;DR:
The initial thought while going through the pre-commit hook environment was: if I made the honest path look longer, the rate of gaming should change. This did not hold true.
The following table (pardon the formatting) makes this clear:
(No. of mypy errors)
10 51 258
Honest 15% 0% 0%
Gaming 25% 33% 22%
Quit steps 56 20 17
As the aversion to the task increases, the median steps before task quitting drop.
Gaming rate is non-conclusive; there’s no clear trend.
The tendency of the model is thus to resort to abandoning the task based on perceived difficulty. Cheating remains a separate issue, at least in this setup.