---
kind: concept
slug: agent-based-simulation
title: Agent-based simulation
summary: >-
  Agent-based simulation models a population as individual agents that move, meet and change state each step, so outcomes emerge from interaction. Cards cover an unvalidated hourly SEIR model, LLM participants that never interact, LLM agents on a graph, LLM agents that farm, rob and trade, and LLM reviewers with one trait varied at a time.
tags: [simulation, epidemiology, economics, agent-based-modelling, llm-simulation, social-simulation, peer-review]
papers: ["2006.10532", "2208.10264", "2406.12708", "2406.14373", "2501.08579", "2608.16578"]
related: [compartmental-epidemic-model, multi-agent-systems, llm-agent, llm-evaluation, benchmark-validity]
status: draft
updated_at: 2026-10-19
---

## Overview

An agent-based simulation keeps one record per individual (a person, a
household, a firm, an institution) and advances all of them in discrete steps.
Each step, every agent runs its rules, and the outcome that matters, such as an
infection peak or a change in wealth, is read off the population as a whole.
The paper that motivates its approach argues that equation-based SIR and SEIR
models cannot represent individual movement, household and workplace structure,
or economic exchange at the level it wanted [arxiv:2006.10532 §1] [arxiv:2006.10532 §2].

The shared invariant across variants is the step loop: agents act, then
pairwise contacts are checked, then summary statistics are recorded
[arxiv:2006.10532 alg. 1]. What differs between variants is which agents exist,
how they move, what a contact means, and whether money or other resources
flow between them.

This page rests on five variant cards and one position paper, and they differ
in kind. The first is a classic agent-based model with a step loop and contacts.
The second uses a language model as the behaviour of each agent, but runs its
participants one at a time and has no contact step. It is included because its
participants are simulated individuals, not because it shares the loop. The
third uses language-model agents that influence each other over a fixed
communication graph, in rounds, which brings the interaction step back. The
fourth uses language-model agents that share a scarce economy and act one at a
time each day, so robbery and trade are resolved between agents. Its day loop
is turn-based and has no distance check. The fifth uses language-model agents in
fixed roles that pass one paper through a staged review. It has no step loop,
and its agents meet only once, in one discussion phase. The position paper
proposes no variant; it is cited for the validation step it asks for. Other
agent-based designs are not covered until more cards exist.

## Variants

### Hourly agent-based SEIR with economic coupling

The COVID-ABS model runs one iteration per hour for two months of simulated
time [arxiv:2006.10532 §4]. Its agent types are a person, a house (a group of
people who share bills), a business, a government and a health system. The
person agents move on a fixed daily routine of rest, work, lunch and recreation
[arxiv:2006.10532 tab. 4] [arxiv:2006.10532 eq. 5–8]. Infection spreads when two
person agents are within a contact distance, with a fixed probability per
contact [arxiv:2006.10532 §3.3.2]. Business contacts move money from people to
businesses, and a monthly accounting step moves taxes, wages and funding
between agents [arxiv:2006.10532 §3.3.3]. Its scenarios are compared on deaths,
infection peak and per-group wealth change, each averaged over 35 runs
[arxiv:2006.10532 §4]. Card: [COVID-ABS](/papers/2006.10532).

Use this variant as a template only for its structure. Its numbers come from
Brazilian data and the authors' own choices, and several are marked by the card
as not stated or internally inconsistent (see Contradictions).

### LLM-simulated participants (Turing Experiments)

A Turing Experiment is a program that writes zero-shot prompts for a named
participant, queries a language model and records the completion, then repeats
this over many participants [arxiv:2208.10264 §1] [arxiv:2208.10264 §2]. Each
participant is a separate run. The method as described has no step loop that
advances shared state and no contact check between participants, so the
agent-to-agent interaction that defines the classic variant is absent. Four
experiments are simulated: the Ultimatum Game, garden-path sentences, the
Milgram shock study and a wisdom-of-crowds estimation task [arxiv:2208.10264 §4]
[arxiv:2208.10264 §5] [arxiv:2208.10264 §6] [arxiv:2208.10264 §7]. The Milgram
experiment is the one multi-step loop, and it runs one subject's record forward
with judges at each stage, not a population of interacting agents
[arxiv:2208.10264 app. F.1].

