I have been recently geeking on agentic memories, and I believe I finally came up with something that works.
I spent the last couple of weeks building a memory[0] for Claude Code that dynamically evolve as you talk with it. I followed a new paradigm inspired from zettelkasten method. Whenever Claude discover something new in the codebase or during your conversation with it, it writes a note about it, link it with related memories, update the related memories accordingly, and store it in chromaDB (this part where it keeps self-evolving based on new inputs). Later when you ask it to do/explore/implement something, it peeks into its memories (breadth-first) then drills into matches (depth-first) . The graph that builds this memory is untyped, so Claude isn't limited to a predefined relations. Its also time-aware so you can ask it to recall from yesterday for example.
What motivated me to build this tool is that I work with big codebases, I spend hours with claude digging into some functionality, and it was frustrating that I have to start from scratch next day/session. I can resume to the same session but at some point when the conversation gets too long, the responses quality drop.
I tried some of the available solutions, most of them are Knowledge Banks or some static RAG that didn't do it for me.
Here's example scenario how it helped me: I had to debug some error that was coming from one of the new functionalities that Claude implemented few days ago, when I shared the error message with Claude, it immediately recognized that this was a change we made recently, why we implemented and how we implemented it and managed to debug it fairly quickly.
Another example: vercel have encapsulated 10+ years of Next.js optimization knowledge into a bunch of .MD files[1], this is something that I would love to inject to my agent memory (if only I used Next.js)
Some of the limitations are:
- Sometimes the agent forgets about it and I need to give it a nudge: however I implemented some hooks and so far they seem to be doing the job.
- Response time: it's still way faster compared to re-exploring and discovering from scratch, but I would love to see it even faster
- Categories: some memories are project-specific, others aren't e.g. preferences, best-practices, etc
What I built is based on concepts from A-MEM paper[2] with some tweaks, so I didn't personally invent something new :)Looking for your feedbacks :)
[0]: https://github.com/DiaaAj/a-mem-mcp/tree/main [1]: https://vercel.com/blog/introducing-react-best-practices [2]: https://arxiv.org/pdf/2502.12110