评测开源记忆系统:怎样分清记忆和模型的贡献
为儿童 AI 产品选择记忆方案时,我把几种开源系统放进同一套评测。更换答题模型、加入全量聊天记录作为对照,让一些原本好看的分数有了不同的解释。
做儿童陪伴 AI 时,我希望它能记住孩子的兴趣、约定和后来改变的想法。如果孩子已经说了不喜欢某样东西,AI 还反复提起,记忆反而会损害交流。
我把 mem0、letta、cognee、hindsight 等开源方案接到统一的题库和判分流程里,检查它们能否为这个场景提供可靠的记忆。
怎么出题和判分
题目覆盖对话内记忆、跨对话推理、时间顺序、旧信息更新、不确定时拒绝编造,以及持续遵循用户偏好。例如,孩子上个月说想养狗,这个月说怕狗了,回答应该反映这次变化。
评测通过提问检查答案和事实依据,由独立判分层判断。系统声称“已经记住”不作为通过证据。
换一个答题模型,结果就变了
保持记忆系统和题目不变,我把答题模型换成能力较弱的本地模型。依赖模型深度加工记忆的部分方案表现下降,偏重检索的方案变化较小,有的反而略有提升。
这提示我,原来的分数混合了记忆处理与答题模型的能力。个别方案在弱模型下运行不稳定,也可能影响结果,不能把全部变化都归因于记忆设计。
选型时值得补上这组对照。除了看总分,还要确认方案对模型能力的依赖,以及更换模型后是否仍能正常工作。
把全部聊天记录交给模型,也是必要的对照
我设置了不提供历史、提供全部历史、提前提供相关答案依据等对照。在这轮题库与配置下,被测记忆方案尚未稳定超过全量历史的回答表现。
这个结果不能推导出“记忆系统没有用”。全量历史会增加成本,也受上下文长度限制;记忆系统需要在信息保留、检索成本和回答质量之间取舍。但如果只报一个准确率,不说明它与全量历史的差距,就很难判断省下了什么、又丢掉了什么。
我会继续保留这些对照,扩大题库,并把运行异常和回答错误分开记录。这些结果用于当前产品选型,不代表对所有模型、场景和版本的排名。