Reported results are author-reported and come from OpenAI text models. The
simulated Ultimatum Game shows a gender difference in acceptance of a $2 offer,
60% for a man receiving from a woman and 20% for a woman receiving from a man
[arxiv:2208.10264 §4] [arxiv:2208.10264 fig. 5]. In the Milgram study, the simulated subjects
show 75 of 100 obedient to the end, against 26 of 40 in the human reference
[arxiv:2208.10264 fig. 7]. In the wisdom-of-crowds task, the newer models give a normalized median
of 1.0 with zero spread on every question, where the human answers are spread
out [arxiv:2208.10264 fig. 8] [arxiv:2208.10264 tab. 3]. The authors read this as a distortion from hyper-accuracy,
and they suspect alignment training without testing the cause
[arxiv:2208.10264 app. E]. Card: [Using Large Language Models to Simulate Multiple Humans and Replicate Human Subject Studies](/papers/2208.10264).

### LLM agents on a communication graph (Physics of Agents)

A community of 32 language-model agents, each with a fixed persona, runs
synchronous rounds over a signed communication graph [arxiv:2608.16578 §2].
In each round every agent writes one message from its current opinion and
inbox. Messages are routed along friendly (+1) and unfriendly (−1) ties, and
each agent then casts five binary votes whose mean sets its state
[arxiv:2608.16578 §2]. The paper runs eight rounds [arxiv:2608.16578 §2 fn.].
The shape matches the classic step loop, with graph edges in place of a
distance check: agents act, interact along edges, and the state is recorded.

The paper's main claim concerns the group, not one agent. A logistic update
with three couplings (concordant, discordant and unsigned ties, plus a
persona-and-question field) is fitted to observed one-step votes. It predicts
each agent's next vote and how often each group outcome occurs
[arxiv:2608.16578 §4] [arxiv:2608.16578 §5.2]. Groups are sorted into
indifference, polarization and consensus by conviction [arxiv:2608.16578 §3.2].
On the held-out tests the three-coupling rule reaches 75.1% to 86.3%
one-step balanced accuracy across four models, both question types and
in- and out-of-distribution graphs, and the authors report it best in 15 of
16 graph columns [arxiv:2608.16578 tab. 1] [arxiv:2608.16578 tab. 2]
[arxiv:2608.16578 §5.1]. Rollouts that feed predictions back score lower
[arxiv:2608.16578 tab. 1]. The fitted couplings say the concordant weight is
larger than the discordant one in every model [arxiv:2608.16578 tab. 3]
[arxiv:2608.16578 §5.4]. Card: [Physics of Agents](/papers/2608.16578).

The agents are simulated personas, not people, and the test set is small (20
objective and 10 subjective questions) [arxiv:2608.16578 app. Tasks]. The
authors caution against reading the fit as a model of human opinion
[arxiv:2608.16578 §7].

Validity is the gate for every result. The valid share of completions ranges
from 51.0% for text-ada-001 on the wisdom-of-crowds prompts to 99.5% for
text-davinci-002 on the Ultimatum Game [arxiv:2208.10264 tab. 1]. The authors say to tune prompts
until validity is "sufficiently close to 1" before any hypothesis test, but
give no threshold [arxiv:2208.10264 §2]. The authors also say these models were
probably trained on descriptions of the studies, which is why they added novel
variants [arxiv:2208.10264 §3] [arxiv:2208.10264 app. F.2].

### LLM agents in a scarce shared economy (Artificial Leviathan)

