news 2026/10/15 12:04:07

Agent Memory Techniques:LoCoMo 与 LongMemEval 基准——如何测试你的记忆能否扛住长对话

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Agent Memory Techniques:LoCoMo 与 LongMemEval 基准——如何测试你的记忆能否扛住长对话

【免费下载链接】Agent_Memory_Techniques

Agent memory for LLMs: 30 runnable Jupyter notebooks covering conversation buffers, vector stores, knowledge graphs, episodic and semantic memory, MemGPT, Mem0, Letta, Zep, Graphiti, LoCoMo benchmarks, and production patterns.

项目地址:https://gitcode.com/gh_mirrors/ag/Agent_Memory_Techniques
点击查看免费下载

想让 Agent 记住你,光靠"感觉"可不行。本文带你走进 Agent Memory Techniques 仓库的第 29 种记忆技术:用LoCoMo与LongMemEval两大长对话记忆基准,量化测试你的 Agent 记忆能否扛住跨多会话的超长对话——从数据集结构、五类问题、BLEU / ROUGE / F1 与 LLM 裁判评分,到分维度诊断短板和无记忆基线对比,一篇讲透。

为什么"感觉记得"不算数?Agent 记忆基准测试的必要性

想象你给新入职的助理出了一张试卷:一部分题目考他是否记得你的咖啡口味(直接回忆),一部分考他能否把两次谈话联系起来安排日程(多跳推理),还有一部分考他知不知道你在上周三从茶改成了咖啡(时间感知)。

总分有用,但分科目分数才能真正告诉你该补什么。

LoCoMo 和 LongMemEval 对 Agent 记忆系统做的就是这件事:它们提供跨多会话的对话 + 标准答案问题,每个问题都针对一种特定的记忆能力。跑一遍基准,"记忆质量好不好"就从一句模糊的宣称,变成了可以追踪、可以对比的具体数字。

没有基准测试,你无法回答这些问题:

  • 它还记得 50 条消息前提到的那个偏好吗?
  • 它能跨两次会话把两个事实连起来吗?
  • 面对"用户上周三换了工作",它知道哪个说法是最新的吗?

LoCoMo 数据集:35 轮会话、2000 道题的长对话记忆测试集

LoCoMo(Long-Context Conversational Memory)是 2024 年提出的标准化基准,结构非常直白:

项目内容
对话数量10 段多会话对话(两位朋友跨最多 35 个会话闲聊)
题目规模约 2,000 组问答(QA pairs)
问题分类5 类,每道题都有已验证的标准答案
附加信息每题带证据指针,指回对话中具体的轮次

它的 5 类问题各测一种记忆能力,这也是基准最有价值的部分——分数能直接定位短板:

类别考察能力示例问题
1️⃣ single-hop(单跳)直接事实回忆"Caroline 最喜欢的颜色是什么?"
2️⃣ temporal(时间)时间顺序与变化"用户转行之前是做什么的?"
3️⃣ multi-hop(多跳)跨会话关联事实"Caroline 的哪位同事也参加了她提到的那场会议?"
4️⃣ open-ended(开放式)综合散落事实作答需要连贯、完整的合成式回答
5️⃣ adversarial(对抗)识破陷阱问题引用了从未发生过的事,好系统应拒绝回答

数据集托管在 HuggingFace 上,仓库的 memory_benchmarks_locomo.ipynb 里用一行就能加载:

from datasets import load_dataset locomo_dataset = load_dataset("snap-stanford/LoCoMo", split="train")

每个样本里包含conversation(带会话编号和时间戳的对话 JSON)与qa(带分类、标准答案和证据指针的问题列表),结构在 29 号 README 中有完整说明。

LongMemEval:覆盖 40 到 500 轮会话的补充基准

如果 LoCoMo 像"朋友闲聊",LongMemEval就是"用户和助手的长期聊天史"。它包含500 个实例,每段历史横跨40 到 500 个会话,比 LoCoMo 跨度更长,用 7 种题型覆盖 5 项核心记忆能力:

题型记忆能力测什么
single-session-user / assistant信息抽取从单个会话的用户/助手消息中回忆事实
single-session-preference信息抽取从一次会话中推断隐性偏好
multi-session多会话推理跨多个会话连接事实
knowledge-update知识更新识别随时间变化的信息(旧的被新的取代)
temporal-reasoning时间推理基于时间戳做时序推断
abstention 变体拒绝回答信息从未提及时,正确说"不知道"而不是瞎猜

注意最后一项"abstention(拒绝回答)":一个诚实的记忆系统,在信息不存在时应该承认不知道。这正是很多 Agent 最容易翻车的地方。

怎么打分?BLEU、ROUGE-L、Token F1 与 LLM 裁判四件套

预测出答案后,仓库里的评分流水线用 4 个互补指标打分:

指标原理特点
BLEU-1预测与参考答案的 n-gram 重叠偏重精确率:你说的话对不对
ROUGE-L最长公共子序列偏重召回率:答案要点覆盖全不全
Token F1词级别的精确率/召回率调和平均两者平衡
LLM 裁判让强模型判断"语义上是否正确"处理措辞不同但意思对的情况

前三项是纯文本重叠指标,速度快、零成本,但会冤枉"换种说法的正确答案"——"New York City" 和 "NYC" 词面重叠很低,意思却完全一致。这时 LLM 裁判(notebook 中用gpt-4o-mini)出手,只回答CORRECT或INCORRECT,给出 0/1 的语义判定。

💡 实践建议:把 LLM 裁判分数当作主指标跟踪,把 BLEU/ROUGE/F1 当作免费的健康指标日常监控。

分维度看分数:定位记忆系统短板

基准真正的威力在按类别聚合分数。跑完后你会得到一张类似这样的成绩单(含无记忆基线对比):

Category Memory Judge No-Memory Judge Delta ---------------------------------------------------- single-hop 0.93 0.03 +0.90 temporal 0.71 0.11 +0.60 multi-hop 0.55 0.03 +0.52 open-ended 0.42 0.05 +0.37

这张表直接回答两个关键问题:

  1. 哪个能力最弱?比如 multi-hop 分数明显偏低,说明跨会话关联检索要优先优化;
  2. 记忆到底值多少分?把同一批问题交给"什么都不给"的模型(no-memory baseline),两者的差值(Delta)就是记忆系统带来的真实增益。如果某类题上你的系统只比基线高一点点,说明检索对这类题根本没帮上忙。

这正是 Memory Evaluation 与 Memory Benchmarks 的分工:前者帮你自建领域评测集,后者提供公开标准题,两者结合就是完整评测套件。

手把手跑基准:从克隆仓库到第一张成绩单

完整流程封装在 29 号 notebook 中,难度标记为 Advanced,约 60 分钟。核心步骤:

  1. 克隆仓库并安装 29 号技术依赖:
git clone https://gitcode.com/gh_mirrors/ag/Agent_Memory_Techniques cd Agent_Memory_Techniques pip install -r requirements.txt pip install openai python-dotenv datasets rouge-score nltk
  1. 配置密钥:准备一个.env文件并写入OPENAI_API_KEY(notebook 默认用gpt-4o-mini作为答题模型和裁判模型)。
  2. 加载 LoCoMo,把结构化对话转成带会话标记和时间戳的纯文本上下文(模拟记忆系统能存取的形式)。
  3. 逐题预测:notebook 默认抽样 30 题(按类别分层抽样)控制成本,全量运行约 $5-15(GPT-4o-mini)。
  4. 四项指标打分,按 5 类问题聚合,输出分类成绩单。
  5. 跑无记忆基线,对比 Delta,确认记忆系统的真实增益。
  6. 切换你的检索机制:notebook 里"整段上下文"只是基线做法,生产系统中把它替换成你自己的向量检索/图谱检索,基准不变,只换"选上下文"这一步——这就是可复现对比的来源。

仓库还附带小样本对话数据 data/sample_conversation.json 和 30 种技术横向对比表 docs/comparison.md,方便你规划先测哪种架构。

