agent memory: LongShortTermMemoryStorage#2568
Conversation
|
@Lancetnik Hey Nikita, this is one of the research students I'm working with for implementing a memory module @yuyijiong maybe we move the actual files under |
|
@yuyijiong Hi! Sorry for the delay. I like your feature and the PR looks great. However, I feel that it's more like a plugin than an integrated part of the framework. This week, we want to create and release a policy for third-party plugins. I believe it will be called |
|
@yuyijiong |
Yes. It's OK. |
|
Update since the first commit:
|
|
Thanks for the LongShortTermMemoryStorage contribution — the core idea (core + long-term + short-term memory blocks with LLM-driven consolidation, no RAG) is interesting. However, the PR has several issues that need to be fixed before review: 1. Unintended deletions in core files The diff removes 2. CI config modification The PR modifies 3. Limited CI coverage Only 2 checks ran (labeler + CLA) rather than the full 19-check suite. This usually means the CI trigger didn't fire correctly. Root cause: Your fork is likely behind upstream
No modifications to |
|
This three-tier design resonates — I have been building something similar and the biggest lesson was that LLM-driven summarization alone is lossy in ways that are hard to predict. Specific details (entity names, timestamps, numeric values) get silently dropped during consolidation, which then breaks downstream recall on factual questions. What worked better for us is combining the summarization with a knowledge graph that extracts entities and relationships before compression happens, so the graph preserves the structured facts even after the prose summary loses them. The other thing worth considering is cross-agent memory: if agent A consolidates a memory block, agent B working on the same task should be able to recall from it via a shared namespace rather than re-ingesting the raw history. We implemented this with session-scoped namespaces — the JS SDK shows the pattern: https://github.com/Dakera-AI/dakera-js |
This is a simple design of agent memory, consisting of core memory, long-term memory and short-term memory. There is no RAG, instead, we simply ask the agent itself to summarize and consolidate its history into memory blocks, and recall the details of the blocks when needed.
We implement LongShortTermMemoryStorage in autogen/beta/example_LSTMS.py. The usage example is in autogen/beta/long_short_term_memory_storage.py.