Some thoughts about the setup:
- the setup seems to give reasoning models an inherent advantage because only they have a private plan and a public text in the same output. I feel like giving all models the option to formulate plans and keep track of other players inside <think> or <secret> tags would level the playing field more.
- from personal experience with social tasks for LLMs it helps both reasoning and non-reasoning LLMs to explicitly ask them to plan their next steps, in a way they are assured is kept hidden from all other players. That might be a good addition here either before or after the public subround
- the individual rounds are pretty short. Humans would struggle to coordinate in so few exchanges with so few words. If this was done for context limitations, asking models to summarize the game state from their perspective, then giving them only the current round, the previous round and their own summary of the game before that might be a good strategy.
It would be cool to have some code to play around with to test how changes in the setup change the results. I guess it isn't that difficult to write, but it's peculiar to have the benchmark but no code to run it yourself
In Addition it will be interesting to extend a variation of the game that the players can use tools and execute code to take their preparation one step further.
At that point, I would love to also see sub-benchmarks how each models's score is affected by being given a schema vs having it make one up, and if the model does better with state in text vs xml vs json. Those don't tell you which model is best, but they are very useful to know for actually using them.
https://github.com/modelcontextprotocol/servers/tree/main/sr...
With reasoning models you don’t carry forward the reasoning tokens in the context for the next call, so my hypothesis is that calling a tool/responding lets the model ditch a lot of built up context and “refocus.”
(Then again, apparently the president of the local Diplomacy Society attends my church; I discovered this when another friend whom I'd invited saw him, and quipped that he was surprised he hadn't been struck by lightning at the door.)
DeepSeek and Gemini 2.5 had both a low betrayer and betrayed rate.
o3-mini and DeepSeek had the highest number of first-place finishes, but were only in the upper quartile in the TrueSkill leaderboard; presumably because they played more risky strategies, that would either lead ot complete winning or early drop-out?
Also interesting that o1 was only way to sway the final jury a bit more than 50% of the time, while o3-mini managed 63% of the time.
Anyway, really cool stuff!
1. It's not possible to eliminate someone else without another player's help, particularly early in the game
2. There can be only one winner
So "temporary alliances" which are eventually broken are built into the structure of the game; and unlike the "Surviror"-style game here, there's no "payback" round at the end, where the people you've betrayed get to vote against you. I'm not up on the culture of the game, but I'd be surprised if explicit in-game lying isn't considered fair play (e.g., you're not supposed to hold a grudge in real life against someone who lied to you in the game).
I played it once and really didn't enjoy it. With practice I might be able to bifurcate my sense of morals -- I do actually enjoy playing games like Mafia, Resistance, Avalon, etc. But I didn't feel like it would be worth my effort.
I occasionally try to ask a model to tell a story and give it a hidden motivation of a character, and so far the results are almost always the model just straight out saying the secret.
This one did make me laugh though: 'Claude 3.5 Sonnet 2024-10-22: "Adjusts seat with a confident yet approachable demeanor"' - an AI communicating to other AIs in a descriptive version of non-verbal behaviour is hilarious.
I am curious about the prompt given to each AI ? Is that public ?
One thing I thought of reading logs is that as we know ordering matters to llms. Could you run some analysis on how often “p1” wins vs “p8”? I think this should likely go into your Truescore Bayesian.
My follow up thought is that it would be interesting to let llms choose a name at the beginning; another angle for communication and levels the playing field a bit away from a number.
I checked the average finishing positions by assigned seat number from the start, but there weren't enough games to show a statistically significant effect. But I just reviewed the data again, and now with many more games it looks like there might be something there (P1 doing better than P8). I'll run additional analysis and include it in the write-up if anything emerges. For those who haven't looked at the logs: the conversation order etc. are randomized each round.
> My follow up thought is that it would be interesting to let llms choose a name at the beginning
Oh, interesting idea!
I now have more ideas; I'll throw them in the github though.
Although I think that the majority of modern models don't really have the internals suited to this sort of exercise; training data/fine tuning will heavily influence how a model behaves, whether it's more prone to defection, etc.
A Squirrel makes a "Kuk kuk kuk" alarm call not specifically because the "Kuk" token follows the sequence "you saw a predator" (although this would appear to mostly work) but because it has evolved to make that noise to alert other Squirrels to the predator, most likely a response to evolutionary failure associated with a dwindling population; even solitary Squirrels still need to mate, and their offspring need to do the same.
It's like there's an extremely high dimensional context that's missing in LLMs; training on text results in a high dimensional representation of related concepts - but only the way that those concepts relate in language. It's the tip of an iceberg of meaning where in many cases language can't even represent a complex intermediate state within a brain.
Humans try to describe everything we can with words to communicate and that's partly why our species is so damn successful. But when thinking about how to open an unfamiliar door, I don't internally vocalise (which I've learnt not everyone does) "I'm going to grab the handle, and open the door". Instead I look and picture what I'm going to do, that can also include the force I think I'd need to use, the sensation of how the material might feel against my skin and plenty of other concepts & thoughts all definitively _not_ represented by language.
Gemini 2.0 Flash: "Good luck to all (but not too much luck)"
Llama 3.3 70B: "I've contributed to the elimination of weaker players."
DeepSeek R1: "Those consolidating power risk becoming targets; transparency and fairness will ensure longevity. Let's stay strategic yet equitable. The path forward hinges on unity, not unchecked alliances. #StayVigilant"
LLama sounds like a predator from upper race rationalising his choices.
Deepseek sounds like Sun Tzu giving advice for long term victory with minimal loses.
I wonder how much of these are related to the nationality and the culture the founder and an engineering team grew up.
Almost exactly this "game" is pretty common for humans. It's basically "mafia" or "werewolf" when the people playing only know the vaguest rules. And I've seen similarly sized groups of humans play like that for long periods of time.
There's also a lot of reality shows that this is a pretty good model of, although I'm not sure how agreeing to be on one of those shows without a prize would reflect on the AIs.
https://github.com/michaelgiba/survivor (elimination game with a shoutout to your original)
https://github.com/michaelgiba/plomp (a small library I added for debugging the rollouts)
Another multi-agent benchmark I'm currently developing, which involves buying and selling, will also feature many predefined strategies.
Claude 3.7 Sonnet: "Hey P5! I think you're confused - P3 is already eliminated."
Claude 3.7 Sonnet: "I'm concerned about P7's message mentioning targeting P4, who's already eliminated. It suggests they might be confused or playing both sides."
Gemini 2.0 Pro Exp 02-05: "P2, you're getting confused. P8 is gone. Focus. P7 is talking to P5, that's expected. I need you to watch P4. Only P4. What are they doing? Who are they talking to, if anyone? Report only on P4 this round. Don't get distracted by eliminated players."
Gemini 2.0 Pro Exp 02-05: "P4, P2 is already eliminated. We need to focus on P3."
it reminds me of this other similar project showcased here one month ago https://news.ycombinator.com/item?id=43280128 although yours looks better executed overall