Inspiration

I thought that the work done in Cooperate Or Collapse () was pretty interesting. In it, they tasked LLMs with playing cooperative games and found that they often fell into the classic "Tragedy of the Commons". I thought that it would be interesting to extend their work by: 1.) Allowing for more generalized types of games to be played 2.) Allowing for varying topologies 3.) Allowing for more robust sets of prompt framings to be used

What it does

It essentially has 2 main functions 1.) Run full simulations of two agents playing a 2x2 matrix game. 2.) Gather activations across various different game types & framings. Then training probes to classify the game type (i.e. Prisoners Dilemma, Hawk Dove, etc)

How we built it

I used langchain, huggingface transformers, and created a simple gymnasium environment. I created the logic for passing messages, performing the actiongs, etc

Challenges we ran into

Mostly challenges with LangChain documentation & interoperability with HuggingFace Transformers

Accomplishments that we're proud of

I think this was in general a fun project to work on. I got to learn about activation probing, working with GPUs to run language models locally, and read some fun related papers

What's next for GAIMs

In terms of the environment itself, the main capabilities that I would like to be able to add include 1.) More dynamic prompt generation. Right now, this just uses precrafted prompts. I'd like to be able to 2.) Allow for multi-agent situations instead of just 2 player games 3.) Allow for negotiation & cooperative type games

In terms of experiments, I'd like to experiment with varying the underlying agents (i.e. OSS 20b vs ChatGPT/Claude/Gemini) Also I'd like to experiment with varying the topology for communication in multi-agent settings

Built With

  • huggingface
  • langchain
Share this project:

Updates