By default an agent remembers only the current conversation. Tensic can also give an agent memory across conversations: a running summary of everything that happened (Memory Bank), and a searchable index of past conversations (Memory Search). Use them for internal assistants where everyone using the agent may see the same information. Do not use them where users must not see each other's data.
How agent memory works: sessions, and why LLMs are stateless
An LLM is stateless. It receives a request, returns a response, and keeps nothing. Any "memory" an assistant appears to have is data that the platform stores and sends back to the model with each request. Tensic does this for you.
- Session memory (always on). Within one conversation (session) the agent remembers what was said. The session history is stored by Tensic and sent to the model on each turn.
- No sharing between sessions by default. A new session starts without knowledge of earlier ones. Ask "do you know anything about our previous conversations?" and the agent says no. This is deliberate: if your application serves many customers through one agent, shared memory would let one customer's information appear in another customer's conversation.
- Cross-session memory (optional). Turn on Memory Bank and/or Memory Search when all users of the agent may share information, for example a team's internal assistant.
Memory is not learning. The model itself does not change or improve from your conversations. The agent gets better answers because Tensic retrieves the right stored information at the right time. Describe this to users as memory, not as the AI "learning".
Enable Memory Bank on an agent
Memory Bank aggregates summaries of every conversation in the project into a shared memory that is injected into every chat's system prompt. It gives the agent general knowledge of what happened before, such as names, preferences and earlier requests, without being told again.
- Make sure the agent has an embedding model: Configuration > Embeddings. If the list is empty, allocate one to the team first (see Build an agent project).
- Open the Memory tab.
- Under Features, turn on Memory Bank.
- Read the warning: both memory features share conversation content across all users of the project. Do not enable them for projects with confidential per-user data.
- Click Save.
Memory Bank does not index in real time. A background job ("daydreaming") runs about every minute, reads the project's new conversations, summarises them and indexes them using the embedding model. New memories therefore appear shortly after a conversation, not during it. You can see the job run under Observability > cron runs, where the memory bank job is listed with its status and message.
Enable Memory Search and the search_memories tool
Memory Bank gives a general picture but not every detail. Memory Search indexes every conversation turn so the agent can look up specific past questions and answers by meaning, date or term. It works like RAG, but over the agent's own conversation history instead of documents.
- Open the Memory tab and turn on Memory Search. It requires an embedding model on the project.
- Click Save.
- Open Tools & MCP > Behaviour > Built-in tools and add the
search_memoriestool. - Click Save.
- Test in Playground by asking about something from an earlier conversation ("What did we discuss about the invoice?"). The agent calls
search_memorieson its own and answers from what it finds.
Use both features together when details matter over time. Memory Bank keeps the overall picture small; Memory Search recovers specifics that were compressed out of the summary.
Users rarely ask for these features by name. Requests such as "it should remember what we talked about" point to Memory Bank; "it should be able to look up what happened on a given day" points to Memory Search.
Set the memory token budget and understand compression
Everything sent to the model uses its context window, which is limited. Larger contexts are also slower and more expensive. The memory bank therefore has a token budget: the maximum number of tokens of memory added to each prompt. The default is 2,000 tokens.
The Memory Bank section of the Memory tab shows:
- The compression ladder: how many memory shards exist at each level: Conversation, Day, Week and Month.
- Token budget: current use against the cap, for example
558 / 2,000 (28%).
When the budget fills up, Tensic compresses: older conversation summaries roll up into day summaries, days into weeks, weeks into months, and the older entries are deleted to stay within the cap. Compression keeps the memory usable over months, but detail is lost as summaries roll up. If the agent needs exact facts from long ago, enable Memory Search as well.
To change the budget, edit it in the memory bank settings on the Memory tab and save. Raise it only if the model's context window and your cost targets allow it.
Inspect, export and purge an agent's memories
You can see exactly what the agent remembers.
- Open the agent's Memory tab and scroll to Memory Bank.
- Browse the shards. Each entry is labelled with its level (for example Conversation) and a one-line summary; click it to see the full bullet points, date and number of sources.
- Use the search field ("Search N shards…") to find memories about a topic.
- Open What the model sees this week to see the memory text currently injected into prompts.
- Under Memory Search, run any query to see the exact result the agent would get when it calls
search_memories. This is useful to check what context the model will receive for a given prompt. - Under Safe purge, click Export JSON to download a copy, and Purge all to wipe the memory bank. Purge removes every level at once; export first if you might need the data.
Memory and routines
Routines are scheduled, unattended agent runs. Their conversations go into memory like any other conversation. On an agent with Memory Bank on, frequent routine runs fill the memory with routine output, push out summaries of human conversations and trigger compression sooner.
- Keep memory for agents that talk to people.
- Run routines on a separate agent without memory, or keep memory off on agents that mainly run routines.
- If you must combine them, enable Memory Search so specific details stay retrievable after compression.
Common questions
Why doesn't my agent remember yesterday's conversation?
Memory is per session by default. Turn on Memory Bank (and optionally Memory Search) on the Memory tab.
I enabled Memory Bank but nothing shows up.
Check that an embedding model is selected on Configuration. Indexing runs in the background about every minute, so allow a short delay after a conversation.
Is it safe to enable memory for a customer-facing chatbot?
Only if all users may see each other's information. Memory is shared across every user of the project, so the agent could reveal one user's details to another.
What's the difference between Memory Bank and Memory Search?
Memory Bank injects a compact summary of past conversations into every prompt. Memory Search lets the agent look up specific past turns with the search_memories tool when it needs them.
Why did the agent forget a detail from months ago?
Older memories are compressed into day, week and month summaries to stay within the token budget, and detail is lost. Enable Memory Search to keep specifics retrievable.
Does the AI learn from our conversations?
No. The model is stateless and does not change. Tensic stores memories and sends the relevant ones to the model with each request.
Can I delete what the agent remembers?
Yes. On the Memory tab, use Export JSON to keep a copy and Purge all to wipe the memory bank.