A work-in-progress modular package with the aim to allow a user to spin up demographic level social simulations with emphasis on strong observability and plugin based functionality support. Inspired by Generative Agents: Interactive Simulacra of Human Behavior.
- Modular design for multiple LLM providers
- Built-in support for OpenRouter (OpenAI-compatible API)
- Simple configuration and setup
- Structured output handling using instructor-go
- Example simulations (demo)
-
World: The main simulation environment
- Manages agents and their interactions
- Controls simulation flow
- Handles plugin system
-
Agents: Individual actors in the simulation
- Customizable behavior through the Agent interface
- Memory management
- Decision-making capabilities
-
Plugins: Extensible functionality
- Agent plugins for individual agent behavior
- World plugins for global simulation features
-
Time Management: Controls simulation time flow
- Adjustable simulation speed
- Pause/resume capabilities
- Time conversion utilities
Simulacra supports two types of plugins:
- Agent Plugins: Extend individual agent capabilities
- World Plugins: Add features to the simulation environment