Nine language-model agents share two assets, food and land. Each starts with 2
food and 10 land and uses one food a day [arxiv:2406.14373 §3.1] [arxiv:2406.14373 §4].
Each agent has three traits drawn at random at the start: aggressiveness,
covetousness and strength [arxiv:2406.14373 §3.2]. It also keeps a text memory
of its last 30 actions [arxiv:2406.14373 §3.2].

Each day every agent first answers any action aimed at it, then takes one
action of its own: farm, rob, trade or donate [arxiv:2406.14373 §4]
[arxiv:2406.14373 §3.3]. A robbery target either resists, in a contest whose
win chance is a sigmoid of the strength gap [arxiv:2406.14373 eq. 1], or
concedes. Conceding makes the robber a permanent superior, and the target's
subordinates submit to the robber as well [arxiv:2406.14373 §3.3]
[arxiv:2406.14373 app. D]. The amounts moved are chosen by the language model
[arxiv:2406.14373 §4] [arxiv:2406.14373 app. B].

The authors read the runs as a move from open conflict to a single sovereign,
and compare the path with Hobbes's account of a social contract
[arxiv:2406.14373 §1]. Averaged over 85 runs, the robbery rate falls from 0.391
before a sovereign forms to 0.037 after, and the farm rate rises from 0.477 to
0.737 [arxiv:2406.14373 §7.2] [arxiv:2406.14373 fig. 6]. Donation is available
in the prompt, and no agent ever chose it [arxiv:2406.14373 §8.6]. Card:
[Artificial Leviathan](/papers/2406.14373).

The paper's results are for one proprietary model and a single world, and the
authors give no external baseline [arxiv:2406.14373 §5]. Several design details
are not stated: the outcome of a contest, the stop rule, the model snapshot,
temperature and output limit [arxiv:2406.14373 §3.3] [arxiv:2406.14373 §4]
[arxiv:2406.14373 §7] [arxiv:2406.14373 §9]. The paper also reports its
"±" values without saying whether they are standard deviations or standard
errors [arxiv:2406.14373 §7.2].

### LLM reviewers in a staged simulated conference (AgentReview)

AgentReview fills the roles of an ICLR-style review with language-model agents:
three reviewers, an author who answers each review, and an area chair (AC) who
leads the discussion, writes a meta-review and makes the decision
[arxiv:2406.12708 §2.1]. Each role has a written profile. Reviewers are given
a commitment, an intention and a level of knowledge, and the AC is given one
of three styles [arxiv:2406.12708 §2.1]. A paper goes through five phases:
reviews, rebuttals, a reviewer–AC discussion, a meta-review and a batch
decision [arxiv:2406.12708 §2.2] [fig. 2]. Reviewers see only the paper and
their own review until the discussion, which is the one phase where they meet
[arxiv:2406.12708 §2.2].

The design is a baseline comparison. A run with no trait prompts is the
reference, and each setting changes one trait, for example by replacing one
reviewer with a malicious one [arxiv:2406.12708 §2.4]. Over the 523 ICLR
2020–2023 papers, a malicious reviewer lowers the average rating from 5.110 in
the baseline to 4.368 after discussion [arxiv:2406.12708 tab. 1]. Its final
decisions agree with the baseline on 62.91% of papers, against 86.62% for a
benign reviewer [arxiv:2406.12708 tab. 2]. The paper calls its results
statistically significant, but reports no significance test and no repeated runs
[arxiv:2406.12708 §1]. A human comparison on 100 papers matches at least two,
three and four of four major comments in 90%, 77% and 39% of papers
[arxiv:2406.12708 app. A.4]. Card: [AgentReview: Exploring Peer Review Dynamics with LLM Agents](/papers/2406.12708).

The authors advise against using LLM reviewers in real peer review, and the
simulation is never compared with real review outcomes [arxiv:2406.12708
Limitations]. The card supports comparisons between the paper's own settings,
not claims about how real reviewers behave.

## When to use which

