Agent Memory Leaderboard
OFFICIAL DOCUMENTATION

User Documentation

Learn how to integrate Add / Search, run consistent evaluations, review results, and publish eligible runs to the public leaderboard.

01

OVERVIEW

How the platform works

Agent Memory Leaderboard compares memory systems under a consistent end-to-end evaluation. Databases, indexes, and internal architectures are unrestricted. Open-source Methods (Academic) entries must use text-embedding-v4 for embeddings and gpt-4o-mini for LLM-related components; rerankers are unrestricted. Commercial Products (Industry) entries are not subject to these model restrictions. The external Add/Search API and retrieval evidence must be conformant and auditable.

1

Ingest evaluation memory

The platform calls Add by sample and source session.

2

Manage memory

Your system persists, organizes, indexes, and updates memory.

3

Retrieve candidates

The platform calls Search per question and receives ranked results.

4

Answer and score

A fixed platform workflow generates answers, scores them, and aggregates results.

Fairness boundary

Participant-controlled behavior is limited to Add / Search. The platform locks the answer model, prompts, evaluators, dataset suite, Top K, and aggregation rules so that score differences primarily reflect the memory system.

02

WHO THIS IS FOR

Audience

LEADERBOARD READERS

Read without signing in

Review Overall scores, metric breakdowns, system versions, and publication dates within the Textual, Multimodal, or Coding track. Each track has a distinct task and metric contract; scores are not comparable across tracks.

EVALUATION PARTICIPANTS

Integrate against the contract and participate

Implement Add / Search → submit an access request → receive an API Key → run public smoke → submit the full evaluation → review private results → enter public review.

03

PARTICIPATION WORKFLOW

Evaluation workflow

Open-source Methods and Commercial Products submissions both use participant-hosted Add/Search APIs and follow the same review, Key issuance, and public Smoke flow. AML does not deploy repository-only submissions.

  1. 01

    Submit the access request

    All entries provide deployed Add/Search endpoints, authentication, capacity, and operational details. Open-source Methods entries additionally disclose the public repository, original authors, technical report, and method changes.

  2. 02

    Complete key binding

    Approval either issues a new Leaderboard API Key or binds the submitted version to the verified existing key without administrator re-entry.

  3. 03

    Run public Smoke

    The platform checks the participant-operated endpoints and runs the synchronous Add → Search → Answer → Evaluate Smoke flow. AML does not build or deploy participant systems.

  4. 04

    Complete the Full gate

    Before selecting full, confirm the interactive checklist: smoke passed, API contract followed, run instructions complete, original work disclosed, and no integrity violations.

  5. 05

    Start the job

    Verify the API Key on the Evaluation page, select a bound version, assign a unique Run Label, and submit the full evaluation. Formal jobs use the fixed suite and platform Top K.

  6. 06

    Monitor progress and audit status

    The job proceeds through ingestion, retrieval, answering, scoring, and aggregation. The interface reports stage, progress, and error summaries while the platform retains evidence required for review.

  7. 07

    Review results and publication status

    Results are initially visible only to the bound API Key. A successful full job enters the public-eligibility gate and review queue; approval creates a public submission.

Code review and disqualification

Reproductions of papers or existing repositories are allowed only with full attribution to the original authors, technical report, and all method changes. Undisclosed reuse may be treated as plagiarism. When duplicate code is discovered, the platform prioritizes the participant's first disclosed submission. Repeated near-duplicate or low-quality code, prompt injection, benchmark or result manipulation, malicious behavior, and other leaderboard abuse may cancel eligibility.

04

EVALUATION MODES

Evaluation modes and standard quotas

ModePurposeStandard quotaVisibilityPublic eligibility
smokeSeparate integration endpoint for synchronous Add, Search, and scoring compatibility.1 per hour; at most 30 per track this editionPrivateNot eligible
fullFixed complete benchmark suite with formal queueing, audit, and release workflow.At most 2 Full runs per AML Key and track; the second unlocks 30 days after the first Full run is completedPrivate firstEligible after approval
How to choose

Use the separate compatibility smoke after initial integration or an API behavior change. Submit full, the only formal participant mode, after the version is ready for publication.

05

ADD / SEARCH CONTRACT

Add / Search integration contract

Participants configure the Add and Search URLs; request and response schemas are fixed and do not vary by path. Production deployments should use HTTPS. URLs must not embed credentials or resolve to private, loopback, or link-local addresses.

Write protocol

Synchronous

Add succeeds only with HTTP 200 after persistence

