Oasis Crisis Simulation Lab: Multi-Agent Social Crisis Modeling

The Problem
Crisis response models are built on historical averages that smooth over the social dynamics that actually determine outcomes: who trusts whom, who hoards resources, which misinformation spreads fastest, and when group behavior tips from cooperation to competition. Agent-based models exist, but few are powered by LLMs that can reason with human-like nuance about ambiguous, high-stakes situations.
NEO built Oasis Crisis Simulation Lab to run large-scale, LLM-powered social simulations across realistic crisis scenarios and extract quantitative behavioral metrics that simpler models miss.
Agent Architecture and Persona System
Oasis Crisis Simulation Lab populates each simulation with hundreds of agents, each defined by a structured persona object. A persona encodes demographic attributes, psychological traits (risk tolerance, trust propensity, authority deference), social network position, initial beliefs, and information access level which news sources they trust, whether they have institutional connections, and how much private information they hold.
{
"id": "agent_0142",
"name": "Maria Chen",
"demographics": {"age": 34, "occupation": "nurse", "location": "zone_3"},
"traits": {"risk_tolerance": 0.6, "trust_propensity": 0.4, "authority_deference": 0.7},
"beliefs": {"crisis_severity": 0.8, "institutional_trust": 0.5},
"information_access": ["local_news", "hospital_bulletin"],
"network": ["agent_0031", "agent_0089", "agent_0201"]
}
At each simulation tick, each agent receives a situation summary a curated view of the world state filtered through their information access level and produces an action object: a decision about resource allocation, communication (broadcasting a belief to their network), movement, or cooperation/defection on a shared resource.
Agent decisions are generated by an LLM call with the persona and situation summary as context. To make hundreds of simultaneous LLM calls tractable, agents are batched and run asynchronously using asyncio with a configurable concurrency limit. A local model (via Ollama) is the recommended backend to avoid API rate limits during large simulations.
Crisis Scenarios and World State
The simulator ships with three pre-built crisis scenarios. Pandemic response models a disease spreading through a social network, with agents deciding whether to comply with public health measures, share accurate or inaccurate information, and compete for limited medical supplies. Financial collapse models a bank run scenario where agents decide whether to withdraw funds based on what they hear from their network, with cascading effects on institutional stability. Infrastructure failure models a regional power outage with agents competing for generators, fuel, and communication resources while deciding whether to cooperate with neighbors or defect.
Each scenario defines the world state schema, the initial event that triggers the crisis, the resource pools available, and the information environment which facts are publicly known versus held by specific agent types.
The world state updates each tick by aggregating all agent actions, applying physical constraints (resource pools deplete, disease spreads through contact networks), and generating new information events (a government announcement, a viral rumor) that propagate according to each agent's information access.
Behavioral Metrics and Visualization Outputs
After each simulation run, the analysis pipeline extracts four categories of behavioral metrics.
Opinion dynamics tracks the distribution of belief values (e.g., crisis severity estimate, institutional trust) across all agents over time, measuring polarization index (variance of beliefs) and convergence rate. Group formation uses community detection on the agent communication graph to identify clusters that form during the crisis and tracks how group membership changes tick-by-tick. Resource competition measures Gini coefficient of resource holdings over time and flags tipping points where distribution shifted from cooperative to competitive patterns. Behavioral cascades identifies contagion events moments where a single agent action triggered a chain of correlated responses and measures cascade size and propagation speed.
Outputs include a timeline visualization (agent belief distributions animated over simulation ticks), an influence graph (who shaped whom's beliefs most strongly), and a summary metrics JSON:
{
"scenario": "pandemic_response",
"ticks": 48,
"agents": 200,
"polarization_final": 0.71,
"cooperation_rate": [0.83, 0.74, 0.61, 0.48],
"largest_cascade": {"tick": 12, "size": 43, "trigger": "agent_0089"},
"dominant_groups": 4
}
How to Build This with NEO
Open NEO in VS Code or Cursor and describe what you want to build. A good starting prompt for this project:
"Build a multi-agent social simulation in Python where hundreds of LLM-powered agents with structured personas make decisions during crisis scenarios. Each agent receives a filtered world state view based on their information access level and produces an action object. Update world state each tick by aggregating actions. Measure opinion spread, group formation via community detection, resource competition Gini coefficient, and behavioral cascades. Output timeline visualizations, influence graphs, and a metrics JSON report."
NEO generates the project structure and core implementation. From there you iterate ask it to add a new crisis scenario, build an interactive web dashboard for watching the simulation tick in real time, or extend the influence graph with node importance rankings using PageRank. Each request builds on what's already there without re-explaining the context.
To run the finished project:
git clone https://github.com/dakshjain-1616/oasis-social-simulation-lab
cd oasis-social-simulation-lab
pip install -r requirements.txt
python simulate.py --scenario pandemic_response --agents 200 --ticks 48
The simulator runs the full crisis scenario, generates timeline and influence graph visualizations, and writes a quantitative behavioral metrics report to the outputs/ directory.
NEO built a multi-agent crisis simulation environment where hundreds of LLM-powered agents with distinct personas interact under pressure, producing quantitative behavioral metrics including opinion cascades, group formation, and resource competition dynamics. See what else NEO ships at heyneo.com.
Try NEO in Your IDE
Install the NEO extension to bring AI-powered development directly into your workflow:
- VS Code: NEO in VS Code
- Cursor: Install NEO for Cursor →