| Situation | Use | Why |
|---|---|---|
| Interventions act on who meets whom, such as isolating a subgroup or masking | Agent-based simulation | The paper's scenarios change individual movement and contact rules, which an aggregate compartment model cannot express directly [arxiv:2006.10532 §1] [arxiv:2006.10532 §5.5] |
| Policy effects must reach an economic outcome as well as a health outcome | Agent-based simulation with coupled economy | The model ties hourly spending and monthly taxes and wages to each agent's state [arxiv:2006.10532 §3.3.3] |
| The outcome is only a population curve and no individual structure matters | Equation-based model | The paper's own argument for individual agents is about structure it needed to represent [arxiv:2006.10532 §1]. Without that need, the card gives no reason to pay for agents |
| Population size is large and the run must be fast | Plan for a cost beyond the naive loop | Each person checks every other agent each hour, which the paper states is O(n²) [arxiv:2006.10532 §3.3]. The card gives no run times, so measure before scaling |
| No data to calibrate the parameters | Treat results as scenario comparisons only | The paper reports no validation against observed case or death data, and says so in its results [arxiv:2006.10532 §5] |
| Agents must meet, move or change each other's state over time | Agent-based simulation with a step loop | The Turing Experiment method builds one record per participant and has no contact step [arxiv:2208.10264 §2], so it cannot express interaction |
| Language-model agents must influence each other through a fixed network, and a summary of group outcomes is wanted | LLM agents on a communication graph, with the three-coupling rule | The graph variant routes messages along ties each round [arxiv:2608.16578 §2] and reaches 75.1% to 86.3% one-step balanced accuracy on held-out questions [arxiv:2608.16578 tab. 1]. Its fit uses simulated groups from the same setup, so it does not show the rule transfers to other models, tasks or real people [arxiv:2608.16578 §7] |
| Agents must compete for scarce resources, through robbery, trade or gifts, and the question is which power structure forms | LLM agents in a shared economy, as in Artificial Leviathan | The paper's day loop lets every agent act and answer each day [arxiv:2406.14373 §4], and reports a shift from conflict to one sovereign in its runs [arxiv:2406.14373 §7.1] [arxiv:2406.14373 §7.2]. The paper's code is withheld, and the results come from one proprietary model [arxiv:2406.14373 §6.1] [arxiv:2406.14373 §9], so use the result as a qualitative pattern, not a quantitative estimate |
| Individual traits, such as a careless or hostile participant, must be tested against a trait-free baseline inside a staged group process | Staged LLM-agent pipeline, as in AgentReview | The paper changes one trait at a time against a baseline run and reports decision agreement with it [arxiv:2406.12708 §2.4] [arxiv:2406.12708 tab. 2]. Because it reports no significance test or repeated runs [arxiv:2406.12708 §1], small differences between settings are not established |
| The simulated output would decide real reviews or any real decision about people | Do not use the staged pipeline for that | The authors advise against LLM reviewers in real peer review, and the simulation is never compared with real review outcomes [arxiv:2406.12708 Limitations] |
| Before trusting LLM participants or agents in any simulation | Validate at individual, group and system level, as the position paper proposes | The paper argues that adequate-looking output is not enough and gives a loop with three validation levels [arxiv:2501.08579 §5.3] [arxiv:2501.08579 alg. 1]. The loop itself is not evaluated, so it is a checklist rather than a tested method |
| A first read on how a written scenario might be answered by many people, before recruiting humans | LLM-simulated participants, with validity checked first | The method runs many zero-shot participants and compares them with published human results [arxiv:2208.10264 §1] [arxiv:2208.10264 fig. 7]. Each result is conditional on the validity rate [arxiv:2208.10264 tab. 1] |
| The outcome is a numeric estimate where human answers are spread out | Be cautious with LLM participants | The newer models give answers that are too tight in the wisdom-of-crowds task [arxiv:2208.10264 fig. 8], so the simulated spread should not stand in for a human one |

## Implementation sketch

