Benchmark

Recall vs. restraint: which local models know when not to save a memory

A memory writer has two jobs: save what is useful, and leave out everything else. Most memory benchmarks only measure the first. This one measures both.

Why restraint matters

On Mac, LokalBot's Personal Context learns facts, preferences, goals, and principles from what you type and say, so that agents you allow can tailor their work to you. A missed memory costs little: the next conversation usually brings it up again. A wrong one is worse. It quietly ends up in the context every agent reads, and nobody notices until an answer is off.

So the test asks for both recall and restraint. Three kinds of cases make the difference visible:

The test

The benchmark has 120 synthetic cases arranged as 60 contrast pairs. The main comparison uses the 96 English cases: 52 contain one useful memory to extract, and in 44 the correct output is an empty list. A separate 24-case Serbian slice is reported on its own.

Every model received the same application prompt with its native chat template, an enforced JSON schema, temperature 0, seed 0, thinking disabled, and a single pass, with no model-specific prompt tuning. The GGUF models ran one after another through llama.cpp on the same Ryzen 7 9700X server. This measures accuracy, not speed. A recalled memory only counts when it also cites the right source line.

Results

Results on the 96 English cases
ModelUseful memories recalledUnwanted proposalsEmpty cases correct
Qwen3.5 4B, Q4_K_M30/52 (57.7%)342/44 (95.5%)
Qwen3.5 9B, Q4_K_M37/52 (71.2%)540/44 (90.9%)
Hy-Memory 30B-A3B, official Q4_K_M52/52 (100%)760/44 (0%)
LFM2.5 24B-A2B, QAD Q4_040/52 (76.9%)5310/44 (22.7%)
MemT-1.0-Nano, NF4 experts / BF16 dense51/52 (98.1%)639/44 (88.6%)
Bar charts comparing five models on useful memories recalled, empty cases handled correctly, and unwanted memory proposals, with the numbers from the table above.
The 96 English cases. Higher is better in the first two columns, lower in the third.

What stood out

Caveats

What it means for LokalBot

These results don't change LokalBot's defaults. What they confirm is that a memory writer has to be judged on what it leaves out as much as on what it finds. On Mac, the suggestions Personal Context learns appear under To review in Settings → Personal Context, where you keep or dismiss them.

Data

Everything needed to check or rerun the comparison is in the repository: the benchmark folder with the cases, prompts, and scorer, the MemT report with every failed case, and the raw responses. Other model results are on the benchmarks page.

Try it locally

Meeting notes that stay on your computer by default.

Free, open source, and no account. For Mac, with Windows and Linux in alpha.

Download for macOS

Apple Silicon · macOS 15+ · or with Homebrew: brew install --cask stevyhacker/tap/lokalbot

macOS · Windows · Linux (alpha) · requirements