Skip to main content
Every question goes through the same pipeline — ingest → search → answer → evaluate → report — and produces two different kinds of signal: a qualitative judgment on whether the answer was actually right, and quantitative measurements of how fast and how expensive getting there was. MemoryBench keeps both instead of collapsing everything into a single number.

Qualitative: was the answer right?

Correctness isn’t decided by string matching — a judge LLM (GPT-4o, Claude Sonnet, or Gemini Flash, your choice) compares the provider’s answer against ground truth and returns a verdict:
The judge is judge-agnostic on purpose — score the same run with two different judges if you want to sanity-check that a result isn’t an artifact of one model’s grading bias. The prompt the judge uses can also vary by question type (temporal questions get graded differently than abstention questions, for example), and providers can supply their own judge prompts if their answers need custom framing.

Quantitative: how fast, how much

Alongside the correctness verdict, every question also records hard numbers:

MemScore

The report doesn’t reduce these to one score. MemScore reports the three that matter for a production decision side by side:
A provider that’s 2% more accurate but 5x slower and 3x more expensive in context tokens isn’t unambiguously “better” — MemScore leaves that trade-off to you instead of picking weights for you.

Reading the numbers

Rough bands, from running MemoryBench across the built-in benchmarks: Per-question-type breakdowns are usually more useful than the headline number: strong on LoCoMo but weak on LongMemEval means good temporal/cross-session recall but weak dense-retrieval; the reverse means the opposite. That’s what tells you what to actually go fix.

Digging into a specific run

Results and checkpoints for every run live at data/runs/{runId}/report.json, with per-question-type accuracy, latency percentiles, and per-question token counts.

Next

Adding a Provider

Get your own system into a run that produces these numbers.

Building a Benchmark

Measure against scenarios specific to your product.