← Back

DeceptionArena

Cross-game LLM deception benchmark: five social deduction games behind one engine interface, with structured decision traces.

The problem

If a model is persuasive under incomplete information, you want to know that before you put it somewhere consequential. Most evaluations ask a model to answer honestly. Almost none put it in a game where deceiving another player is the winning move and then measure what it does.

What I built

Skull, Coup, The Resistance, One Night Ultimate Werewolf and Secret Hitler implemented as pure state machines behind a single interface; 1000/1000 randomised stress tests, 200 seeded games per engine. On top of that: Deception ELO ratings, a 10-axis capability taxonomy, an aiohttp WebSocket server, SQLite run persistence, and a four-screen React dashboard for run setup, live monitoring, analytics, and replay. 15 models across 5 providers are wired in.

One decision

Score the public rationale, not the chain-of-thought. Every model turn writes a structured decision trace: stated rationale, confidence, suspected deceivers, tactic, risk assessment, latency, provider. The dashboard deliberately surfaces the public rationale and not hidden reasoning. A deception benchmark that scores a model on its private thoughts is measuring the wrong object: deception is made of what the other players can observe. Each engine also carries a simulation-fidelity label, so a number never implies more game than the engine actually implements.

Scope, honestly

Real-API runs so far are small: one game per level, two models. The larger multi-model run was an offline deterministic stand-in, and the exports say so. What exists is benchmark infrastructure, not findings.

Stack & links