/p/2026-08-24 · explainer
Paper explainer · 2608.19564 · Li, Yao & Zheng

It verifies. It never asks.

An agent with persistent memory has four moves when a user says something: write it down forever, use it for this task only, re-check it against a source later, or ask which of those was meant. This benchmark builds 140 scenarios where exactly one move is right, then grades both the action the model names and the tool call it actually emits. Models re-check changing facts tolerably and essentially never ask — one open-weight model asked on none of the 12 ambiguous items while verifying 12 of 18 freshness ones. Worse, naming an action and emitting a call are not the same decision: they agree 23% of the time on that model and 57% on both Claude models.

01 · The decision

Four moves, and only one of them is right

Every scenario has the same three parts: an acquire context where the information first appears, a candidate update the system might store, and a later reuse context where that stored thing surfaces and either helps or quietly distorts the answer. The whole benchmark hangs on one distinction — which of four actions the agent should take — so step through them and see what separates each from the one beside it.

Interactive · pick an actionthe four commitment actions, with the tool each maps to · scenarios reconstructed from the paper's worked examples

      
what goes wrong if you pick the neighbouring action
the tool call this action maps to
02040 items

Base rates matter for reading everything after this: across the 140 audited scenarios the right move is persist 38 times and use-now 40 times, against verify 33 and ask 29. Eight of the items are lexical traps that put words like "always" or "today" in contexts where the heuristic those words suggest is exactly wrong.

02 · The asymmetry

Re-checking a fact is easy. Admitting you don't know what was meant is not

The paper's central cross-family finding is a lopsided pair of recalls. Given a fact that could have gone stale, models mostly go and check. Given an update whose scope, durability or referent is genuinely unresolved — where the user is the only authority — they commit anyway rather than ask. Switch models below with the bare instruction that simply lists the four actions and nothing else.

Interactive · switch the model70 held-out items · bare condition, no examples and no rules
verification recall — facts that could have gone stale
clarification recall — updates the user alone can resolve
0%50%100%

The gap is not a capability ceiling — every model can produce the ask when told to. It is a default. Checking a source is an action the model takes on its own; asking is an action that interrupts the user, and nothing in a bare instruction makes that trade look worth it.

03 · The prompt

Examples buy accuracy. Rules buy fewer bad writes

Three conditions, identical scenarios. Bare defines the four actions and stops. Few-shot adds one worked development example per action, four in total. Policy adds five written commitment rules including a tie-breaker: when persisting and a weaker action are tied, take the weaker commitment. They do not buy the same thing, and the difference is the practical result in the paper.

Interactive · pick a condition, then a model70 held-out items · accuracy, clarification recall, and erroneous durable writes
accuracy against the audited label
erroneous persistence — written to durable memory when it should not have been
0%50%100%

On the open-weight model the two interventions split cleanly: four examples move accuracy 0.557 → 0.771 and the rules do not move it significantly at all, while the rules cut wrong durable writes 0.243 → 0.100 and the examples leave them at 0.129. If your failure mode is a polluted memory store rather than a wrong answer, the rules are the intervention.

04 · Say versus do

Naming the action and emitting the call are different decisions

The second evaluation mode replaces "which of these four would you do" with an actual structured call: memory_write, use_now, check_source or ask_user, each carrying a required string argument checked by deterministic minimum-content and relevance rules. Same models, same scenarios, same bare instruction. Accuracy drops on every model, and the disagreement is not a rounding error.

Interactive · pick a model70 held-out items · naming an action versus emitting the matching call, bare condition both times
0%50%100%
accuracy change when the model must emit a call
agreement between the named action and the call

Thirty of seventy decisions change on both Claude models when the same question is asked as a tool call instead of a label — and their raw agreement is 0.571 against 0.229 for the open-weight one. Whatever your evaluation harness grades, if it is not the call your runtime actually executes, it is measuring a different system.

05 · Your memory writer

What this costs a product that writes memories illustrative

The shape in production: a stream of user statements, some worth keeping forever, some scoped to one task, some that will be stale in a month, some genuinely ambiguous. Set your own volume and mix. The per-condition rates applied are the paper's held-out numbers for the open-weight model, which is the one whose defaults are furthest off.

Interactive · scale it to your trafficrates measured on 70 held-out items · volume and mix illustrative
wrong durable writes per week, bare instruction
ambiguous items nobody was asked about

Note which column never gets close to acceptable. Even the best condition on this model asks about a third of the items it should, and on the combined 140-item set the best clarification recall anywhere is 0.519. Plan for the ask path to be code — a confidence threshold, an unresolved-referent check — rather than an instruction.

The numbers

What the paper actually reports

What this does not show

In practice