Concordia: A Library for Generative Social Simulation

A library for constructing and running generative agent-based models that simulate social interactions.

Stars
★ 1.8k
Last updated
2d ago
License
Apache-2.0
Primary language
Python

At a glance

How it runs
Library / SDKFramework
Works with
Universal · cross-platform
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
PythonLLM APINetwork access
Typical use
Social science researchers simulate group dynamics and social phenomena to test theories.
Not a fit if
  • Developers wanting a turnkey tool with no embedder setup
  • Researchers who need fully reproducible simulations

What does this agent do, and when should you use it?

Concordia is a library developed by Google DeepMind for building and running generative agent-based models (ABMs) that simulate interactions among entities in physical, social, or digital environments. Its core innovation is the use of a 'Game Master' (GM) entity that simulates the environment, translating agents' natural language actions into appropriate outcomes. The library offers modular components and pre-built prefabs for agents and game masters, enabling complex behaviors to be assembled from simple reusable parts. Installation is straightforward via pip. The project includes tutorials and Colab notebooks for quick start. Concordia is designed for a range of applications including social science research, AI safety, economics, synthetic data generation, and evaluating real services through simulated usage.

Concordia is a Python library for creating and running generative agent-based simulations. It defines three core concepts: Entities (agents and game masters), Components (modular behavior units), and Engine (the simulation loop). The simulation loop asks entities for actions; agents express their intentions in natural language, and the Game Master uses a language model to translate these into outcomes that respect physical, social, or digital constraints. It requires access to an LLM API and optionally a text embedder for memory. Users can assemble simulations using prefabs and custom components.

  1. Social science researchers simulate group dynamics and social phenomena to test theories.
  2. AI safety researchers construct scenarios to evaluate the safety and ethical behavior of AI systems in complex social interactions.
  3. Economists model market interactions and decision-making processes to study economic models.
  4. UX teams generate synthetic interaction data for training personalization systems.
  5. Service providers simulate user behavior to assess the performance of real services.
  6. Cognitive neuroscientists build agent models inspired by neural processes to study cognition.

How do you install or deploy this agent?

Run pip install gdm-concordia in your terminal. After installation, you can import concordia in your code. Requires Python.

How do you use this agent?

First, ensure you have installed gdm-concordia and have access to an LLM API (optionally specify a text embedder). Then, run the Colab tutorial ([examples/tutorial.ipynb](examples/tutorial.ipynb)) or refer to the examples in the repository. Building a simulation typically involves defining prefabs for agents and game masters, configuring a language model, and running the simulation loop. For detailed guidance, refer to the README and tutorials.

What are this agent's strengths and limitations?

Pros
  • The Game Master architecture provides an intuitive and powerful way to simulate environments.
  • Modular components and prefabs allow for easy customization and reuse.
  • Backed by Google DeepMind, with a comprehensive tech report and design pattern paper.
  • Colab tutorials and a cheat sheet lower the learning curve.
Limitations
  • Requires an external LLM API, with results dependent on model capability and potential costs.
  • Requires providing a text embedder, adding configuration complexity.
  • As a research library, documentation is academic-oriented, which may be a barrier for general developers.
  • Dependency on LLM stability and responses may affect simulation reproducibility.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Concordia: A Library for Generative Social Simulation This agent 39 · Major gaps Library / SDKFree + model costs ★ 1.8k 2d ago Python —
MiroFish Offline 30 · Major gaps Self-hosted serviceFree ★ 2.6k 6mo ago Python OpenAI API · Claude API
OASIS Social Simulation 25 · Major gaps Library / SDKFree + model costs ★ 5.3k 7d ago Python OpenAI API
AgileRL 71 · Some gaps Library / SDKFreemium ★ 959 today Python —

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
39/ 100 5-point scale 2.0 / 5
Trust 0/29
Reliability 8/14
Adaptability 10/18
Convention 10/18
Effectiveness 7/13
Verifiability 4/8
Why each dimension lost points
Trust0 / 29 · 0.0/5

Evidence shows no explicit mechanisms for least privilege, user confirmation, data flow transparency, sensitive data handling, dependency security, external effects, rollback, or source attribution. Therefore all trust criteria score 0.

Reliability8 / 14 · 2.9/5

Self-consistency: README, directory structure, and code organization are consistent with clear module separation, score 2. Dependency availability: requirements.txt and pyproject.toml are provided, but availability not verified, score 2. Failure messages: no documentation of error handling or failure messages, score 1.

Adaptability10 / 18 · 2.8/5

Audience and scenarios: README describes multiple application scenarios, score 2. Capability boundaries: states need for LLM API and embedder, score 2. Trigger precision: no explicit trigger conditions, score 1. Environment fit: provides installation and development environment instructions, score 2.

Convention10 / 18 · 2.8/5

Information architecture: clear directory structure, score 2. Install notes: provides pip and development installation guides, score 2. Naming stability: package and module names consistent, score 2. Examples and FAQ: provides examples and tutorials but no FAQ, score 2. Known limitations: not explicitly listed, score 1. License: Apache-2.0, score 2. Versioning and changelog: no changelog provided, score 1. Maintenance responsibility: has SECURITY.md and CI but no explicit maintainer, score 2.

Effectiveness7 / 13 · 2.7/5

Output usability: provides examples and tutorials, score 2. Marginal value: unique value as generative social simulation library, score 2. Cost-benefit: no performance or cost analysis, score 1.

Verifiability4 / 8 · 2.5/5

Claim traceability: README cites technical report, score 2. Cross-source corroboration: no external verification, score 1. Fact-inference separation: not explicitly distinguished, score 1.

Risks and how to mitigate them
  • Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
  • Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
  • Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
  • Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
  • No security mechanisms such as least privilege or data flow transparency are provided; assess before use.
  • Dependency security not verified; check dependency versions and vulnerabilities.
  • No changelog provided; version updates may be opaque.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 513c3d622d19 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v2.4.0
    Release notes excerpt
    [2.4.0] - 2026-03-06 Changed - Use InteractiveDocument RNG for diversified answers - NextActingActiveEntity returns the current player for async threads - Make more basic entity parameters configurable and give them more sensible default values. Remove the relevant memories component since it does not really help here, and it can confuse, especially in simulations that don't have a concrete concept of time. - Make LastNObservations component give a more sensible error message if the user passes a wrong type history length. …
    View on GitHub ↗
  2. v2.3.1
    Release notes excerpt
    [2.3.1] - 2026-02-04 Fixed - Remove a flaky profiler test.
    View on GitHub ↗
  3. v2.3.0
    Release notes excerpt
    [2.3.0] - 2026-02-04 Changed - Deleted all deprecated files. - Support overriding the default language model either for agents or game masters in the generic simulation prefab. - tests for event resolution filtering - Replace print() statements with absl.logging - Add analyze-logs skill - Add option on generic simulation.play to produce new style structured logs. No change to default behavior. New log style is off by default (for now). - Improve the new structured logging library and remove functions used only for comparison to the old format. …
    View on GitHub ↗

FAQ

What are the runtime requirements for Concordia?
Requires Python and an LLM API (any API that supports sampling text) and a text embedder for associative memory.
Is Concordia free to use?
The library is open-source under Apache-2.0, but using an LLM API may incur costs depending on your provider.
How can I integrate my business logic into a Concordia simulation?
You can create custom components or use prefabs to encapsulate business logic as entity behaviors.
Are simulation results reproducible?
Due to dependencies on LLMs, identical settings may produce different outcomes. You can improve reproducibility by fixing random seeds, though this is not explicitly documented.
View on GitHub ↗ Install ↓

Related agents