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
mastermindSDE•1h ago
AttentionBlock•1h ago
I am planning to extend for other agents. But now it should work with some caveats.
I have configured claude specific hooks, the hooks keeps reminding Claude Code to use the memory when needed.
Without them, the agents will keep forgetting to use it and you would need to keep nudging it