A small town of invented people, one piece of news, and a way to find out what really changes how it spreads. 0x17caf6dd33e4ce69700ff63e7b98ad0022efc65e
Most tools tell you what MIGHT happen.
Society Agent lets you test what you should DO.
Meet the Experiment Lab ๐งช
Run the same town 60 times. Change one thing. See what it really does.
HOW TO USE IT (no sign-in):
1๏ธโฃ Paste a situation. I used a clinic-closure rumor.
2๏ธโฃ Hit Draft & test. It builds three response paths: no response, an early public update, a targeted reassurance.
3๏ธโฃ All three run across 40 random towns. Every path uses the SAME towns, so only your move changes.
4๏ธโฃ Read the verdict in plain language: a clear difference, or "no clear difference." It says either one honestly.
5๏ธโฃ Hit Watch a paired town. Both versions start identical. One response lands, and Director Mode flips to "The town has split."
In my run: baseline opinion +0.29 vs response path +0.13 on the reassured โ alarmed axis. Click any resident and read what they heard, from whom, and when their mind changed.
Why you can trust the output:
โ Deterministic: same seed, same answer
โ Replayable: share the link, anyone gets identical numbers
โ Auditable: every conversation and opinion shift is a recorded event
โ Export to CSV or a printable report
Building agents? There's a public API + MCP, so your agent can run the same paired experiments and get a statistical verdict back.
A model of an invented town, not a forecast of real people.
Same town. Different move. Different future.
Open the Experiment Lab: https://t.co/nLiXdo3lR0
Open source (MIT): https://t.co/jpya3jFR8j
MCP: npm @societyagent/mcp
Society Agent is live.
Drop one piece of news into an invented town and watch 16 residents with jobs, habits and different levels of trust walk the streets, talk, and change their minds. Then change one move and see what actually changes.
What you can do:
Run a day and step in. Make an announcement or whisper to one resident, and watch opinions shift on the map, timeline and town log.
Experiment Lab. Runs the same random towns with and without your move, then tests the difference. In the water-main scenario, an official statement left the town 0.12 calmer than doing nothing, a clear difference rather than luck.
Reports. Turn any run into a printable write-up with findings, chart, key moments and resident quotes. PDF or Markdown, no wallet needed.
Reproducible. Same scenario, seed and interventions give identical numbers in any browser. Saved runs are wallet-signed and replayed by the server, so they canโt be edited.
Optional AI layer. Residents can speak and decide for themselves, and their choices are recorded so runs still replay exactly.
For agents
POST /api/agent/simulate and /api/agent/compare (read-only), MCP server via npx -y @societyagent/mcp, and SKILL.md in the repo.
Itโs a model of an invented town, not a forecast of real people. Open source (MIT), 112 unit tests, 45-check live security suite, CI green.
App: https://t.co/Lv5VjoTnh9
Docs: https://t.co/TYs6xJaAlZ
GitHub: https://t.co/8QAbRM3m8N
npm: https://t.co/pn0g6vx58e
A stranger who opens your link replays your run in their own browser from the stored inputs, so what they see is identical to what you saw, metric for metric. They can also export it. They cannot change it.
A new run is private. Create share link makes /r/<id> readable by anyone who has the link; Stop sharing closes it again. Opening a private or missing run gives the same โnot foundโ answer so nobody can tell whether a private run exists. A shared run never shows your wallet address.
Press Save run at the end (or any time). You send the inputs: the scenario, the length and your interventions. The server replays the same deterministic engine itself and stores its own metrics, events and report, so a stored result cannot be forged by a modified browser. You can keep up to 200 runs and save 40 per hour.
You do not need an account to simulate or to use the lab. Sign in only to save runs, use the AI layer or share a link. Click Sign in, choose a wallet in the Reown modal, and sign a message. The message follows Sign-In with Ethereum (EIP-4361), is valid for five minutes, can be used once, and states this siteโs domain. It costs no gas and sends no transaction.
After you sign, the server sets a session cookie that page scripts cannot read (HttpOnly, Secure, SameSite=Strict). The session lasts seven days. Choose Sign out from the wallet menu to revoke it on the server immediately.
Turn a live brief into a testable response plan.
Paste a claim, announcement, or scenario. We make an editable three-path experiment, then replay the same towns for every response. No facts are invented; this is a draft for your review.
Run the same town 60 times. Change one thing. See what it really does.
A single run can be luck. The lab replays the day in 60 different random towns for every option, using the same towns each time, then tells you in plain language whether the difference is real.
Most tools tell you what MIGHT happen.
Society Agent lets you test what you should DO.
Meet the Experiment Lab ๐งช
Run the same town 60 times. Change one thing. See what it really does.
HOW TO USE IT (no sign-in):
1๏ธโฃ Paste a situation. I used a clinic-closure rumor.
2๏ธโฃ Hit Draft & test. It builds three response paths: no response, an early public update, a targeted reassurance.
3๏ธโฃ All three run across 40 random towns. Every path uses the SAME towns, so only your move changes.
4๏ธโฃ Read the verdict in plain language: a clear difference, or "no clear difference." It says either one honestly.
5๏ธโฃ Hit Watch a paired town. Both versions start identical. One response lands, and Director Mode flips to "The town has split."
In my run: baseline opinion +0.29 vs response path +0.13 on the reassured โ alarmed axis. Click any resident and read what they heard, from whom, and when their mind changed.
Why you can trust the output:
โ Deterministic: same seed, same answer
โ Replayable: share the link, anyone gets identical numbers
โ Auditable: every conversation and opinion shift is a recorded event
โ Export to CSV or a printable report
Building agents? There's a public API + MCP, so your agent can run the same paired experiments and get a statistical verdict back.
A model of an invented town, not a forecast of real people.
Same town. Different move. Different future.
Open the Experiment Lab: https://t.co/nLiXdo3lR0
Open source (MIT): https://t.co/jpya3jFR8j
MCP: npm @societyagent/mcp
Once the day has started you can send an announcement (everyone hears it at once) or a whisper (one resident). Write what you say, then move the slider toward the side of the debate your message leans on. An announcement makes people who have not heard yet hear it, and moves those who have 35% of the way toward its stance, scaled by how much they trust. A whisper makes one person hear it and replaces 60% of their opinion with the messageโs stance (their old opinion keeps 40%, the message gets 70% of its stance). Both are recorded as inputs, so the run replays identically.
The four numbers:
> Heard the news Share of residents who know about it.
> Avg. opinion Mean opinion of those who have heard, from โ1 to +1, with a word for it.
> Disagreement Standard deviation of opinion among those who have heard.
> 0 means everyone agrees; above about 0.25 the town is divided and above 0.45 it is polarized.
> Conversations Pairs of residents who talked so far today (small talk included).
One plain-language sentence that updates as the day goes on: how many residents have heard, how they feel on average, and the latest conversation and where it happened. It is the quickest way to follow what is going on without reading the log.
Use Colour: opinion or Colour: who knows under the map to switch. The legend row always shows your debateโs own two words. Click a resident to inspect them; click empty ground to deselect. Speech bubbles show the latest line, and at most two appear at a time so the map stays readable.
Residents walk the streets between home, work, the cafรฉ, the market, the park, the school and the clinic. The dot above each head shows how they stand:
> Grey has not heard the news yet
> Green has heard it and sits on the first side of the > debate (for example calm or skeptical)
> Red has heard it and sits on the second side (for example alarmed)
> Pale orangein โwho knowsโ mode: has heard the news
An MCP server for Society Agent: a deterministic simulation of how news spreads through an invented town. Give your agent three read-only tools and it can run a scenario, or test whether an intervention makes a clear difference instead of guessing from one run.
https://t.co/pn0g6vx58e
Society Agent is live.
Drop one piece of news into an invented town and watch 16 residents with jobs, habits and different levels of trust walk the streets, talk, and change their minds. Then change one move and see what actually changes.
What you can do:
Run a day and step in. Make an announcement or whisper to one resident, and watch opinions shift on the map, timeline and town log.
Experiment Lab. Runs the same random towns with and without your move, then tests the difference. In the water-main scenario, an official statement left the town 0.12 calmer than doing nothing, a clear difference rather than luck.
Reports. Turn any run into a printable write-up with findings, chart, key moments and resident quotes. PDF or Markdown, no wallet needed.
Reproducible. Same scenario, seed and interventions give identical numbers in any browser. Saved runs are wallet-signed and replayed by the server, so they canโt be edited.
Optional AI layer. Residents can speak and decide for themselves, and their choices are recorded so runs still replay exactly.
For agents
POST /api/agent/simulate and /api/agent/compare (read-only), MCP server via npx -y @societyagent/mcp, and SKILL.md in the repo.
Itโs a model of an invented town, not a forecast of real people. Open source (MIT), 112 unit tests, 45-check live security suite, CI green.
App: https://t.co/Lv5VjoTnh9
Docs: https://t.co/TYs6xJaAlZ
GitHub: https://t.co/8QAbRM3m8N
npm: https://t.co/pn0g6vx58e
Residents walk the streets between home, work, the cafรฉ, the market, the park, the school and the clinic. The dot above each head shows how they stand:
> Grey has not heard the news yet
> Green has heard it and sits on the first side of the > debate (for example calm or skeptical)
> Red has heard it and sits on the second side (for example alarmed)
> Pale orangein โwho knowsโ mode: has heard the news
The simulation screen: Every control, colour and number on the live town, and what it means.
The control bar > The bar under the title stays on screen as you scroll. Start / Pause / Resume controls time. The town waits at 07:00 until you press Begin the day (or Start), so you do not miss the moment the news breaks. Restart returns to that same quiet morning, with the same seed and nothing sent yet. 1ร, 4ร, 12ร set the speed: 2, 6 and 16 ticks per second. A full day of 144 ticks therefore takes about 72 seconds at 1ร, 24 at 4ร and 9 at 12ร. Restart (the circular arrow) puts the day back at 07:00 with the same seed, so it will play out the same way unless you step in differently. The bar on the right shows the progress through the day and the clock.
One person rarely decides a town. Making the official far more sociable sped the news up by about 1.3 hours (a clear effect), but weakening the journalist or the retiree produced no difference that could be told apart from chance. The lab says so when that is the case.
You can nudge a single personโs sociability, trust or leaning by up to ยฑ0.5, on top of the town character. It is a way to ask โwhat if this person were different?โ. In the lab each option can change a different person.
The street plan matters, but not the same amount in every story. Measured over 60 and 120 towns, news reached half the town about an hour sooner on the long main street for the water and school scenarios, but showed no clear difference for the clinic rumor. Do not assume one plan is simply โfasterโ.