examples/openclaw-plugin/docs/workmemory-v2-test-report.md
数据集:locomo10 · MemoryArena group_travel_planner · 模型:doubao-seed-2-0-code-preview
创建:2026-05-02
验证 WM v2(结构化 7 段模板 + tool_call 增量更新 + 服务端 Guards + keep_recent_count)相比旧版(compression.structured_summary v1)的实际效果。重点回答 3 个问题:
| 项 | 值 |
|---|---|
| LLM | doubao-seed-2-0-code-preview |
| Embedding | doubao-embedding-vision-251215 |
| Gateway | OpenClaw 2026.4.27 |
| Main 分支 | OpenViking @ origin/main,commit 4d6f5b65 |
| WM2 分支 | 工作记忆代码 |
| Judge | doubao-seed-2-0-code-preview-260215 |
| 测试组 | 说明 | autoRecall | 设计目的 |
|---|---|---|---|
| WM2 | 工作记忆 + 长期记忆 + 工具回溯 | on | WM v2 全功能端到端测试 |
| WM2-NOREC | 工作记忆 + 工具回溯(关闭长期记忆) | off | 隔离工作记忆 + 工具回溯的独立贡献,看不靠向量召回时还能拿多少分 |
| MAIN | 原 overview + 长期记忆 + 老版工具回溯(仓库主分支代码) | on | 旧版基线 |
| MC | OpenClaw 原生记忆(关闭 OpenViking) | — | 横向对比 OpenClaw 原生记忆方案 |
| 数据集 | session 数 | QA 数 | 说明 |
|---|---|---|---|
| locomo-small | 19 | 35 | LoCoMo sample 0 前 35 题,小样本快速对照 |
| locomo10 case0 | 19 | 152 | LoCoMo sample 0 完整 |
Ingest 和 QA 同会话(QA 会话连续,复用前题上下文)——目的是测试工作记忆。
| 测试组 | 准确率 | QA tokens | tok/correct |
|---|---|---|---|
| MAIN | 28.57% (10/35) | 144,797 | 14,480 |
| WM2 | 94.29% (33/35) | 184,497 | 5,591 |
| WM2-NOREC | 88.57% (31/35) | 124,246 | 4,008 |
| MC | 42.86% (15/35) | 2,352,395 | 156,826 |
对比:
将 §3.3 对照扩展到 locomo10 case0 全量 152 道 QA:
| 测试组 | 准确率 | QA tokens | tok/correct |
|---|---|---|---|
| MAIN | 23.68% (36/152) | 2,280,098 | 63,336 |
| WM2 | 79.61% (121/152) | 1,510,190 | 12,481 |
| WM2-NOREC | 73.03% (111/152) | 1,622,319 | 14,615 |
对比:
MemoryArena group_travel_planner 是跨会话的旅行规划任务(slot-filling + 后续 QA),不直接验证工作记忆能力——每个 task 是独立 session,没有跨题上下文累积。本节把它作为另一个测试场景,从两个角度看 WM v2 的表现:
| 维度 | 说明 |
|---|---|
| 数据集 | MemoryArena group_travel_planner(270 task / 1869 subtask 的多日多人旅行规划) |
| 子样本 | sample0 / sample1 / sample2 共 294 道 slot-level QA |
| 任务结构 | slot-filling 旅行规划 + 后续 QA(跨 task 独立 session) |
指标说明:
把 WM v2 跟 MC 原生(关闭 OpenViking、由 LLM 主动调 memorySearch)放在同一数据集上对比:
| 方案 | sample0 Action | sample1 Action | sample2 Action | Agg Action | Agg QA | Combined Tokens |
|---|---|---|---|---|---|---|
| MC memorySearch | 8/104 | 24/70 | 26/120 | 58/294 (19.73%) | 74/294 (25.17%) | 7,158,830 |
| WM v2 | 66/104 | 38/70 | 79/120 | 183/294 (62.24%) | 177/294 (60.20%) | 5,601,097 |
WM v2 相比 MC 原生:Action +42.52pp,QA +35.03pp,Combined Tokens −21.76%。
| Sample | OV-noWM Action | OV-noWM QA | WM v2 Action | WM v2 QA |
|---|---|---|---|---|
| sample0 | 71/104 (68.27%) | 65/104 (62.50%) | 66/104 (63.46%) | 60/104 (57.69%) |
| sample1 | 52/70 (74.29%) | 45/70 (64.29%) | 38/70 (54.29%) | 38/70 (54.29%) |
| sample2 | 66/120 (55.00%) | 58/120 (48.33%) | 79/120 (65.83%) | 79/120 (65.83%) |
| Aggregate | 189/294 (64.29%) | 168/294 (57.14%) | 183/294 (62.24%) | 177/294 (60.20%) |
WM v2 vs OV-noWM:Action −2.04pp(OV-noWM 略胜),QA +3.06pp(WM 略胜),token +2.75%。per-sample 异质性较高(sample1 OV-noWM 大幅领先、sample2 WM v2 大幅领先),aggregate 大体持平。
创建:2026-05-02