Customizing the Memory Manager
TheMemoryManager
controls which LLM creates and updates memories, plus how those memories are generated. You can customize it to use a specific model, add privacy rules, or change how memories are extracted:
Memories and Context
When enabled, memories about the current user are automatically added to the agent’s context on each request. But in some scenarios, like when you’re building analytics on memories or want the agent to explicitly search for memories using tools, you might want to store memories without auto-including them. Useadd_memories_to_context=False
to collect memories in the background while keeping the agent’s context lean:
Using Memory Tools
Instead of automatic memory management, you can give your agent explicit tools to create, retrieve, update, and delete memories. This approach gives the agent more control and reasoning ability, so it can decide when to store something versus when to search for existing memories. When to use Memory Tools:- You want the agent to reason about whether something is worth remembering
- You need fine-grained control over memory operations (create, update, delete separately)
- You’re building a system where the agent should explicitly search memories rather than having them auto-loaded
Sharing Memory Between Agents
In multi-agent systems, you often want agents to share knowledge about users. For example, a support agent might learn a user’s preferences, and a sales agent should be aware of them too. This is simple in Agno: just connect multiple agents to the same database.user_id
.