已验证效果
以下是真实调用 LLM(DeepSeek)跑出来的结果,不是模拟或精选的数字。目前也还比不过这个赛道头部玩家公开的数字——我们把这一点直接说清楚,而不是靠一个好看的标题数字带过去。
LoCoMo
LoCoMo-10(conv-26 前 150 轮,84 条问答对)。
| Recall@10(正确的证据轮次有没有进入上下文) | 52.4% |
| Accuracy — 严格子串匹配 | 19.0% |
| Accuracy — LLM 语义评判(措辞不同但语义正确也算对) | 44.0% |
没有回避的那个 trade-off
修复前的版本准确率更低,但 Recall@10 更高(62.0%)。一个把日期折叠进抽取谓语的修复(让「我什么时候说过 X」这类问题能被回答)用一部分检索召回率换来了真实的 +14.3 个百分点准确率提升——而且没有止步于「准确率变好了」就收工,而是去查清楚了 Recall 为什么会掉:日期折叠指令有时会误触发在没有信息量的寒暄上(「谢谢!」被折成「在 2023 年 7 月 3 日道谢」),这些额外的低价值三元组会挤占固定 top_k=10 检索窗口里真正相关三元组的名额。
LongMemEval
xiaowu0162/longmemeval-cleaned,oracle 变体,500 题中的前 10 题。
| Recall@10 | 100%(10/10) |
| Accuracy — 严格子串匹配 | 30% |
| Accuracy — LLM 语义评判 | 80% |
这些数字为什么需要局限性说明,而不是只看标题数字
- 只跑了 500 题里的 10 题——每题平均要摄入约 27 轮对话(真实的抽取+生成+评判调用,经过有真实延迟的代理),跑完整个数据集要几十个小时。这是真实跑测,不是模拟,但样本量小,不能读成对整个数据集的泛化结论。
- 这 10 题恰好全部是 temporal-reasoning 类型——数据集里还有 multi-session 类型,按文件顺序取前 10 条不是分层抽样。
- Recall@10 = 100% 很大程度上是 oracle 变体本身设计的产物——它把每题的检索池预先过滤到只剩相关会话(没有干扰会话),比真实部署场景下的记忆库(成百上千条无关记录)容易得多。这和完整(非 oracle)版本的 LongMemEval 不是同一个任务,不能直接拿来和其他产品在那个更难版本上报告的数字做比较。
- 严格匹配准确率(30%)远低于 LLM 语义评判准确率(80%)——和 LoCoMo 的模式一致:子串匹配会系统性低估措辞不同但语义正确的答案。