Past few days, I’ve been trying to make the memory work in a crew of agents. I’ve read the Memory documentation a couple of times, but I’m still running into issues I was hoping you’d clarify a bit to me (or maybe there are bugs?). Here we go:
- Does Mem0, defined as an external memory, behave like a replacement for default OpenAI bindings for both short & long-term memory? Documentation only mentions default values for them
- What if Mem0 is defined as memory_config instead? And what should be used - memory_config or external_memory? I believe the latter, as user_memory is deprecated, but it’s still mentioned on the first place in the docs (and it’s hard to guess if memory_config is the user memory, or user_memory inside the memory_config)
- How can I reference the memory in the tasks? If I instruct something like “Before starting, consult your memory for any relevant information from previous runs related to keywords, competitor analysis, or content strategy”, it breaks Gemini 2.5 Flash Preview (Gemini returns 500). What I’d like to do is to have each agent have a memory that persists between executions and update it. Just like humans do
3a. If I use Mem0 (or any other memory) with Gemini 2.5 Flash Preview, it returns 500. I’m confused about what is passed to the model vs used by Crews
Sorry for throwing out questions, they may sound a bit frustrated as well, but the memory in CrewAI is a bit of a black box to me and I’ve tried a few of them (OpenAI, Gemini and Mem0). Every single one has its own issues. I love the framework though, it makes working with models so much easier, thank you for that