Skip to content

BEAM 评测

English version

BEAM 是一个面向长上下文对话场景的记忆能力评测基准。每个 case 包含一段被切分为多个 batch 的超长对话;ReMe 将每个 batch 转换为一个会话,按时间顺序摄入后,以 agentic(ReAct) 模式回答探测问题。答案由 BEAM 基于 rubric 的 answer_judge 任务打分,同时给出分级分数与二元 判定,并输出各类型平均分。

BEAM 按对话规模提供多种数据变体 —— 100K / 500K / 1M / 10M,可在不同上下文长度下 压测记忆系统。题型包括 abstention(拒答)、contradiction resolution(矛盾消解)、event ordering(事件排序)、information extraction(信息抽取)、instruction following(指令遵循)、 knowledge update(知识更新)、multi-session reasoning(多会话推理)、preference following (偏好遵循)、summarization(摘要)与 temporal reasoning(时间推理)。

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

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

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

1. 获取数据集

BEAM 是公开仓库,clone 到 benchmark/beam/dataset/ 下:

bash
mkdir -p benchmark/beam/dataset
cd benchmark/beam/dataset
git clone https://github.com/mohammadtavakoli78/BEAM.git

clone 完成后,benchmark/beam/dataset/BEAM/ 目录下应包含 chats/src/topics/ 等子目录。

2. 运行

在仓库根目录执行:

bash
python benchmark/beam/run.py
python benchmark/beam/run.py --config benchmark/beam/config.yaml
python benchmark/beam/run.py -q                        # 安静模式
python benchmark/beam/run.py --eval_only               # 复用已有工作区,仅执行查询 + 评判

3. 流程

  1. 为每个 case 加载 chat.json,将每个 batch 转换为一个 ReMe 会话。
  2. 按时间顺序将会话摄入独立工作区,随后执行 digest_update
  3. 以 agentic(ReAct)模式回答每个探测问题。
  4. 通过 BEAM 基于 rubric 的 answer_judge 任务打分,并输出各类型平均分。

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

配置项含义
dataset.beam_rootBEAM 数据集根目录(benchmark/beam/dataset/BEAM)。
dataset.chat_size运行的变体:100K / 500K / 1M / 10M
dataset.case_ids指定 case(如 ["1","2"]),空表示全部。
dataset.start_index / num_itemscase 分页(num_items0 表示全部)。
dataset.workspace_rootcase 工作区根目录(benchmark/beam/workspaces/beam)。
evaluation.num_workers0 = 自动,1 = 串行,>1 = 并行。
reme.config使用的 ReMe 配置(benchmark)。
output.dir结果目录(benchmark/beam/results)。

5. 输出

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

6. 参考结果

以下结果使用 longmemeval 版本的 prompt。

100K

agentscope==2.0.4.post1,conda reme 环境,20 并发,eval-only(复用已构建 memory) (2026-08-05,20 cases / 400 Qs,总耗时 46.0 min)

题型AgenticBinaryinput tok/qoutput tok/qtotal tok/qtool calls/q
abstention0.5500.55096,0311,07097,1014.58
contradiction_resolution0.4380.41232,26387233,1352.48
event_ordering0.5010.423140,1955,163145,3584.70
information_extraction0.8730.83250,24588351,1283.15
instruction_following0.7500.72537,98684838,8342.67
knowledge_update0.6880.67531,19865131,8492.27
multi_session_reasoning0.6260.58485,0384,56389,6014.28
preference_following0.9250.91234,28198935,2702.50
summarization0.6230.46189,6572,05691,7134.12
temporal_reasoning0.6370.62534,5631,04935,6122.52
OVERALL0.6610.62063,1461,81464,9603.33

Memory Construction 平均 token 消耗(default agent,20 cases 全量构建):

Agentinput tok/caseoutput tok/casetotal tok/case
default2,172,316136,6972,309,013

1M

agentscope==2.0.4.post1,conda reme 环境,20 并发,全量构建 memory (2026-08-05,35 cases / 700 Qs,总耗时 459.2 min)

题型AgenticBinaryinput tok/qoutput tok/qtotal tok/qtool calls/q
abstention0.4290.429118,7071,178119,8864.20
contradiction_resolution0.3910.36449,78781050,5972.50
event_ordering0.5580.456201,5143,889205,4034.79
information_extraction0.8090.77278,95089479,8443.00
instruction_following0.8520.83255,75792456,6812.81
knowledge_update0.7790.77145,98166546,6462.37
multi_session_reasoning0.6580.612138,1332,873141,0064.40
preference_following0.7980.77751,79692052,7162.53
summarization0.6930.537158,7942,905161,7004.44
temporal_reasoning0.5360.536100,1763,148103,3243.90
OVERALL0.6500.60999,9591,821101,7803.49

Memory Construction 平均 token 消耗(default agent,35 cases 全量构建):

Agentinput tok/caseoutput tok/casetotal tok/case
default31,943,8171,417,06133,360,878

Released under the Apache-2.0 License.