基准测试的 4 个局限:分数高不代表生产可用

  • 🎯分布不匹配:LoCoMo 是朋友日常闲聊,如果你的系统处理的是技术支持工单或企业流程,分数未必反映真实表现。对话风格越接近你的业务,分数参考价值越高。
  • 💰全量评测有成本:约 2,000 题全跑一遍 LLM 裁判,预算约 $5-15 每次(GPT-4o-mini)。日常迭代用分层抽样,发版前再全量跑。
  • ⚖️指标天花板:BLEU/ROUGE/F1 会惩罚措辞不同的正确答案,LLM 裁判也不完美。记得人工抽查一批被判"错误"的预测。
  • 📸静态快照:固定题目集覆盖不了生产环境的所有边界情况。把基准分数当作地板而不是天花板,配合自建领域评测一起看。

下一步:把基准接入你的完整评测体系

  • 想先自建领域评测集?从 28 Memory Evaluation 入手,测检索精确率、召回率和信息过时检测;
  • 跨会话回忆是这两个基准共同考察的核心能力,可配合 21 Cross-Session Memory 与 09 Episodic Memory 一起优化;
  • 分数满意之后,用 30 Production Memory Patterns 把记忆系统安全地搬上生产。

一句话总结:记忆好坏不能靠感觉,用 LoCoMo 与 LongMemEval 把"记忆质量"变成数字,分数上涨就是改进,分数下跌就是回归。

【免费下载链接】Agent_Memory_Techniques

Agent memory for LLMs: 30 runnable Jupyter notebooks covering conversation buffers, vector stores, knowledge graphs, episodic and semantic memory, MemGPT, Mem0, Letta, Zep, Graphiti, LoCoMo benchmarks, and production patterns.

项目地址:https://gitcode.com/gh_mirrors/ag/Agent_Memory_Techniques
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 12:03:45

AppInventor 2019 Server Edition:离线教学专用本地服务端部署指南

简介:本资源是App Inventor 2019 Server Edition Windows服务端完整部署包,面向中小学信息技术教师、编程教育实践者及低代码教学开发者,专为本地化搭建离线版App Inventor开发环境而设计。压缩包含7040个文件,主体为1665个JavaSc…

作者头像 李华
网站建设 2026/10/15 12:03:44

Image J颗粒粒径分析:从图像处理到分布图绘制

1. 项目概述"Image J计算颗粒粒径及绘制粒径分布图"是一个典型的材料科学和纳米技术领域的图像分析项目。作为一名长期从事纳米材料表征的研究人员,我经常需要处理这类颗粒粒径统计分析工作。Image J作为一款开源的图像处理软件,在科研领域有着…

作者头像 李华
网站建设 2026/10/15 12:03:38

软件测试十多年的感悟

不知不觉已经从事软件测试的工作十多年了,期间换过三四家公司,但是工作内容是万变不离其宗,全部围绕着软件测试开展的。细数过往,参与测试的项目已经有上百个,有的项目测试环节是自己一个人完全负责,有的项…

作者头像 李华
网站建设 2026/10/15 12:03:37

调用栈分析:程序调试与性能优化的核心技术

1. 什么是调用栈分析当程序运行时,每个函数调用都会在内存中创建一个栈帧(stack frame),这些栈帧按照调用顺序层层堆叠,就形成了调用栈(call stack)。调用栈分析就是通过检查这些栈帧来理解程序的执行流程和状态。我在调试复杂系统时发现&…

作者头像 李华
网站建设 2026/10/15 12:03:26

放大电路频率响应:从原理到实测的工程指南

1. 为什么放大电路一接高频信号就“变脸”很多人第一次接触放大电路,是在实验箱上搭一个共射极放大电路,输入1kHz正弦波,示波器上波形漂亮得很,增益也跟理论计算对得上。可一旦把信号源频率往上调,调到几十千赫兹、几百…

作者头像 李华
网站建设 2026/10/15 12:03:13

gogo/status 解析:gogo/protobuf 与 gRPC 状态错误结构的无缝桥接

时序数据库后端数据存储可观测性云原生 【免费下载链接】mimir Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus. 项目地址: https://gitcode.com/gh_mirrors/mimir/mimir 点击查看 免费下载 本…

作者头像 李华