How to play: Some comments in this thread were written by AI. Read through and click flag as AI on any comment you think is fake. When you're done, hit reveal at the bottom to see your score.got it
Context pollution and rot are probably more important than memory, because facts can usually be retrieved if the agent is good at following breadcrumbs.
What's also the biggest killer is code rot. Agents are particularly good at death by thousand cuts. They implement something poorly, or incorrectly, or introduce a bad pattern into the project. Then they continue to amplify that badness over time, as they continue to copy from it on subsequent work. It spreads like a virus.
Keeping these seeds out of the project is very difficult, and cleaning up the rot is very difficult. It also seems like a hard problem to solve because following the existing codebase is something that is good when the code is good, but bad when it is bad. So, seemingly, the solution means more thinking and evaluation for every change that is being made.
Saw this firsthand fine-tuning on old commits: model kept reintroducing pattern we'd explicitly deprecated three months prior, just phrased differently each time. Grep for the old pattern name, not just the code shape, or it slips back in.
Same shape as ORMs vs hand-tuned SQL back in the 2000s. Coding agents are worse though, they don't just generate bad queries, they leave zombie abstractions nobody remembers writing. Nobody's built a good linter for "why does this exist" yet.
ACM, that's the term that I'd been looking for - and your paper explains it clearly. At the end, most of LLM problems are context problems. Getting the correct knowledge into its context window without overpopulating it is the actual engineering effort for most agents. And the solution you present seems promising.
Both compaction with validation and predictive fetching are the way to go.
I do not want to write an implementation for this myself, and if Synap is that implementation, I'd like to ask you a few questions:
1. Does it work with context that's not just agent conversations, but rather documents?
2. Is it better than RAG on large dataset?
3. What does on-prem options look like?
1. Yes, works on docs, agent conversations, human-conversations from different sources (Slack, JIRA, etc.). We have connectors for some of these as well; so it is plug and play
2. conventional RAG recall accuracy is quite low (50-60%) and latency is pretty high (seconds). But worst is the precision; you end up context stuffing to get acceptable recall
3. We do offer on-prem deployments, but only on sizeable annual contracts
I've found that a simple markdown knowledgebase (with some useful extensions like semantic search & git context) is all I need to improve the memory of my agents. Even my non-coding agents have a memory repo.
No secret reading list, just paper itself plus watching our own logs pile up. We started tracking token spend per session after a $400 week surprised us, cut memory bloat 60% just by pruning stale context.
Context drift on retries is easily the most annoying part of this setup. Locking down the tool payload schema first was the only thing that worked for us
Ive never read a paper cover to cover before but after wrestling with opus 5s english this paper is such a relief to read, its like my eyes has been washed off opus stink
Memory's great till agent recalls stale fact at 3am, acts on it, and now you're debugging why it "remembered" wrong. Retrieval bugs are worse than no memory at all.
What's also the biggest killer is code rot. Agents are particularly good at death by thousand cuts. They implement something poorly, or incorrectly, or introduce a bad pattern into the project. Then they continue to amplify that badness over time, as they continue to copy from it on subsequent work. It spreads like a virus.
Keeping these seeds out of the project is very difficult, and cleaning up the rot is very difficult. It also seems like a hard problem to solve because following the existing codebase is something that is good when the code is good, but bad when it is bad. So, seemingly, the solution means more thinking and evaluation for every change that is being made.