SocialDynamics Lab
Interactive multi-agent opinion dynamics simulator
LLMs make it possible to simulate agents who communicate, remember and interpret one another. The harder question is whether richer individuals actually give us better models of societies.
When I first started working with opinion-dynamics simulations, one thing surprised me: after watching a network evolve for long enough, it becomes very easy to forget how artificial it is. A collection of nodes begins with different opinions; some interact, clusters form, a minority disappears or survives, and after a few hundred steps I find myself describing what happened in ordinary social language. One group “resisted” another. A community “polarized.” An opinion “spread.”
Yet in a classical agent-based model, I normally know exactly what produced those outcomes because I put the mechanism there myself. An agent might move toward a neighbor's opinion with some strength , refuse to interact beyond a confidence threshold, assign more weight to trusted neighbors, or be exposed preferentially to similar agents. None of this is a particularly convincing model of an actual person, but there is a useful honesty to it: the assumptions are visible.
Large language models change that arrangement.
An artificial person no longer has to be represented only as a few numbers and update equations. I can give an agent a biography, previous conversations, relationships, goals and memories. Instead of receiving another person's opinion as , the agent can receive a sentence, interpret what the speaker meant, remember whether it trusts that person and answer in natural language. This gives social simulation access to something traditional models often discard almost completely: the semantic content of interaction.
I think that is a real advance. I am less convinced by the stronger interpretation that naturally follows from it, that replacing simple agents with language-model agents necessarily brings us closer to simulating a real society.
The reason is fairly simple: LLMs do not remove the assumptions in an agent-based model. They redistribute them.
In a traditional model, assumptions are concentrated in places we can usually inspect: the influence function, the network, the thresholds, the noise model. In a generative-agent system, behavior may depend on all of those things as well as the prompt, persona description, memory architecture, retrieval procedure, sampling settings and behavioral regularities learned during pretraining and post-training. We gain a much richer individual, but part of the mechanism generating that individual's behavior becomes harder to identify.
That trade is worth taking seriously because the object we eventually want to explain is not the individual agent. It is the society that appears after thousands or millions of these decisions begin feeding into one another.
Consider a fairly mundane situation. Someone writes in a university group chat that tomorrow's exam may have been postponed.
Different students can receive exactly the same message and treat it differently. One knows the sender personally and tends to trust them. Another notices that no source was provided. Someone who has barely studied may be unusually willing to believe the rumor. Another remembers that the professor postponed something last semester. Someone else simply opens the university website.
A simple opinion model has to compress most of that into a small number of variables. One possible update is
where is the first student's belief and controls the influence of the second student.
We can make this considerably more sophisticated by adding trust, confidence, homophily, stubbornness or confirmation bias. Still, at some point the sentence itself disappears. “My friend heard it from the teaching assistant” and “some anonymous account posted this” become equivalent unless the modeler explicitly creates variables that distinguish them.
An LLM agent does not have that particular limitation. It can receive:
Maya said her roommate spoke to the teaching assistant, and apparently the professor is considering moving it to Friday.
The agent can interpret the relation between Maya and the speaker, infer something about source credibility, connect the claim to previous memories and generate a context-dependent response. This is much closer to the sort of information people actually exchange.
But suppose the agent becomes more confident that the exam will be postponed. What produced that change?
In the numerical model I can inspect . In the generative model, several mechanisms are entangled. The agent may have reacted to its explicit trust relationship, to retrieved memories, to the wording of the message, to a persona instruction, or simply to behavioral priors already present in the language model. If I paraphrase the sentence and obtain a different result, I now have to determine whether that difference reflects a meaningful semantic distinction or an accidental sensitivity of the model.
This is why I find the 2023 Generative Agents work important for reasons slightly different from the usual demonstration. The researchers populated a small town with 25 agents that could remember experiences, retrieve them, form reflections and plan future behavior. A single instruction that one agent wanted to organize a Valentine's Day party eventually propagated through conversations, with agents spreading invitations, forming plans and coordinating around the event.
The interesting part is not that artificial characters successfully organized a party. It is the causal chain the demonstration suggests:
Classical agent-based modeling has always been interested in that last transition: how local behavior becomes population behavior. LLMs dramatically enrich the first several links in the chain. The mistake would be assuming that because those links now look more human, the population-level process has automatically become more faithful.
There is now surprisingly strong evidence that generative agents can reproduce some aspects of individual human behavior. In one notable study, researchers constructed agents corresponding to 1,052 real participants using two-hour qualitative interviews. On held-out General Social Survey questions, the interview-grounded agents achieved accuracy equal to about 83% of the participants’ own two-week test-retest consistency. Agents combining interview and survey information reached 86%.
I find that result genuinely impressive, but it is important to be precise about what it validates. It is evidence about individual simulation. It does not establish that connecting those agents through a social network will produce the right collective dynamics.
The distinction matters because the population introduces new mechanisms that do not exist at the level of one isolated agent. Who interacts with whom matters. The order in which information arrives matters. Network bottlenecks matter. Recommendation mechanisms matter. A small systematic bias that is almost irrelevant in one conversation can become important after it has been repeatedly transmitted and amplified.
This is something I notice even in much simpler simulations. In SocialDynamics Lab, the small opinion-dynamics environment I have been building, I can keep the local agent rule unchanged and alter only the network topology, yet the final behavior of the population can change substantially. A network that mixes agents broadly may approach consensus while a more clustered network maintains separate opinion groups. The same individuals, in other words, can generate different societies simply because their opportunities for interaction have changed.
SocialDynamics Lab, an interactive sandbox for exploring how local influence rules and network structure affect population-level opinion dynamics.
Try SocialDynamics Lab on Hugging Face →
This becomes easier to forget once each node contains a language model. If an LLM society polarizes, it is tempting to explain the result psychologically: perhaps the agents became more committed to their beliefs, trusted their peers or reinforced one another through conversation. Those explanations may be correct, but topology, exposure order or a persistent model-level preference could produce similar aggregate behavior.
Another post that caught my attention was Statistical Physics of Agents: What Shapes Collective Belief Collapse in AI Swarms?. What I found useful about it is that it does not stop at the observation that language agents converge. It asks which variables control that convergence. The analysis separates factors such as persona plasticity, communication bandwidth and population size, and studies a mechanism in which one agent's output becomes another agent's evidence, creating a feedback loop through repeated interaction.
That is the type of multi-agent result I find much more informative. The emergence itself is only the beginning. Once a collective pattern appears, the useful questions are whether we can identify the variables controlling it, predict what will happen when those variables change, and distinguish the proposed mechanism from alternative explanations.
Scaling the population makes this problem harder rather than easier. OASIS, for example, was designed to simulate social-media environments with dynamic networks, recommendation systems and actions such as following and commenting, and its authors report support for simulations containing up to one million agents. They use the system to examine phenomena including information diffusion, polarization and herd effects.
At that scale, manually reading agent conversations is no longer a meaningful validation strategy. We naturally move toward aggregate statistics: diffusion curves, polarization measures, clustering, activity distributions and other population-level quantities. Yet several different microscopic mechanisms can produce similar macroscopic patterns. Reproducing a familiar polarization curve demonstrates that the model can generate that curve; it does not, by itself, tell us that the simulated agents polarized for the same reasons people did.
This is not a new problem introduced by language models. It is one of the oldest difficulties in modeling complex systems. LLM agents enlarge it because each node now contains a learned behavioral system with its own latent regularities.
A useful way to keep the claims separate is:
| Level | What has to be shown |
|---|---|
| Individual | Agents reproduce relevant behavior of the people or population they represent |
| Interaction | Changes caused by communication resemble the social influence process being modeled |
| Collective | The population reproduces the relevant trajectories, not only a similar final aggregate |
| Intervention | Changing the simulated environment predicts what happens when an analogous change is made in the real system |
Much of the work I have discussed here provides evidence at the individual level, with growing evidence at the interaction and collective levels. Intervention-level validation is the standard I find most important, and also the hardest to establish. The intervention level is the one I care about most if we want to treat these systems as something like a laboratory for society. A simulator that reproduces yesterday's observations but fails as soon as we intervene has limited value for answering causal questions.
None of this makes me want to return to purely numerical agents. If the phenomenon involves argument quality, framing, conversational memory, ambiguity or persuasion, removing language may throw away precisely what we want to study.
The architecture I increasingly find attractive is therefore somewhere between a traditional ABM and an end-to-end generative society.
I would let language models handle the aspects for which they provide genuine expressive value: interpreting messages, retrieving relevant natural-language memories, reasoning over semantic context and generating communication. I would hesitate to make the LLM responsible for every latent part of the simulated person.
If the research question concerns opinion dynamics, for example, there is value in retaining explicit representations of quantities such as belief, uncertainty, trust, exposure and network structure. An LLM can interpret what a message means, while a separate mechanism determines how that interpretation interacts with the agent's current state. This is less anthropomorphic than simply asking the model, “Having read this, what do you now believe?”, but it gives us variables that can be manipulated independently.
A rough version might look like:
Hybrid generative social-simulation pipeline. Language models handle semantically rich operations such as message interpretation, context retrieval, and response generation, while explicit social-state variables and update mechanisms preserve interpretable representations of belief, trust, uncertainty, goals, and influence. The resulting actions feed back into the interaction network, where local agent-level updates accumulate into population-level dynamics such as diffusion, coordination, or polarization.
The LLM need not disappear from the model. It occupies the places where semantic processing is difficult to specify manually, while the rest of the system remains accessible to experimentation.
That separation creates better tests. We can replace the underlying language model while leaving the social mechanism fixed. We can paraphrase messages while preserving their meaning. We can change the network without changing the agents, remove memory without changing trust, or alter trust without rewriting a persona. If a claimed collective mechanism is real, it should survive changes that are theoretically irrelevant and respond predictably to changes that are theoretically important.
The point is not interpretability for its own sake. A perfectly transparent model can simply be wrong. If an opaque simulator predicts human behavior much better than an interpretable one, prediction itself is valuable. The distinction becomes important when we use the simulation to make causal claims. Saying that a model correctly forecasts polarization is different from saying that it tells us why polarization occurred, and both are different again from using the model to infer that changing a recommendation mechanism would reduce it. For those stronger claims, I want interventions.
Suppose we have longitudinal data from a real online community and give the simulator only the first part of the history. We then introduce the same event that occurred in reality and ask the artificial population to evolve forward. A useful comparison would not stop at the final average opinion. Did the same groups move first? Did a resistant minority survive for approximately the same amount of time? Did the information spread through similar regions of the network? Was the timing of the transition roughly correct?
After that, I would make changes that should not matter much: paraphrase the language, vary irrelevant details in the prompt, run different random seeds, perhaps substitute another sufficiently capable foundation model. If the social phenomenon disappears under these changes, the result may depend more on implementation details than the proposed social mechanism.
Only then would I make an intervention that should matter: alter exposure, remove network bridges, change communication bandwidth, introduce a trusted correction or change the credibility of a source. If the simulator correctly predicts a human response that was not used to tune it, I would update much more strongly toward believing that it captures something real.
That, to me, is a more interesting standard than asking whether the agents sound human.
The transition from classical ABMs to LLM agents is often presented as a progression from simple agents to realistic agents. I think the more accurate description is a shift from systems where most behavioral assumptions are explicitly written down to systems where explicit assumptions coexist with learned ones.
This buys us a great deal. Language, memory and context can become part of social interaction instead of being compressed into a few scalar parameters. It also changes the methodological burden. As the artificial individuals become easier to believe, we need to become more careful about explaining why their collective behavior occurs.
The old agent-based modeling question was roughly:
Given these rules for individuals and interaction, what happens to the population?
Generative agents introduce another question before it:
What behavioral rule did the model actually instantiate?
I suspect the most scientifically useful artificial societies will be the ones that let us answer both.
Interactive multi-agent opinion dynamics simulator