There are a lot of external LLM/AI memory managers out there and they use the most common denominator to expose the "memories": MCP
A typical setup is: a harness plugin that reads the conversations after they finish, create "memories" from them, then hope the next session uses that MCP tool to "remember" stuff. Where this fails is when you expect your agent to finally "learn" how you work. Even having to say "use your memory to see how we do releases" is friction, AND eventually, you'll forget to say that. Ideal world, iff an agent is going to be your colleague, you'd just say "cut a new release", and it would either know how to do it or would know where/how to get that information and follow that through.
One may argue that these instructions should be codified in `AGENTS.md` files but these are like your developer docs: always out of date (slightly if you are lucky and a lot if you are typical like myself).
With Lore, I'm trying to fix this by automatically injecting relevant preferences, gotchas, and "memories" into the context at multiple different points. Since we are an LLM gateway sitting between the harness and the LLM provider, we have full control over the context, and this is part of active context management.
I've started building Lore because none of the existing "memory" solutions solved my real problem: my agent stopped every 5-10 minutes to "compact" and forget every important thing we covered before these compaction stages.
I hate repeating myself and I was a very strong AI-skeptic so I almost gave up until I came by Mastra's Observational Memory post. Soon after I saw Sanity's Nuum and I knew I had to try porting this to OpenCode.
Lore is the evolved version of this: it is harness-agnostic, works with OpenAI and Anthropic backends and I added Vertex and Bedrock support just recently (hopefully works? :D).
Would love to hear your thoughts about the memory craze of now and using solely MCP-based solutions while ignoring the context management in the active sessions and how we ended up accepting this primitive and terrible solution as our daily driver :D
A typical setup is: a harness plugin that reads the conversations after they finish, create "memories" from them, then hope the next session uses that MCP tool to "remember" stuff. Where this fails is when you expect your agent to finally "learn" how you work. Even having to say "use your memory to see how we do releases" is friction, AND eventually, you'll forget to say that. Ideal world, iff an agent is going to be your colleague, you'd just say "cut a new release", and it would either know how to do it or would know where/how to get that information and follow that through.
One may argue that these instructions should be codified in `AGENTS.md` files but these are like your developer docs: always out of date (slightly if you are lucky and a lot if you are typical like myself).
With Lore, I'm trying to fix this by automatically injecting relevant preferences, gotchas, and "memories" into the context at multiple different points. Since we are an LLM gateway sitting between the harness and the LLM provider, we have full control over the context, and this is part of active context management.