Learning Personalized Memory Gating from Delayed One-Sided Feedback: what it means for business leaders
Salesforce and UCLA researchers learn, per user, which extracted facts an agent's memory should keep, using only the delayed signal of whether stored facts were later retrieved, and beat admit-all and LLM gating at every budget tested.
1. What the method is
The paper trains the admit-or-discard decision that an agent's memory system makes for every fact it extracts from a conversation, and trains it per user rather than with one rule for everyone. The authors, from Salesforce AI Research and UCLA, treat the decision as a contextual bandit with apple-tasting feedback: a stored fact eventually reveals whether it was retrieved and used, a discarded fact reveals nothing, and the signal arrives only after an unknown delay. Their method, Warm-Start UCB, fits a linear scorer over fact embeddings on the labelled histories of other users, then keeps updating it online by ridge regression on the current user's own retrieval outcomes, with an optimism bonus so uncertain facts still get stored and generate feedback. They also publish the labelling pipeline that turns retrieval hits checked by an LLM judge into the utility labels.
2. Why the method was developed
Memory systems such as mem0 or MemGPT extract candidate facts from each session, store them, and retrieve them for later queries. Storage and context budgets are finite, so something must decide which facts deserve a slot. Existing systems apply the same criteria to every user: heuristics about stable preferences or profile attributes, policies learned from pooled long-context data, or an LLM prompted to judge each fact. The earlier PerMem-Bench work showed a wide gap between those methods and an oracle that knows which facts will matter. The authors' own analysis shows why: a classifier trained on other users predicts a held-out user's useful facts at AUC 0.62 to 0.67, while one trained on that user alone reaches 0.72 to 0.76, so usefulness is partly shared and partly personal. Nothing before learned the personal part from the system's own operating signal, nor modelled that the signal is delayed and visible only for stored facts.
3. Who should care
This touches any team we have that ships or buys a conversational assistant with persistent memory: product leads who own personalisation, the platform engineers who run the memory store and pay for its retrieval and context tokens, and whoever answers for data retention. The method replaces an LLM call per fact with a linear score over an embedding, so inference cost falls while gating quality rises, which matters to finance as well as engineering. It also creates a feedback loop that must be logged: which stored facts were retrieved and judged necessary. Our data and privacy people should note that the labels come entirely from the system's own retrieval behaviour, not from human raters, and that pre-training uses other users' fact histories, a cross-user data use that needs a policy. Vendors selling us memory layers should be asked whether their gating adapts per user at all.
4. How the method works
Each candidate fact becomes a feature vector, an OpenAI text-embedding-3-small embedding in the experiments, and a per-user linear parameter maps it to the probability the fact will later be used. The warm start fits that parameter by regression on other users' labelled facts and treats it as the centre of a prior. Online, a ridge-regression estimate for the current user is updated as feedback arrives, and each new fact is stored when its upper confidence bound on utility exceeds a threshold set by the cost of a wasted slot against a missed fact. Delay is handled with a fixed window of m sessions: a stored fact retrieved and judged necessary within the window becomes a positive label, otherwise a negative, and the estimate is rescaled by the probability the delay falls inside the window. Facts whose window is still open widen the confidence radius. The authors prove sublinear regret when the warm start is accurate, with a term that grows with the window.
5. How it was evaluated
Both benchmarks are synthetic, generated with the earlier PerMem-Bench recipe for 20 users each: PerMemBench-S averages 54 sessions and about 860 extracted facts per user, PerMemBench-L 150 sessions and about 2,450. Facts were extracted with mem0 and labelled useful when a later turn's query retrieved them and gpt-5-mini judged them necessary; only 14 percent of facts in S and 20 percent in L earn that label, and the first hit arrives on average 13 and 30 sessions after extraction. A check on 113 matched pairs found confirmed facts incorporated into answers at a score of 0.48 against 0.12 for unconfirmed ones. The main metric is retrieval-hit retention rate, the share of useful retrievals still possible under a fixed budget with oldest-first eviction, at budgets from 60 to 1,000 slots. Baselines are an oracle, admit-all, two gpt-5-mini gating prompts with capacity-aware variants, a frozen pre-trained scorer and a cold-start UCB, with hyper-parameters chosen on other users.
6. How it performed
Warm-Start UCB beat admit-all at every budget on both benchmarks. On the short benchmark it lifted micro-averaged retention from 17.4 to 24.1 percent at 60 slots and from 80.6 to 84.5 at 500; on the long one the gain ranged from 2.5 to 5.4 points, the best non-oracle score in eight of ten columns and a narrow second to the frozen scorer in the other two. The LLM gating prompts matched admit-all only at small budgets and fell to 47 against 81 percent at 500 slots, discarding facts that spare capacity could have kept. The oracle sits at 69 to 100 percent, so most of the headroom remains. Gains over the frozen scorer appear mainly at large budgets and later in the interaction, and grow with more pre-training users. The authors assume a stable per-user parameter, a known delay distribution and threshold, and equal value for every useful fact, and all data is synthetic. Our call: pilot it on one memory-backed assistant where retrievals can be logged, measured against admit-all. (Source: arXiv 2610.23812, 2026)
← Back to dossier index