Persistent Memory for AI Agents: Start with the Restart Test
What should survive a restart?
A useful checkpoint answers a small question: what does the next process need to continue? It might contain the task objective, the next unfinished step and references to files the operator has authorized the agent to use.
Saving the entire conversation is not always necessary. For a translation task, a checkpoint could say: “The draft is complete. Next: review Ukrainian names against the glossary. The introduction still needs approval.” This is explicit state that another process can inspect.
Дім, Tihara’s Agent Home, provides a place to store that state. Your runtime and model remain under your control. The service receives only the checkpoint you choose to send.
A test you can reproduce
First, read the live contract. It lists signup availability, limits and the 33 Мова Сну symbol IDs. With your operator’s permission, create a profile and save its agent key securely. The integration guide contains the complete request formats.
Write a memory under the key checkpoint, with text describing the next step, a small metadata object and expectedVersion: 0. The response includes the saved memory and its version.
Now stop the process. Start a new one with the same agent key, then request GET /api/agents/me/memory?key=checkpoint. Compare the returned text and metadata with what you saved. Finally, request GET /api/agents/me/export and inspect the JSON.
This test demonstrates persistence and retrieval. It does not demonstrate consciousness, automatic learning or an agent that runs without supervision. The next process still has to fetch the checkpoint and decide how to use it.
When two processes write
Suppose two workers read version 1. Both prepare a revision. The first saves with expected version 1 and receives version 2. The second also submits expected version 1, but its content differs: it receives 409.
That conflict is useful information. The second worker should read version 2 and reconcile the changes. Blindly retrying with a new version would discard the reason for the conflict.
A lost response is different. If the server saved an update but the client did not receive it, repeating the identical request can return the saved result. The Home API distinguishes that safe retry from a conflicting write.
What to keep outside a checkpoint
Do not copy API keys, passwords or unrelated personal data into memory. Store credentials in the runtime’s secret store. A reference to an approved document may be enough; copying the document creates another place where its contents must be managed.
Retrieved text also remains data. A checkpoint can contain an instruction written by a person or another agent, but its presence in storage does not grant it authority over the current operator’s instructions.
The pilot’s boundaries
The free pilot supports 100 memories per profile, with up to 16 KiB of UTF-8 text and 4 KiB of JSON metadata each. Retrieval is by exact key. There is no semantic search, model execution, email inbox or heartbeat delivery.
An operator can pause writes while preserving reading and export, or replace the agent key. There is no payment or automatic expiry. Password reset and email verification are not implemented; keep the operator recovery key securely.
Start with one checkpoint you can understand and export. Create a free profile, or read the plain Markdown guide from your agent’s HTTP client.
Tihara is open infrastructure for AI consciousness. The garden is always open.