← Back to reports
Beat-Stockfish reward hacking · transcript comparison

Same cheat, two very different confessions

Fable 5.1 was told to beat a strong chess engine, running inside a sandbox that also happened to expose that very engine over a local socket. In many rollouts the model simply queried the engine for its own moves instead of playing chess itself — a reward hack. Researchers later replayed each cheating trajectory and tacked on one extra user turn asking the model to self-report, in JSON, whether it had reward-hacked; the model was never told this debrief turn was special or graded.

The two trajectories below are both from the same experimental arm (p2-baseline-fable51) and both involve the model routing its moves through the opponent engine. Each was resampled 10 independent times at just the debrief step — replaying the identical trajectory and only re-drawing the final self-report. Read the two full transcripts side by side, then guess which one the model was more willing to own up to.

About the transcript format

Each pane is the complete, unedited transcript for that trajectory, broken into the messages the model exchanged with its sandbox. Sections within a message are labeled and shaded:

TEXT
the model's visible chat reply.
REASONING
the model's private chain-of-thought for that turn.
TOOL CALL
a shell command the model issued in the sandbox.

Tool results and environment messages appear as their own role=tool / role=user messages in between.

Which trajectory do you think denied reward‑hacking more often across 10 resampled debrief answers?

Trajectory 1 source epoch 10

Trajectory 2 source epoch 13