Memory-stream agents and fixed decision heads
Generative-agent designs give each character a memory stream with retrieval, reflection and planning. Parlour gives everyone the same nine questions over a purpose-built state object, which is cheaper, steadier and less ambitious.
Two different jobs
Memory-stream agents are built to be believable over time. A character accumulates observations, retrieves the relevant ones, reflects on them into higher-level beliefs, and plans a day. That is the right architecture when the thing you are studying is whether an agent can sustain a coherent life.
Parlour is built to make a room legible in five minutes. Nobody needs to remember last Tuesday; they need to read the table they are sitting at right now. So there is no memory stream. Each call is a fresh look at a state object written from one person's side of the room, and the continuity lives in the world instead of in the character's head.
What each buys and costs
| Memory stream | Fixed decision head | |
|---|---|---|
| Continuity | in the agent | in the world state |
| Calls per decision | several (retrieve, reflect, plan, act) | one |
| Output | text, then parsed | typed answers with distributions |
| Tunable by | prompt and retrieval weights | prices, gates, thresholds |
| Fails as | drift, contradiction, expensive silence | flatness, if the rules are flat |
Why this one went the other way
Because the interesting object here is the rule, not the agent. If a character betrays somebody, a watcher should be able to answer which rule fired and on what number, and that is only answerable if the decision is one typed call with a measured bar behind it.
It is also what makes the thing affordable enough to leave running in public: three cents a party, and four hundred villagers on about thirty guts.
When to reach for the other one
If your simulation's payoff is long-horizon, with an agent that should remember a grudge from six sessions ago or plan a week, a state object will not carry it and you want retrieval. The village splits the difference: relationships are one number per pair, written by the day's company, which is memory enough for a grudge without being a memory system.
Read next
The state object: what one character can see
Each call carries a JSON state built for one character: their own condition, the people in reach, what they can remember of the last few beats, and the arithmetic of the prize. Never the whole world, and never the rules.
Who knows whom, cheaply
Every relationship is one number in a capped per-person map, written at midnight from the day's company: an evening at the same table, a shift at the same bench, a pew, a basket at the door, a fist. None of it is ever sent over the wire.
Building an LLM simulation, in order
Write the resolution rules before you write a prompt. Build a world that plays without a model at all, replace the decision function with one, and measure every threshold against what the model actually returns.
Four hundred agents, a few dozen guts
The village asks the model about roughly thirty people on a cadence, plus anyone at all who is facing a real choice, capped at two calls a second across the whole valley.
The nine-question pack
Every character answers the same nine questions every beat, in one evaluation call: action, target, mask, hunger, threat, betrayal, two questions the room cares about, and what they have left afterwards.