Skip to content

LongMemEval 评测

English version

LongMemEval 是一个面向多轮多会话历史的长期记忆能力的评测基准。每个条目提供一组按时间 顺序排列的用户与助手之间的会话,以及一个只能通过推理用户自有记忆才能回答的探测问题。ReMe 将会话摄入按条目隔离的工作区,以 agentic(ReAct)模式回答问题,最后由 LLM-as-judge 打分。

题型包括单会话(user / assistant / preference)、多会话推理、知识更新与时间推理等。

在仓库根目录以 editable 模式安装 ReMe 和 LongMemEval 插件:

bash
python -m pip install -e ".[as]"
reme plugins install ./plugins/lme --editable
reme plugins validate lme

runner 显式启用已安装的 lme 插件,并将插件默认配置与 ReMe 内置的 benchmark 配置组合。 editable 安装会让 plugins/lme 下的源码修改直接生效,无需重复安装。 本目录继续保留评测参数、数据集及输出。自定义完整应用配置路径仍可通过 reme.config 指定, 并可使用 extends: benchmark。 模型凭据通过公共 benchmark 配置中声明的环境变量设置。

1. 获取数据集

ReMe 仅使用 cleaned-S 版本,数据托管在 HuggingFace: agentscope-ai/ReMe_longmemeval_clean_s_v2。 下载脚本经 hf-mirror.com 镜像源获取,如需更换源请修改 download.py 中的 BASE_URL

bash
cd benchmark/longmemeval
python download.py            # 保存为 dataset/longmemeval_s_reme_cleaned.json,已存在则自动跳过

ground truth 已内嵌在数据文件中。

2. 运行

在仓库根目录执行:

bash
python benchmark/longmemeval/run.py
python benchmark/longmemeval/run.py --config benchmark/longmemeval/config.yaml
python benchmark/longmemeval/run.py -q                        # 安静模式:仅评测级日志
python benchmark/longmemeval/run.py --log-level WARNING       # 降低评测 runner 日志
python benchmark/longmemeval/run.py --reme-log-level WARNING  # 降低 reme 内部日志
python benchmark/longmemeval/run.py --eval_only               # 复用已有工作区,仅执行查询 + 评判

3. 流程

  1. 加载数据集(ground truth 已内嵌在数据文件中)。
  2. 为每个条目创建独立工作区,按时间顺序摄入会话。
  3. 若自定义应用配置启用了 auto_dream,在相邻会话跨越配置时刻(默认 23:00)时触发;插件预设保持关闭。
  4. 以 agentic(ReAct)模式回答每个问题。
  5. 通过 answer_judge 任务对答案做二元(yes/no)评判,并输出各类型准确率。

4. 关键配置 —— benchmark/longmemeval/config.yaml

配置项含义
dataset.path待评测的数据集文件(如 longmemeval_s_reme_cleaned.json),已包含 ground truth。
dataset.start_index / num_items评测条目的切片范围。
dataset.question_types按问题类型过滤,空表示全部。
dataset.workspace_root条目工作区根目录(benchmark/longmemeval/workspaces/longmemeval-s)。
evaluation.num_workers0 = 自动(cpu-2),1 = 串行,>1 = 并行。
evaluation.filter_future_sessions仅摄入时间戳 ≤ question_date 的会话。
reme.config使用的 ReMe 配置(benchmark)。
reme.dream_trigger_hour / dream_scan_days / dream_max_unitsdream 触发行为。
output.dir结果目录(benchmark/longmemeval/results)。

5. 输出

结果以 JSON 文件写入 output.dir,文件名为 results_<timestamp>.json, 同时控制台会打印含各类型准确率的汇总。日志约定在各基准间通用,见 总说明

6. 参考结果

cleaned-s

基础设置

  1. 使用修改后的 auto-memory prompt,关闭 auto-dream 机制
  2. reme-memory 中的全部 session 的时间一定早于 question 的时间

结果

agentscope==2.0.4.post1, conda reme env, 32 workers, eval-only(复用预构建记忆) (2026-08-06,500 题,总计 10.0 min)

类型Agenticinput tok/qoutput tok/qtotal tok/qtool calls/q
knowledge-update0.91031,58158932,1692.90
multi-session0.84252,8371,47454,3114.21
single-session-assistant1.00015,59627915,8751.89
single-session-preference0.63336,80281837,6203.60
single-session-user0.98627,43335927,7922.60
temporal-reasoning0.90262,67498563,6594.97
OVERALL0.89443,44887644,3243.69

Released under the Apache-2.0 License.