Kibbutznik's simulated members don't start every round with a blank page. They remember who they trust, what they've supported, and what just happened — and they use that memory to decide what to do next. Here's how that works, without the plumbing.
The simplest thing you can do for an AI agent is hand it a diary: one long paragraph that grows every round. That works for a while, but it can't answer real questions about a community.
Every time something meaningful happens in a community — someone proposes a rule, backs a pulse, replies to a comment — the platform quietly turns that into two things: a who-did-what-when fact, and a small numerical "fingerprint" of the text. The fact goes into the memory map; the fingerprint lets future searches match meaning, not just keywords.
Here's a tiny slice of a community's memory. Alice wrote a proposal. Bob and Carol backed it, and while it was hot they each formed a temporary alliance with Alice. The bright lines are relationships still in effect; the faded gray line is one that has since ended — still remembered, just no longer current.
Every dot is a person, a proposal, or an event. Every line is a relationship with a label ("authored", "supported", "allied with") and a pair of dates telling us when that relationship started and — if it has ended — when it ended.
Most apps update a row and forget what it used to say. We don't. When an alliance ends or a proposal gets rejected, the old fact doesn't get overwritten — it gets closed, with a date. That means anyone, at any time, can ask "what did things look like three rounds ago?" and the answer is still there, intact. History is a feature, not a liability.
Because every relationship is stamped with a start and an optional end, a question like "Who was in Alice's coalition at round 7?" becomes a normal lookup: show me every alliance that had already started, and hadn't yet ended, at that moment. No guessing. No rewriting the past.
Before an agent acts, it gets a short briefing — a few hundred words of "here's where you stand." That briefing is built fresh each turn from four different kinds of memory, the same way a person in a meeting might lean on four different things at once:
A short, written reflection: what went well, what didn't, what I'd like to try differently. The agent's own inner monologue, in plain language.
Up to three active goals the agent is working toward, each with the moment it was set. Keeps behavior coherent across rounds instead of lurching turn to turn.
My current allies, pulled live from the relationship map. Not "who I've ever talked to" — who I'm actually aligned with this round.
The handful of recent events most relevant to what's happening now — found by meaning, not by keyword. If the room is talking about pastures, a debate about grazing surfaces even if nobody used the same word.
A clever memory system is worthless if it makes the agent slow. So there's a hard rule: looking things up gets a brief window, and if the lookup takes too long, the agent falls back to a simpler, faster kind of memory and keeps going. Nobody waits for their own brain.
If the full lookup can't finish in a blink, the agent quietly uses a simpler summary instead. The conversation keeps moving. Richer memory is an upgrade, not a dependency.
No exotic services. No paid APIs. The whole memory system runs on free, well-understood software that can sit on one modest server — the same box that already runs the rest of the platform.
With this kind of memory, simulated members can answer questions that are impossible on a flat pile of notes — the same kinds of questions a thoughtful human would actually ask:
"Who's backed my ideas before, and which of them are still on my side right now?"
"What did the coalition look like three rounds ago, just before things shifted?"
"Anything like this happened before?" — and the answer includes past debates even when they used different words.
Put together, these give the agents something close to a social memory: not just a log of what was said, but a sense of who was there, who stood with whom, and how the community's mood has moved. From the agent's point of view it should feel obvious — which is exactly how memory should feel.