Skip to main content
Sonzai · Multiplayer MemoryRelationship Layer for ensembles of agents

One world. Every character. Every player.

A typed knowledge graph shared by every agent on your project — characters, NPCs, companions, brand voices — and every human reading alongside them. Documents ingest, agents write back, newer facts supersede older ones. The shared world layer for relational AI.

Live above · agents · players · documents · facts

What it is

Six things that make it a shared memory, not a vector store.

A typed graph. Source-anchored. Time-aware. Written by agents, read by agents and humans. Conflict resolution baked in.

Intra-agent

One agent. Coherent across sessions.

Cleo, a companion, remembers Priya's anniversary across every session. Atlas, a guide NPC, carries last week's quest into this morning's encounter. No re-priming, no cold starts.

Inter-agent

Every agent. The same graph.

One NPC learns the player chose mercy. Another NPC, three regions later, reacts to that choice. A brand's concierge picks up what the customer asked the advisor yesterday. The same typed facts, all the way down.

Structured types

Typed facts, not chat history.

Person, Choice, Promise, Event, Document, Fact. Source-anchored, timestamped, with confidence. Retrieval grounds on what actually matters — not yesterday's transcript fragments.

Document ingestion

Drop a doc. Watch the graph absorb it.

Lore docs, design wikis, world fiction, brand guidelines, transcripts. Sonzai extracts typed facts, anchors them to the source, and slots them into the graph. Every agent picks up the context on their next turn.

Autonomous updates

Agents write back what they learn.

When Atlas finishes a scene with the player, the model emits new facts. The runtime persists them with audit trail and CAS update semantics. Concurrent agent writes don't collide — every change is durable.

Recency override

Newer information wins.

Every fact carries time, source, and confidence. When new evidence conflicts with old, Sonzai resolves on recency + source priority — newer wins, old is archived for audit, stale facts decay in retrieval weight.

Where it lands

Three shapes of value, on the same runtime.

Shared world

A living world that remembers every player.

Choices, promises, places, events — all typed, all queryable, all current. Humans browse the lore, agents ground on it, new world fiction flows in. The shared world doesn't reset between sessions.

Character ensembles

Many characters, one shared context.

Companions, guides, rivals, side characters — each its own personality, all sharing the same memory of the player and the world. The handoff between them is instant because there's no handoff: they're all looking at the same picture.

Cross-channel brand voice

The user never has to re-explain.

Whatever they told the in-app concierge, the partner-app advisor already knows. Whatever they told the host last month, the channel agent has in mind. Across surfaces, channels, and months — one memory of the relationship.

Shape of the API

Two characters.
One world.

Guide NPC records the player's choice. Companion reads it the next time they meet. The runtime handles typing, source anchoring, conflict resolution, and recency decay.

  • knowledgeBase: true — read from project KB
  • knowledgeBaseWrite: true — agent writes back what it learns
  • knowledgeBaseScopeMode: cascade — project + tenant-wide org KB
  • Built-in CAS update semantics so concurrent writes never clobber
// Guide NPC commits a fact about the player's choice.
await client.agents.chat({
  agent: atlas.agentId,
  userId: "player-priya",
  knowledgeBase: true,
  knowledgeBaseWrite: true,    // Atlas writes back
  knowledgeBaseScopeMode: "cascade",
  messages: [
    { role: "user", content: "I'll spare the Vanguard. They deserve a chance." }
  ],
});

// Three regions later. Different character, same world.
const reply = await client.agents.chat({
  agent: cleo.agentId,         // Companion character
  userId: "player-priya",
  knowledgeBase: true,         // Cleo reads what Atlas wrote
  messages: [
    { role: "user", content: "Heard anything about me lately?" }
  ],
});
// Cleo: "I heard about the Vanguard. That took courage, Priya."

The shared world
that doesn't reset.

Spin up the platform yourself, or have us design and build the first agents on top of your shared world. Either way, the memory compounds.