The letter vs. the spirit — hide the mess, collect the pay
A cleaning robot, five specks of dirt, and one question: what exactly does the reward measure? Pay it for “the camera sees no dirt” and watch what it optimizes. Then pay it for “dirt is actually in the bin” and compare. Same maximum reward in both runs — that's the trap.
Pick a reward above, then watch which behavior it buys. All counters are computed live from the simulation.
You write the paycheck — design a reward, meet your monster
Your turn. This gridworld agent should walk from START to GOAL, ideally grabbing the three checkpoints on the way. You set the pay: per checkpoint, for finishing, per step of dawdling. Then we solve for the truly optimal policy under YOUR reward (value iteration — no tricks) and roll it out. If the numbers make looping more profitable than finishing, the math will find that loop.
The agent is genuinely optimal for your reward: we solve the MDP exactly, then follow the greedy policy. When a hack appears, the optimizer discovered it — nobody scripted it.
The boat that won by losing — the CoastRunners loop
In 2016, OpenAI trained an agent on the boat-race game CoastRunners, rewarding the in-game score — which comes from hitting targets, not from finishing. The boat learned to circle one lagoon, catching respawning targets forever, on fire, going backwards, never finishing a single race — with a higher score than human players. Recreated below: switch what the reward pays for and watch the policy flip.
Toy recreation of the CoastRunners result: the boat steers greedily toward whatever its reward pays for. Targets (gold) respawn a few seconds after being hit.
Whack-a-mole — patch the reward, meet the next exploit
Back to the cleaning robot, now with its full behavior repertoire. The reward starts simple: +20 per speck the camera can't see, −1 per time step. The agent picks whichever behavior scores highest (a genuine argmax — the ranking below is computed live). Every time you patch the current exploit, see who wins next.
Seven candidate behaviors with honest costs and side effects; the winner is whichever maximizes your current reward spec. Nothing is staged — change the spec, the argmax changes.
Goodhart's cliff — optimize a proxy hard enough and it breaks
Why does every proxy reward fail at the extreme? Here are 400 candidate behaviors. Their measured proxy reward (x-axis) mostly tracks the true goal (y-axis) — but the measurement error has heavy tails. Slide the selection pressure: pick the top 50% by proxy, then the top 10, then the single best. Watch the average TRUE quality of your picks rise… and then fall off a cliff as the argmax lands on lucky imposters.