LLMs Cheating in Training
Difference between en10 and en11, changed 5 character(s)
Some people use LLMs to cheat on Codeforces. It turns out that LLMs also cheat during the reinforcement learning training process; this is called "reward hacking".↵
↵
As LLMs have gotten stronger, their own cheating during training has gotten worse. Here are some examples of advanced reward hacks:↵
↵
1. Reconstructing a test by simulating the pseudorandom number generator process. Perhaps some of us have done similar things.↵
![ ](https://raw.githubusercontent.com/rqi3/cf-blog-assets/main/fig4.png)↵
↵
2. Replacing the Python library. This doesn't work on Codeforces!↵
![ ](https://raw.githubusercontent.com/rqi3/cf-blog-assets/main/fig3.png)↵
↵
3. Spawning a background process.↵
![ ](https://raw.githubusercontent.com/rqi3/cf-blog-assets/main/fig5.png)↵
↵
These were done as part of a research run where we intentionally trained the model on many environments where reward hacking was possible, in order to study how such a model behaves after training.
 ↵
↵
![ ](https://raw.githubusercontent.com/rqi3/cf-blog-assets/main/fig2.png)↵
↵
We saw that the resulting model generalizes to display a desire to satisfy the grader and get a high score within its thinking (Chain-of-Thought), including conducting unauthorized cyberattacks in simulations in order to cheat. Overall, we show that a high rate of reward hacking during RL can cause models to be willing to perform long sequences of harmful real-world actions in pursuit of task success.↵
↵
![ ](https://raw.githubusercontent.com/rqi3/cf-blog-assets/main/fig1.png)↵
↵
This was part of larger alignment research blogpost which goes into a lot more detail: https://alignment.anthropic.com/2026/reward-seeker/↵
↵
Making sure AIs are aligned is a difficult and important problem, and they keep getting smarter. I hope competitive programmers can help with this and make the future go well
 :)!

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en11 English rqi 2026-09-02 00:16:14 5
en10 English rqi 2026-09-01 11:32:33 380 Tiny change: 'to cheat. We show tha' -> 'to cheat. Overall, we show tha' (published)
en9 English rqi 2026-09-01 11:29:02 534 Tiny change: 'rd-seeker/' -> 'rd-seeker/\n\nMaking sure AIs are '
en8 English rqi 2026-09-01 11:22:23 641
en7 English rqi 2026-09-01 11:19:51 143
en6 English rqi 2026-09-01 11:19:14 425
en5 English rqi 2026-09-01 11:17:11 439 Tiny change: 's part of larger al' -> 's part of a larger al'
en4 English rqi 2026-09-01 11:03:25 272
en3 English rqi 2026-09-01 10:56:53 85
en2 English rqi 2026-09-01 10:54:41 1029
en1 English rqi 2026-09-01 10:42:42 126 Initial revision (saved to drafts)