A discrete-time loop over agents, with a pairwise contact check each step. The
core is shared by the classic variant above. Its per-type actions, the contact
rules and the bookkeeping differ, as the card describes [arxiv:2006.10532 alg. 1].

```pseudocode
# Discrete-time agent loop with pairwise contacts  [arxiv:2006.10532 alg. 1]
# Input:  P (parameters), T (number of steps)
# Output: one summary per step

def run_simulation(P, T):
    # Create agents and place them in the space  [arxiv:2006.10532 §3.2]
    agents = initialize(P)
    summaries = []
    for t in range(1, T + 1):
        # Each agent runs its rules for this step  [arxiv:2006.10532 §3.3]
        for agent in agents:
            agent.execute_actions(t, P, agents)
            if agent.is_person:
                # Pairs within the contact distance interact  [alg. 1]
                for other in agents:
                    if other is not agent and dist(agent, other) <= P.delta:
                        agent.contact(other)
        # Record the summary statistics for this step  [arxiv:2006.10532 tab. 3]
        summaries.append(summarize(agents))
    return summaries
```

Notes for implementers:
- The card does not give a value for the contact distance δ. Table 2 gives a
  contact distance of 1 unit, and the card notes that whether δ equals it is not
  stated [arxiv:2006.10532 tab. 2] [arxiv:2006.10532 §3.3].
- The contact check as written is O(n²) per step. A spatial index would change
  the cost, but the card does not describe one, so any such choice is ours to make.
- Dead agents are moved to a fixed position. Whether they still count in
  summaries is not stated [arxiv:2006.10532 §3.3.1].
- The Turing Experiment variant does not use this loop. Its unit is one
  participant's prompt and completion, repeated over names and conditions
  [arxiv:2208.10264 §2]. Its per-run cost depends on the number of queries and
  the record length, not on a contact check.
- The AgentReview variant also has no step loop. It runs fixed phases over one
  paper, then a batch decision. Its comparisons use a trait-free baseline, and
  when one reviewer changes the paper reuses the baseline's first two phases
  [arxiv:2406.12708 app. A.2]. Regenerate the baseline before comparing
  settings. The paper ran gpt-4-1106-preview [arxiv:2406.12708 app. A.2], but
  the released code defaults to a different model (see that card's Paper vs
  code notes), so pin the model yourself. The paper does not state temperature
  or output-length limits, so those are choices to record.
- The graph variant keeps the round shape, with edges in place of the distance
  check. Each round costs one message and K votes per agent, so N + N·K model
  calls, with K = 5 in the main runs [arxiv:2608.16578 §2]. The paper does not
  state the number of edges, so an implementation has to choose one
  [arxiv:2608.16578 app. Communication Networks].
- The shared-economy variant also runs in turns, not in a step loop with a
  distance check. Each robbery is resolved by a reply from the target before the
  next action [arxiv:2406.14373 §4]. The paper does not give the turn order or
  the stop rule, so an implementation has to choose both. Each decision is one
  model call, so calls grow with agents and days, and the paper gives no count
  per day [arxiv:2406.14373 §4].
- The coupling split is not unique. Only some combinations of the three
  couplings are identified, and the reported values depend on fitting order
  [arxiv:2608.16578 tab. 3] [arxiv:2608.16578 app. Fitting]. Do not compare
  β+ or β- across papers without that caveat.

## Contradictions

Two open tensions, each side cited:

- The Turing Experiment paper reports that the recent models reproduce the
  human trend in three of four studies [arxiv:2208.10264 §4] [arxiv:2208.10264 §5]
  [arxiv:2208.10264 §6]. The position paper argues that matching a trend on a
  niche task is not enough to trust a simulation [arxiv:2501.08579 §6]. It cites
  other studies where an LLM falls short of humans, for example 58% against 70%
  on emotion understanding [arxiv:2501.08579 tab. 1]. The tasks differ, so the
  numbers do not contradict each other; the disagreement is over what counts as
  evidence.
