For anyone building memory

Six pitfalls of AI memory,
and which ones we actually escaped

2026-10-29 · Source: 11 Hacker News threads on memory products, 632 real comments (scraped 2026-10-26)

Before building this, we went through every Hacker News thread about AI memory: 11 threads, 632 comments. We weren't looking for praise. We were looking for the reasons people tried memory and then stopped.

These six were the sharpest. Each one follows the same order: what they said → where the trap is → why it happens → whether we escaped it.

One thing up front: on two of these we only got halfway. On one, we were simply wrong about what users care about. Both are written out plainly below. A memory system that only tells you what it got right probably won't tell you when it's wrong either.

01Memory makes the agent worse

"I know everybody seems to want the agent to remember every conversation they've ever had with it, but I just don't see the value in that. In fact, it seems to hurt productivity to have the agent second guessing me based on something I said yesterday... the agent gets distracted from the current tasks based on previous conversations... often comingling unrelated projects." — SwellJoe, Hacker News

The trap: treating "remembers a lot" as "remembers correctly". What people want isn't omniscience — it's not being dragged back to last week in the middle of today's task.

Why it happens: most memory systems store everything and search everything. A throwaway decision from three weeks ago and a formal conclusion from this morning sit at identical rank. Both surface, and the model has to guess which one still applies.

How we escaped: we put the gate at write time, not search time.

The side effect: your store grows much slower than a "fully automatic memory" would. That's the point — everything in it is something you personally approved.

02Stale facts weigh the same as current ones

"The agent gets distracted because every old fact has the same weight as the current one. That's a salience problem. What works in production for me is typed memory with very different decay curves: personality and relationships are essentially permanent. Preferences fade in months. Stated intent fades in weeks. Emotion and events fade in days." — mtrifonov, Hacker News

The trap: thinking this is a ranking problem. It's a "how long should this be kept" problem. No amount of ranking rescues a memory that stopped being true.

Why it happens: inverted indexes and vector similarity measure "how similar", never "does this still hold". They have no concept of time.

How we escaped: halfway, and we'll say so plainly.

03The granularity trap

"I still haven't found useful 'memory'. It's either an agents.md with a high level summary, which is fairly useless for specific details... or something detailed... which seems to give too much detail such that it gets ignored, or detail from one functional area contaminates the intended changes in another functional area." — Incipient, Hacker News

The trap: assuming "one memory" is a well-defined unit. It's pulled in three directions at once: summaries build context, details drive execution, and cross-project work needs isolation.

Why it happens: one granularity, many purposes. A single record can't be both summary and detail, and mixing them means they contaminate each other.

How we escaped:

04Plaintext files bloat, and they carry noise

"Using MD files for this is fine till a point. If you keep on adding information in your md file it will bloat up and have a huge amount of data to go through, it might also have some noise which will be picked each and every time that md file is read." — SachitRafa, Hacker News

The trap: "plain files you can read and take with you" is our core selling point, and this lands right on it. Readable is not the same as clean.

Why it happens: file-based storage that only ever grows is a junkyard after a year. Worse, noise doesn't disappear — every full read picks it up again.

How we escaped:

05"Memory" is actually ten different things

"It may seem useful at first, but eventually you'll hit a wall... what people want by 'memory' is actually 10 different things which all need their own solution." — 0xbadcafebee, Hacker News

The trap: building one universal memory to cover everything. Facts, preferences, commitments, relationships, emotions, tasks — different decay curves, different notions of correctness.

Why it happens: "memory" is one word in the pitch and at least six different data structures with six different freshness rules in the implementation.

How we escaped: we accepted it, then split by purpose rather than by type — main line / to-do / archive / reference, plus four encrypted private vaults.

That's a trade-off. Purpose-based splitting matches human intuition ("this belongs in to-do"); type-based splitting is easier for a machine ("this is a preference, decays monthly"). We chose the former because this store is meant for you to approve, not for a model to tune automatically. The cost is exactly pitfall 02 — typed decay still has to be built separately.

06The selling point we got wrong

Of 632 comments, those touching privacy / data ownership numbered 4 (0.6%); those touching lock-in / portability, 5 (0.8%). Those touching retrieval, vectors, graphs: 165 (26%). — our own count; method at the end of this page

The trap: we had been leading with "your data stays yours, no cloud". In this corpus, that's barely a topic. Technical audiences ask "does it work" before "who owns it".

Why it happens: data sovereignty hurts after a loss; inaccurate memory hurts every day. People fix the daily pain first. (Our inference, not something the comments state directly.)

What we changed:

This one was our mistake, not someone else's pitfall. It's written down for anyone else building in this space: don't assume that because local encryption is harder to build, it's worth more in the market.

Data and method (checkable)

Why a whole page for the criticism: because repeating "we're safer" long enough starts to work on yourself. Of these six, 01, 03 and 04 are places we genuinely did the work; 02 and 05 we got halfway; 06 we were wrong. Laying out the proportions honestly is more useful than claiming we solved everything — it also lets you judge whether this thing is worth installing at all.
← Home