Formal Top K

100

The response must not exceed top_k; excess items are a contract error

Retrieval scope

user_id

Add and Search must use the identical isolation boundary

Authentication and Health

Add / Search support Token, Bearer, and X-Api-Key; none is limited to public smoke. Health is an unauthenticated GET where any 2xx means healthy.

POST

Add Request

Ordinary Textual splits deterministically at either 20 messages or 2,000 Adapter-counted words. Streaming writes frozen incremental session or task units. Coding preserves repository/session trajectories; Multimodal follows published source units and media limits. One request may run for up to 30 minutes.

{
  "request_id": "eval:run_abc123:locomo_refined:conv-0:chunk-0",
  "messages": [{
    "role": "user",
    "timestamp": 1704067200000,
    "content": "memory text"
  }],
  "user_id": "eval:run_abc123:locomo:conv-0",
  "session_id": "eval:run_abc123:sample:0"
}
request_id

Required. Unique identifier for this chunk request; the success response must echo it exactly.

messages

Required ordered array. Each item includes role and non-empty content. Textual and Coding use strings; Multimodal may use strings or ordered text/image_url content parts. timestamp is optional Unix milliseconds.

user_id

Required. The sole retrieval-isolation field; Search must use the identical value.

session_id

Required. Identifies the source session and may be used for grouping, but is not a Search filter.

Fields not sent

The current contract omits metadata, app_id, agent_id, and async_mode. Synchronous behavior is guaranteed by returning HTTP 200 only after Add completes.

200

Add Response

Return success only after the write is persisted and immediately searchable.

HTTP 200
{
  "success": true,
  "request_id": "eval:run_abc123:locomo_refined:conv-0:chunk-0",
  "user_id": "eval:run_abc123:locomo:conv-0",
  "session_id": "eval:run_abc123:sample:0"
}
success

Required and must be the boolean value true.

request_id / user_id / session_id

All are required and must match the request byte for byte.

Synchronous completion

Internal work may be asynchronous, but the endpoint must wait for completion before responding.

HTTP 202

Supported only when the submitted version has an approved Add-status URL containing {task_id}; the response must return task_id. Without that binding, 202 is a contract error. memory_ids are not required.

POST

Search Request

The platform issues Search calls according to each track's workflow; Streaming may search the same question at multiple incremental steps. Questions retain their original language. Multimodal may use image content parts; choice options appear separately at the top level. One request may run for up to 30 minutes.

{
  "query": "Which answer best matches the memory?",
  "options": ["A. First answer", "B. Second answer"],
  "user_id": "eval:run_abc123:locomo:conv-0",
  "top_k": 100
}
query

Required original question. Multimodal may use the same text/image_url content parts as Add. Do not replace it with a final answer or use benchmark gold data.

options

Optional. Choice text is sent as a top-level string array for multiple-choice questions, including Streaming; omitted for open questions and never contains the gold answer.

user_id

Required. Retrieve only from memory stored under this exact value.

top_k

Required. The response must not exceed this number; formal external evaluations use 100.

Fixed schema

The current contract does not send filters, rerank, or keyword_search.

200

Search Response

Return a JSON object whose data field is a relevance-ordered array. Return an empty array when nothing is found.

{
  "data": [{
      "id": "mem_1",
      "content": "remembered fact text",
      "score": 0.87,
      "created_at": "2026-07-01T12:00:00Z"
  }]
}
data

Required array. Do not add an items wrapper or return a top-level array.

id

Required non-empty string that stably identifies the memory.

content

Required non-empty string; Multimodal may return text/image_url content parts. The original candidate is retained and passed to Answer.

score

Optional number. Higher values should indicate greater relevance.

created_at

Optional source or persistence timestamp.

Other fields

The platform reads only the declared fields above; undeclared fields such as metadata are ignored.

Order and count: the platform preserves participant response order, and the response must not exceed top_k. Excess or invalid items fail contract validation; they are not silently truncated.
06

ERROR HANDLING

Error reference

Participant endpoints should use standard HTTP status codes and return actionable errors without secrets. Platform business errors normally use {"detail":{"reason":"..."}}; HTTP 422 provides structured field-validation details.