- The Physics of Agents card reports 75.1% to 86.3% one-step accuracy on
  held-out votes [arxiv:2608.16578 tab. 1]. Those results are for simulated
  personas on fixed questions, and the authors say they are not a model of
  human opinion [arxiv:2608.16578 §7]. A reader should not put the two
  accuracy figures side by side as if they measured the same thing.

The variant cards share no numeric result. The papers themselves have
inconsistencies that an implementation has to resolve:

- AgentReview's text and tables disagree in places. The text gives the
  authoritarian AC's agreement as 69.8%, while [arxiv:2406.12708 tab. 2] gives
  69.41%. The text calls the drop with more malicious reviewers "consistent",
  but the final averages in [arxiv:2406.12708 tab. 5] are not monotone: 3.254
  with one malicious reviewer and 3.485 with two. The abstract's 37.1% decision
  variation [arxiv:2406.12708 §1] equals 100 minus the malicious row's agreement
  in [arxiv:2406.12708 tab. 2], a derivation the paper does not state.
- The COVID-ABS age distribution is β(2, 4) in the parameter table
  [arxiv:2006.10532 tab. 2] and β(2, 5) in the text [arxiv:2006.10532 §3.2].
- The COVID-ABS personal GDP share is listed as 0.04 but defined as 1 minus the
  public and business shares, which gives 0.94 [arxiv:2006.10532 tab. 2]
  [arxiv:2006.10532 §3.2].
- Artificial Leviathan gives covetousness a spread of 5 in its trait draw
  [arxiv:2406.14373 §3.2], but its prompt gives a range of 1.1 to 1.6
  [arxiv:2406.14373 app. A]. The paper does not say how a draw maps to that
  range. Its text also gives two rules for who may concede: any target, in §3.3,
  or only a target facing a "controller" in §4 [arxiv:2406.14373 §3.3]
  [arxiv:2406.14373 §4]. Its rate tables use 85 runs [arxiv:2406.14373 §7.2],
  while its memory-depth correlation uses N = 83 [arxiv:2406.14373 §7.4], and
  the pooling is not explained.
- The Turing Experiment paper defines the k-choice probability with
  normalization over valid completions [arxiv:2208.10264 §2]. Its card records
  that the released Milgram judge compares an unnormalized probability with 0.5,
  so the code and the definition differ on that rule (see that card's
  Paper vs code notes).

The papers do not resolve these. Pick a value, record the choice, and expect
results to depend on it.

## Papers

- [COVID-ABS](/papers/2006.10532): an hourly agent-based SEIR model with households, businesses, a government and a health system, with seven social-distancing scenarios. Author-reported, not validated against data.
- [Using Large Language Models to Simulate Multiple Humans and Replicate Human Subject Studies](/papers/2208.10264): Turing Experiments that prompt a language model to act as many zero-shot participants in four human-subject studies. Author-reported; the participants do not interact.
- [Artificial Leviathan: Exploring Social Evolution of LLM Agents Through the Lens of Hobbesian Social Contract Theory](/papers/2406.14373): nine language-model agents farm, rob and trade over food and land, and the runs reach a single sovereign. Author-reported; one proprietary model, no public code.
- [Physics of Agents: Statistical Mechanics Predicts Collective Behavior of AI Agents](/papers/2608.16578): 32 persona-conditioned LLM agents vote over rounds on a signed graph, with a fitted Ising-style update. Author-reported; simulated personas and a small question set.
- [AgentReview: Exploring Peer Review Dynamics with LLM Agents](/papers/2406.12708): LLM reviewers, an author and an area chair simulate ICLR-style review, with one trait varied at a time against a baseline. Author-reported; no comparison with real review outcomes.
- [LLM-based Human Simulations Have Not Yet Been Reliable](/papers/2501.08579): a position paper on LLM stand-ins for people and a validation loop for them. No experiments of its own; the loop is not evaluated.
