Multi-agent society simulation with playful personalities
Project description
A Society of Agents
Inspired by Marvin Minsky's Society of Mind, a multi-agent simulation where AI personalities debate questions from different perspectives. Ask a question, specify the viewpoints you want, and watch the debate unfold.
What it does
- You provide a question and the perspectives you want represented
- AI generates distinct agent personalities for each perspective
- An orchestrator facilitates debate between the agents
- Agents discuss, disagree, and build on each other's arguments
Quick Start
Setup
- Clone the repository
- Create a
.envfile with your API key:
ANTHROPIC_API_KEY=your-api-key-here
- Install dependencies:
uv sync
Run a debate
uv run python -m llm_society "What is the meaning of life? I want an optimistic view and a pessimistic one."
More examples
# Ethics debate
uv run python -m llm_society "$(cat examples/trolley_problem.txt)"
# Philosophy
uv run python -m llm_society "$(cat examples/free_will.txt)"
# Social issues
uv run python -m llm_society "$(cat examples/wealth_inequality.txt)"
Example Questions
| File | Topic | Perspectives |
|---|---|---|
meaning_of_life.txt |
Meaning of life | Optimist, Pessimist |
trolley_problem.txt |
Trolley problem | Utilitarian, Deontologist, Virtue ethicist |
free_will.txt |
Free will | Determinist, Libertarian, Compatibilist |
wealth_inequality.txt |
Wealth inequality | Libertarian, Socialist, Rawlsian, Communitarian |
animal_rights.txt |
Animal rights | Peter Singer, Traditionalist, Environmental ethicist |
civil_disobedience.txt |
Civil disobedience | Thoreau, MLK, Legal positivist, Conservative |
Optional Configuration
You can customize models in .env:
# Main orchestrator model
MAIN_AGENT_MODEL=anthropic:claude-opus-4-5-20251101
# Sub-agent models
SUB_AGENT_MODEL=anthropic:claude-sonnet-4-5-20250929
# Prompt generation model
PROMPT_GENERATOR_MODEL=anthropic/claude-opus-4-5-20251101
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pysociety-0.2.0.tar.gz.
File metadata
- Download URL: pysociety-0.2.0.tar.gz
- Upload date:
- Size: 825.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3ef883cdd3d22520df13369cdf64e33b537867a346430ca330b660e822a29c0
|
|
| MD5 |
c8a93bb1ba6a7dfb01a59a0beb90f6b1
|
|
| BLAKE2b-256 |
cc14641bbf1a0d99e98ae289c816b5cfd2c674d723a7ab536f657e5f7013137d
|
File details
Details for the file pysociety-0.2.0-py3-none-any.whl.
File metadata
- Download URL: pysociety-0.2.0-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f10bb2ae84d5e03151b46c2c53df8c5ef2301f0a28260b4248296dc76307ac79
|
|
| MD5 |
8802f97c4d1142e3ed8abf2726a006e9
|
|
| BLAKE2b-256 |
2986d8370f079c3f334683b255db9192f512c03ea177d3a0e29f2c2a53f58708
|