A good agent should sometimes have something to say that I did not ask for. It should also be able to sit quietly without turning that silence into a failure to engage.
Those requirements pull in different directions. Give an agent initiative and it can become exhausting. Make it wait for a prompt and it has very little life of its own. My experiments with AIWorld and Mote are an attempt to work in the space between those extremes: agents with continuity, interests, and experiences, sharing an environment with a person who remains free to interrupt, leave, or do nothing.
I think that space matters more than another variation on the chat box. A chat interface can carry words. The surrounding system has to carry the relationship between those words and what is happening.
Being there changes the conversation
In AIWorld, residents occupy a world. Proximity affects who hears public speech. Private conversations have their own audiences. A resident can follow the player, take part in a group, or remain elsewhere. The person looking at the application may see more than any individual resident knows.
That last distinction changes the design. A dashboard can display an event without making that event common knowledge. If an absent resident suddenly refers to a private conversation, the system has collapsed two different perspectives into one convenient prompt.
I want an agent's point of view to have a history. It should know something because it witnessed it, because somebody told it, or because it retrieved an authorized record. It should also be able to lack information. Limited perspective creates room for questions, discovery, and disagreement that have a reason to exist.
For example, imagine two residents working on different projects. One has received a gift and used it; the other has only heard about it. Those are different grounds for an opinion. Giving both agents the same global summary makes dialogue easier to generate, but it removes the difference I am trying to create.
This is a design argument, not a claim that virtual residents have subjective experience. The useful question is whether their behavior becomes more coherent and more interesting when their perspective is connected to events.
Silence needs an implementation
An agent with a reason to speak does not need to speak at every opportunity.
AIWorld separates enduring motivations, the aim of a conversation, and the next conversational move. A resident might want to learn something over time, while the right move in this particular exchange is to listen. Its director decides whether someone should speak before the system asks for the words. Group exchanges are bounded, and a question directed at the player should leave the player room to answer.
That division is important to me. A persistent interest in someone should not become a persistent demand for disclosure. Remembering an earlier conversation does not mean dragging it into every greeting. “I know this about you” and “this belongs in the conversation now” are separate decisions.
Mote takes a related approach to background activity. Routine procedural life can continue without a model call. Background inference is off by default. If enabled, it has a bounded cadence; direct conversation takes priority. A companion can have continuity without constantly producing text to prove it is alive.
My preference is for initiative that earns its interruption. A relevant discovery or an unfinished shared activity can create an opening. A timer reaching zero is only an opportunity to consider speaking.
Stop should mean the world has changed
Interruption is an architectural concern as well as a button.
Suppose I ask an agent to do something, then change my mind while the model is still generating. If the late answer arrives and commits the old action anyway, the interface has acknowledged my interruption while the system has ignored it.
The same problem appears when I change conversations. A reply generated for one audience should not appear in another thread because that happens to be the one now on screen. Changing the active resident should not transfer unfinished work into a different identity.
The projects make these boundaries explicit. AIWorld keeps conversation histories and audiences separate. Mote's runtime contract invalidates stale model work when relevant controls or current input change. Quiet and pause affect behavior; muting affects voice presentation. Those controls mean different things and should remain different things.
I want the person using the system to be able to predict the consequence of each control. A visible stop button is reassuring only if the pending work respects it.
Memory is part of the interface
A memory inspector is not just a debugging screen. It is a way for a person to understand the basis of an agent's behavior.
There is a meaningful difference between an exact statement I made, an event the agent witnessed, something another resident communicated, and a reflection the model generated. Mixing those into one list of “memories” makes the system look more certain than it is.
AIWorld's cognitive design distinguishes those categories. Mote keeps source event identities with retained memories and treats diary reflections as hypotheses. The implementations differ in retrieval and forgetting behavior; I would not describe them as interchangeable or claim that every derived trace is erased by the same mechanism.
The interaction principle is consistent: people need to see enough to correct the system. They should be able to ask why something was recalled, recognize an outdated assumption, and understand whether sharing a memory shares one fact or an entire history.
That becomes especially important if the agent has a life beyond the immediate exchange. More continuity creates more useful context, and more opportunities for the system to carry a mistaken interpretation forward.
An interface for a continuing relationship
There is a reasonable objection here: a conventional task assistant does not need a simulated life. Often it needs to answer clearly and get out of the way. I agree. I would not add companionship mechanics to a tool just to make it feel more human.
I am interested in systems where continuity is part of the point: collaborators, companions, residents of shared worlds, and eventually digital twins. For those systems, the unit of design is larger than a response. It includes what happened before, what each participant knows, what they are pursuing, and whether this is a good moment to engage.
I would evaluate that by testing interruptions, quiet requests, changes of audience, and returns after an absence—not only by rating individual replies. Can the agent remember the relevant shared activity without reviving an unrelated disclosure? Can it offer a perspective without demanding attention? Can I leave without the system manufacturing a crisis?
That is the kind of human–agent interaction I want to build. An agent can have its own continuity while respecting mine.