Skip to content

Stop choosing. SurrealDB launch week, 12-16 October

See what's coming

Agent memory benchmarks are baked

Engineering
Featured
Release

Oct 14, 20268 min read

Tobie Morgan Hitchcock

Tobie Morgan Hitchcock

Show all postsAgent memory benchmarks are baked

Our newsletter

Get tutorials, AI agent recipes, webinars, and early product updates in your inbox every two weeks

Every agent memory vendor publishes a benchmark score. While most of these scores are true, very few of them measure the same thing.

We read the test harnesses (the code that runs a benchmark), prompts, judge settings and per-question output files behind the published scores on BEAM and LoCoMo, two benchmarks for agent memory, and we did the same for our own. A memory benchmark score is the result of several choices: which model writes the answers, which model judges them, which prompts they get and which scoring rule turns the judgements into a number. Change any one of these and the score changes. Without them, a headline score is hard to interpret.

This post describes what we found when we ran SurrealDB Agent Memory on these benchmarks, what we changed in our own run, and every number behind our headline score, including the ones that lower it.

BEAM gives a memory system long conversations, up to ten million tokens, and then asks questions about them. An answering model writes each answer from what the memory system retrieves. For each question, the benchmark lists the points a correct answer must contain, called rubric items. A judge model scores each rubric item 0, 0.5 or 1, the question's score is the average of its items, and the headline is the mean across all questions.

Each step has settings that a vendor chooses. Who answers? Who judges? Does the judge see the question? Does the answering prompt know what kind of question it is? Does half credit count? How is event ordering scored?

While none of these settings is dishonest on its own, a headline score rarely says how they were set.

All of these practices appear in published runs. The code and output files for each are linked from our benchmarks page.

1. The answering prompt includes parts of the answer. BEAM stores metadata with each question, such as the topics a correct answer has to put in order. Hindsight's April 2026 harness and Exabase's published prompt add fields from this metadata to the answering prompt. In Hindsight's own outputs, 66 of 70 event-ordering answers name every expected topic, and none of those topics appears in the question. HydraDB says it reused Hindsight's original prompts unchanged, and it has published no outputs.

2. The question category chooses the prompt. BEAM sorts its questions into categories, such as event ordering and instruction following. Hindsight, Exabase and Cognee choose an answering prompt based on the question's category, and Honcho sends instruction-following questions through a separate pipeline. In production, a memory system does not know in advance what kind of question it is about to answer.

3. The scoring rule gets more lenient. The BEAM paper scores event ordering with Kendall tau, a measure of how closely the answer's order matches the correct order. A rubric average only checks whether each event is mentioned, in any order. Mem0 and Cognee use the rubric average. We use Kendall tau, as the paper does. Event ordering is our lowest-scoring category, so this choice lowers our mean, but it is the only rule of the two that checks whether the order is correct, which is what the category exists to test. Scored by rubric average, the same answers would read 79.3% instead of 77.2%.

4. The retrieval budget grows. Mem0's headline on BEAM 1M (the version with conversations of one million tokens) gives the answering model up to 200 memories. Mem0’s own files show a score of 64.1% with 200 memories and 60.4% with 50. Our published run gives the answering model the top 50 memories.

5. On LoCoMo, the hardest questions are removed and the judge accepts near misses. LoCoMo groups its questions into five categories. Category 5 holds the adversarial questions, which cannot be answered from the conversation, so a correct response says that the information is not there. Following the Mem0 paper, most published LoCoMo scores leave this category out. Mem0's judge also counts an answer as correct when it gives one correct item out of a list, or a date up to 14 days away from the right one. In April 2026, an audit by Penfield Labs found that LoCoMo's judge accepted 62.81% of answers that were deliberately wrong but on the right topic.

The choice of models also affects the score. Most vendors use models from the same family to answer and to judge, and many use a stronger answering model than the original papers did. Some headline scores have no per-question files behind them at all.

A BEAM mean hides partial credit. A question where every rubric item gets half marks scores 0.5, and it raises the mean just as a correct answer does.

So we also counted something simpler: the share of questions where every rubric item got full marks. We call this the strict score. None of the vendors we compared publishes one, so we calculated it from their own per-question files wherever those files exist.

On BEAM 1M:

SystemHeadline meanStrictAnswering modelJudge
SurrealDB Agent Memory77.2%57.1%Gemini 3.8 FlashGemini 3.5 Flash Lite
Exabase75.0%48.0%Gemini 3 Flash PreviewGemini 2.5 Flash-Lite
Hindsight73.9%48.4%Gemini 3.1 Pro PreviewGemini 2.5 Flash-Lite
Mem0 (top-200)64.1%40.1%GPT-5GPT-5
Honcho63.1%41.4%Claude Haiku 4.5Claude Sonnet 4.5 (harness default)
HydraDB82.0%Not countableNot statedGPT-5.4

Every strict score we could count is between about 20 and 27 points below its headline mean. A gap of this size is expected, because the mean gives credit for answers that are partly correct. Publishing both numbers shows how much of each score comes from that partial credit.

Read the table as a record of how each score was produced. The rows use different answering models, different judges and different retrieval budgets, so they cannot be ranked against each other.

We followed the BEAM paper wherever we could, and we list every place where we did not.

  • Same judge prompt. The judge prompt is the official BEAM prompt. The judge model is Gemini 3.5 Flash Lite instead of the GPT-4.1 Mini that the authors' code uses, so the judge model is one of the ways our run differs from the paper.

  • Nothing extra in the prompts. The question category is never given to the answering model, and the judge sees the answer and the rubric but not the question.

  • Half marks counted, and shown separately. The mean counts 0.5 scores, as the paper specifies. The strict score of 57.1% counts only full marks.

  • Our own prompt and retrieval. The run answers with the product's own prompt and retrieval, instead of the paper's baseline prompt with the top 5 results.

  • Ten non-default settings. We switched on ten retrieval and chat settings that the product does not enable by default. Eight change retrieval: SPECTRON_RETRIEVAL_TURN_ORDER, SPECTRON_RETRIEVAL_CLAIM_CONFLICTS, SPECTRON_RETRIEVAL_GROUNDING_CHECK, SPECTRON_RETRIEVAL_EPISODIC_TREE, SPECTRON_RETRIEVAL_EVENT_DIGESTS, SPECTRON_RETRIEVAL_TREE_BREADTH, SPECTRON_RETRIEVAL_GROUNDING_PROVENANCE and SPECTRON_RETRIEVAL_TREE_ADAPTIVE_BUDGET. Two change how the chat answer is written: SPECTRON_CHAT_ANSWER_CONTRACTS and SPECTRON_CHAT_STANDING_INSTRUCTIONS.

  • Event ordering scored by Kendall tau. As in the paper, the score checks whether the order is correct. We score 49.7% in this category, and 1 of its 70 questions gets full marks.

  • Failures score zero. When a judge call fails twice, the rubric item scores 0, and a score outside the range 0 to 1 is clamped to that range. The BEAM reference code stops scoring the whole conversation instead.

On LoCoMo, our strict score is 75.8% across all five categories, including the adversarial one, over 1,986 questions. Under Mem0's own protocol, which leaves out the adversarial category and uses the more lenient judge, the same system scores 92.6% with GPT-5 answering and judging, and 90.1% with GPT-OSS 120B answering and GPT-4o judging. We publish all three numbers together so that readers can compare them directly.

Our 700 BEAM 1M answers are published on the benchmarks page, each with its question and rubric, so you can grade them with any judge you like. The harness commands are not public yet.

Before you trust any memory benchmark score, including ours, ask five questions:

  1. 1.

    Which model answered, and which model judged?

  2. 2.

    Did the prompt know the question's category, or any part of the answer?

  3. 3.

    Does the headline include partial credit, and what is the strict score?

  4. 4.

    How much context did the answering model get?

  5. 5.

    Are the per-question files published, so that you can check the count yourself?

A score that comes with answers to all five can be checked. A score without them has to be taken on trust.

Every run, judge, protocol and vendor comparison is on our benchmarks page, with sources linked for every claim.

Related posts

Our newsletter

Get tutorials, AI agent recipes, webinars, and early product updates in your inbox every two weeks

SurrealDB

The context and memory layer for AI agents

Database. Graphs, vectors, documents and relational data in one engine, in a single ACID transaction.
Agent Memory. Connects and retrieves context wherever your data lives, every fact carrying its source.
Cloud. Fully managed, in the cloud provider and region you choose.

Explore with AI

Copyright © 2026 SurrealDB Ltd. Registered in England and Wales. Company no. 13615201

Registered address: 3rd Floor 1 Ashley Road, Altrincham, Cheshire, WA14 2DT, United Kingdom

Trading address: Huckletree Oxford Circus, 213 Oxford Street, London, W1D 2LG, United Kingdom