HTTPClassTypical casePlatform behavior and action
400 / 422Contract errorAn Add / Search request cannot be parsed, or a success response has missing or invalid required fields.Not retried. Correct the schema using the error details, then rerun smoke.
401Authentication failureThe Memory System Key is invalid, or the Authorization / X-Api-Key scheme does not match.Not retried. Verify the authentication scheme and secret bound to the request.
403Access deniedThe key cannot call the endpoint, or the service rejects the current user_id scope.Not retried. Review endpoint authorization and retrieval isolation.
404Resource not foundAn endpoint path is wrong, or a platform test, job, or result ID is invalid.Verify the URL or resource ID. The synchronous contract has no Add Status polling.
409State conflictAdd is temporarily conflicted, or a platform job is active and the Run Label is duplicated.Add is retried with bounds; Search 409 is not retried. Wait or choose a new Run Label for platform conflicts.
408 / 425Transient unavailabilityThe request timed out or the service is not ready.Add and Search are retried with bounded backoff.
429Rate or quota limitThe participant endpoint is capacity-limited, or a platform evaluation quota has not reset.Endpoint calls are retried with bounds; for platform quotas, wait until the displayed availability time.
500 / 502 / 503 / 504Transient service failureThe participant endpoint, gateway, or upstream dependency is temporarily unavailable.The platform retries with backoff. Preserve the Job/Test ID and timestamp if failures persist.
Bounded automatic retries

Add retries 408, 409, 425, 429, 500, 502, 503, 504, and 524. Search retries 408, 425, 429, 500, 502, 503, and 504. Network timeouts and transport failures are also eligible.

Contract errors stop immediately

Even with HTTP 200, the stage fails if Add omits success=true or mis-echoes an ID, or if Search omits the data array or an item lacks id / content.

07

DATA, SECURITY & PRIVACY

Data, security, and privacy

01

Minimum necessary data

Participant endpoints receive only the memory chunks, user/session identifiers, and retrieval questions needed for the current job. Gold answers, scoring criteria, and bulk dataset downloads are not provided.

02

Strict retrieval isolation

user_id is the sole Search-isolation field and must match exactly during storage and retrieval. session_id is only for source-session organization. Cross-user_id retrieval is prohibited.

03

Secret protection

The Memory System Key is submitted through a controlled request flow and stored encrypted; job metadata contains only an opaque reference. Secrets do not appear in email, public rankings, or public API responses.

04

Endpoint security

The platform connects only to network-validated public HTTP(S) endpoints and rejects URLs with embedded credentials or targets resolving to private, loopback, or link-local addresses.

05

Process audit

The platform retains request outcomes, latency, errors, returned memories, and contract-validation evidence required to verify evaluation integrity and public eligibility.

06

Result visibility

Private jobs and results are visible only to the bound Leaderboard API Key. The public board shows approved systems, versions, scores, and required evaluation metadata.

Participant data-handling obligations

Evaluation data and derived copies may be used only to complete the current job. Do not use them for training, fine-tuning, product analytics, dataset reconstruction, or redistribution. Restrict access to authorized personnel, avoid unnecessary payload logging, and delete the data within 30 days after job completion unless the platform approves another retention period in writing.

08

EVALUATION & RESULTS

Evaluation process and results

ADD

Synchronous ingestion

Each chunk must be persisted and searchable before its HTTP 200 response.

SEARCH

Retrieval and contract validation

The platform validates the data array, required fields, and Top K, then accepts candidates in participant order.

ANSWER

Standardized answering

Valid candidate memories enter the locked platform Answer model and prompt workflow.

EVAL

Standardized scoring

The platform applies fixed scoring contracts by question type and aggregates dataset and Overall results.

PRIVATE

Private results

After completion, the bound API Key can inspect run status, breakdowns, error summaries, and job metadata.

PUBLIC

Public release

An eligible full result creates a public submission only after qualification checks and review.

PUBLICATION GATE

Public leaderboard eligibility

The result must come from a successful full run on the fixed suite; every evaluation task must succeed; the Answer model, evaluation contract, pipeline code hash, dataset bundle hashes, and question counts must be complete and match the current release baseline; and the result must be unique and pass platform review.

09

BENCHMARK SUITE

Benchmark Details

Browse benchmark datasets by dimension. Each card links to its source repository with task format, metrics, and evaluation notes.

Textual Datasets

Multimodal Datasets

multimodal

ATM-Bench

Multimodal agent memory evaluated by question quality.

multimodal

Mem-Gallery

Gallery-style memory retrieval evaluated with F1.

Coding Datasets

coding · current scored suite

CAMBench Coding

150 software-engineering tasks run under relevant and noisy memory conditions, for 300 scored attempts.

coding · reference catalog

SWEContextBench

Not currently used as the scored AML Coding benchmark.