过去一年,大模型的上下文窗口越刷越长,语音交互也迎来了 GPT-4o 时代的爆发。“AI 伴侣”、“个人超级助理”成为创投圈最热的词汇。很多人理所当然地认为:只要上下文窗口能装下几十分钟的音频,大模型就能完美“记住”用户的声音。 然而,来自墨尔本大学与新南威尔士大学(UNSW)的研究团队却给出了不同的结论:装得下,不代表记得住。他们构建了全球首个多会话语音记忆基准 VoxMem,在评测了 15 个主流大型音频语言模型(LALM)后发现了一个残酷的真相:当前的大模型患有严重的“声学失忆症”。它们能记住你“说了什么”,却根本记不住“是谁说的、怎么说的、周围有什么声音”。如果语音助手连妈妈和爸爸的日程安排都会“张冠李戴”,如果 AI 根本听不出你连续几天的“语气低落”,我们离真正的电影《Her》还有多远?近日,AI科技评论独家对话了 VoxMem 研究团队。本文第一部分将为您解析这项研究的核心发现,第二部分则是团队对当前语音 Agent 开发者的避坑指南与深度访谈。
论文标题:VoxMem: Benchmarking Multimodal Memory in Large Audio Language Models
论文地址:https://arxiv.org/abs/2609.32607
代码:https://github.com/swagshaw/voxmem
数据:https://huggingface.co/datasets/AudioMemory/voxmembench
设想一个家庭语音助手同时服务好几位家庭成员。某天有人问:“我之前说灯具更换那件事,后来怎么样了?”要回答,助手必须先认出提问的是谁,再从过去的对话里找出这个人说的那一次,而不是别人聊同一话题的那一次。这种“声音与内容的绑定”,在任何转写文本里都不存在。语气和环境声也一样。用户某次说话时的犹豫或惊讶、某次对话背景里的洗衣机声,都可能成为之后问题的关键证据。论文认为,现有语音评测在三个方向上都不完整。其一,多数基准主要考词汇内容,只零星涉及少数声学线索。其二,检索、整合、追踪、拒答这些记忆操作是临时挑选的,各基准覆盖的子集不同,于是很难判断一次失败究竟源于某类证据、某种操作,还是两者的组合。其三,它们都建立在一段录音或一段连续对话上,而真实交互是跨会话的:话题会变,时间有间隔,同一个人会反复出现,早先的状态会被更新。多会话并不只是“更长的单会话”。论文指出,多会话历史带来了单会话设置中不存在的困难:同一话题会在不同会话中以不同细节反复出现,而大量会话与当前问题毫无关系。模型必须定位并绑定真正的目标证据,而不能依赖话题匹配。VoxMem 把这一点直接写进了数据结构。每段历史由三类会话组成:包含答案的证据会话,与证据话题相近、但不给答案或给出不同取值的干扰会话,以及把历史拉到目标长度的填充会话。研究者还检验了干扰会话的难度:一个只看文本的分类器区分证据与干扰会话,准确率仅为 51–56%,接近打乱标签时的 47–49%。也就是说,表面模式不足以暴露证据所在,模型必须借助问题本身去定位。VoxMem 的第一个贡献是方法论上的:它不再临时挑选测什么,而是用两个维度张成一个完整的评测空间。第一个维度是声学证据,即要从过去的语音里记住什么:说了什么(语音语义)、谁说的(说话人身份)、怎么说的(副语言线索)、听到了什么(环境声)。语音语义从文字就能恢复,作为参照;后三类是“音频原生”的,答案不在转写里。第二个维度是记忆操作,即要怎么使用这些记忆:从某次会话里取回信息(信息抽取,IE)、结合多次会话的证据(多会话推理,MSR)、追踪某个状态如何随会话变化(时序演变追踪,TET),以及在证据不足时拒答(AR)。信息抽取被设计成“声学证据必然参与检索”。 要么由说话内容定位会话、询问它的声学属性,要么由声学线索定位会话、询问其中说了什么。正因如此,“语义 × 信息抽取”被刻意排除:当检索线索和答案都是文字时,题目就退化成纯文本检索,测不出声音与内容之间的关联。剩下的 15 个组合构成了 VoxMem 的全部考点(图1)。多会话推理与时序追踪以“顺序”区分。 多会话推理的答案只取决于涉及哪些会话,与会话顺序无关;时序追踪询问最新状态、较早状态或完整变化序列,打乱会话顺序就可能改变答案。对声学证据而言,状态变化不会被说出口,用户的语气或周围的声音只是在后一次会话里变了,模型必须自己从音频中察觉。图1:记忆操作 × 声学证据的 4×4 分类法,格内为各组合占 799 道题的比例这种设计的好处在结果部分体现得很明显:同一种操作在不同证据类型上的准确率可以相差数十倍(时序追踪:语义 44.5%,环境声 1.2%),只看单一维度的评测会把这种结构完全抹平。图2:四类代表性题目(E=证据会话,H=干扰会话,F=填充会话)VoxMem 的第二个方法论贡献是受控长度。以往分析历史长度的语音基准,往往在不同长度档里放的是不同的题,于是“长度变长导致掉分”和“长的那一档题目本身更难”无法区分。VoxMem 的做法是:每道题都放进 8K、16K、32K、64K 四种长度的历史里,长历史严格包含短历史的全部会话,只往里加更多干扰会话和填充会话。问题、标准答案、所需证据在四个长度下完全相同。打个比方,这就像同一张考卷,只是不断往里夹无关的页数,分数下降就只能归因于页数变多。另一个容易被忽视的细节是长度的“标尺”。不同模型对音频的切分方式各不相同,如果用某个模型自己的 token 数来定义长度,长度轴就会随模型而变。VoxMem 统一用 Whisper 编码器计量(约合 2.5 到 20 分钟音频),这个标尺不属于任何被测模型,所有模型因此共享同一条长度轴。证据和干扰会话在历史中均匀分布,位置和时间戳都不会暗示答案所在。受控思想不只体现在长度上。VoxMem 在两个地方用了类似“最小对”的设计。配对版本。 用户语音由 TTS 合成,每位用户固定一个音色,语气通过风格控制注入,环境声按固定信噪比混入。每个带线索的轮次都保留一个“配对版本”:文字和音色完全相同,只去掉那条线索。这相当于为每条线索准备了一个反事实对照,质检时可以确认,答案确实由线索决定,而不是由文字决定。拒答题。 拒答题由已通过质检的可答题派生,保留原题的问题和历史,只修改答案所需的证据。派生规则共五种:完全移除证据、移除多会话证据链的一部分、保留文字但中和声学线索、去除事实与提问者声音之间的绑定,以及保留多个同样合理的候选。其中第三、四种是语音特有的:文字还在,但能锁定答案的声学信息没了。由于可答题与拒答题只在证据是否可用上不同,拒答能力可以被相对干净地测量。166 个派生变体中,有 130 个通过了完整验证。更关键的是验证“音频原生题真的需要音频”。研究者把每个用户轮次替换成它的精确转写,其余不变,用 Gemini-3.7-Flash 在 8K 下作答:音频原生题的准确率从 46.2% 跌到 4.4%,而语音语义题只从 75.9% 降到 71.0%。即使给出完美转写,这些题也基本答不出来。最终的 VoxMem 包含 799 道题、3,196 个评测实例、34,743 个语音会话,约 177 小时音频,覆盖 20 个日常话题。所有题目均为开放式短答案,由 LLM 裁判按答案类型判分,换用另一模型复判的一致性 κ 为 0.95。研究者评测了 15 个 LALM,其中 10 个开源、5 个闭源。整体结论先放在前面:32K 下没有一个模型整体准确率超过 40%,最好的 Qwen3.8-Omni-Flash 为 38.5%,闭源平均 33.0%,开源平均 21.9%。低准确率并不局限于少数模型。第一层:记住什么。 32K 下,闭源模型在语音语义上平均 55.6%,在说话人身份、副语言、环境声上分别只有 32.7%、20.0%、21.9%;开源模型的对应数字是 31.6%、26.7%、14.5%、15.5%。词汇层面的成绩明显高估了模型保留语音全部信息的能力。第二层:怎么使用。 操作的难度并不固定,而是取决于它作用在什么证据上(图3)。多会话推理反而相对稳健,在说话人身份上达到 43.1%,在副语言和环境声上也有 26.7% 和 25.2%,高于对应的单会话信息抽取(8.8% 和 13.5%)。时序追踪则呈现出最鲜明的对比:说出口的状态变化能追到 44.5%,语气变化只有 3.4%,背景声变化只有 1.2%。论文据此认为,症结不在时间推理本身,而在于维护和更新由语气或环境声承载的状态。图3:15 个模型在 32K 下各“操作×证据”组合的平均准确率拒答的结果尤其值得玩味。模型在副语言和环境声题上的拒答准确率(34.3%、34.2%)反而高于语义和说话人题(19.9%、16.2%),与可答题的规律正好相反。论文的解释是,模型拒答往往不是因为识别出了证据缺失,而是因为即使证据就在那里,它也用不好声学信息。这也提醒我们,单看拒答准确率可能会误读模型的“自知之明”,需要和可答题的表现放在一起看。第三层:随长度怎么变。 8K 到 32K,闭源平均从 40.1% 降到 33.0%,开源从 26.6% 降到 21.9%;在能处理完整 64K 历史的 10 个模型上,四类证据都持续下降。因为题目和证据固定不变,这些下降只能归因于周围历史的增长。衰减速度也因证据类型而异:64K 相对 8K 的保留率,语义 70.3%、副语言 69.8%、说话人 66.5%、环境声 63.2%。副语言绝对准确率最低,却和语义衰减得差不多快;说话人和环境声则是随着历史变长被逐渐侵蚀。论文因此把“基线低”和“对长度敏感”区分为两种不同的失败模式。图4:8K→64K 准确率(左)与相对 8K 的保留率(右)准确率告诉我们模型错了,错误分析则试图回答错在哪里。研究者按一次记忆查询可能失败的先后顺序,把 64K 下的错误回答分成几类:没找到证据(识别/定位失败),找到了但挂错了人或会话(绑定/关联错误),找到也挂对了但操作做错了(操作执行错误),以及答出了历史里根本没有的内容(无依据答案)。每个错误归到最早失败的那一步。图5:64K 下错误构成,按记忆操作(左)和证据类型(右)结果显示,三类音频原生证据并不是同一种困难。说话人题的错误有 48% 是绑定错误,模型记得内容,却记错了是谁说的;副语言题的错误有 63% 是定位失败,答案关键的语气线索往往根本没被取回;环境声题的错误则分布在定位失败(41%)和无依据答案(39%)之间。按操作看,时序追踪的错误 55% 是定位失败,操作执行错误只占 5%,追踪在推理开始之前就已经失败了。附录统计显示,在全部被归因的错误中,“证据找到并绑定正确、只是操作出错”的情况仅占 8.4%。换句话说,当前音频大模型在语音记忆上的瓶颈,大多不在“想”,而在“听进去并记住”。这些结果对正在兴起的语音智能体记忆研究也有直接的参考价值。从声学必要性实验的结果看,如果一个记忆系统只把对话存成文字转写或摘要,那么说话人、语气和环境声这三类证据从一开始就已经丢失,后续的检索和推理无从谈起。错误分析则进一步提示,即使保留了音频,信息与“谁、哪一次”之间的关联也需要被显式维护,否则模型会记住内容、却记错归属。论文在结论中给出的方向是:未来的系统需要保留非词汇的声学信息,并在时间上维护它与说话人、事件和会话之间的关联。VoxMem 的结论可以概括为一句话:长上下文不等于长期记忆。模型对“说了什么”的记忆远好于对“谁说的、怎么说的、听到了什么”的记忆;只有状态变化被说出口时,它们才能较可靠地追踪;历史越长,已有证据越难取回;而不同证据类型的失败在性质上各不相同。随着语音助手从单轮问答走向长期陪伴,这类评测或许会成为衡量“真正记住用户”的一把尺子。▎Q1:为什么会想到做 VoxMem 这个评测?相比于纯文本领域的长上下文评测(比如著名的“大海捞针”测试),为什么音频领域的“大海捞针”是不可或缺的?
起因是我们之前的 EnvMem 工作:我们发现音频大模型在多轮对话里很难留住早先出现的环境声信息。这让我们意识到,语音里有一大类信息是文字转写带不走的:谁说的、怎么说的、周围有什么声音。文本的“大海捞针”找的是一句话,而语音里的“针”可能是一种音色、一个语气,一转写就不在海里了。我们做过对照:只给转写,音频原生题的准确率从 46.2% 掉到 4.4%。另外,真实的语音助手面对的是跨好几天、好几个人的多次对话,海里还有很多长得很像的“假针”:同一件事,不同的人用不同的说法提过。所以我们想做的不只是一个音频版的“大海捞针”,而是一套能同时回答“要记住什么”和“要怎么用”的评测框架,这就是 4×4 分类法的由来。▎Q2:在构建长音频的记忆评测时,最大的挑战往往是如何保证难度的“绝对公平”。VoxMem 采用了“受控长度”以及类似控制变量法的“最小对(配对版本)”设计。这些设计是如何构思出来的?在实际构建数据集时,团队踩过哪些坑?
这两个设计都来自一个很朴素的问题:模型答错了,我们能不能说清楚是因为什么?所以我们让长历史严格包含短历史,只往里加干扰和闲聊,问题、答案和证据一字不改;配对版本只去掉声学线索,用来确认答案取决于声音而非文字。坑主要有两个:一是比如我们发现大模型写对话时总爱把语气直接说出来,我们只好把用户和助手分开生成并严格禁词;二是加进来的闲聊和干扰对话,可能恰好包含另一道题的答案,所以每段加入的会话都要和整个基准的所有答案做一遍比对。▎Q3:评测结果中有一个反直觉的现象:模型在“副语言(语气)”和“环境声”上的拒答准确率反而更高,超过了语义题。而且错误分析显示,大部分模型不是“推理(想)”出错,而是根本没有“听进去并记住”。这是目前音频大模型底层的架构缺陷导致的吗?
模型在“副语言(语气)”和“环境声”上的拒答准确率确实更高,我们的解读是,这并不说明模型在声音问题上更谨慎,而是它即使证据就在那里,也很难识别和使用声学信息,所以说“不知道”的比例自然更高。错误分析也支持这一点:在全部被归因的错误里,证据找到了、也绑定对了、只是最后操作出错的情况只占 8.4%,大部分错误发生在找证据和绑定这两步。至于是不是“架构缺陷”,目前还不能下这个结论。VoxMem 是行为层面的评测,能告诉我们错在哪一步,但不能直接告诉我们为什么。我们在 EnvMem 里做过更细的机理分析:在单一环境声线索的受控设置下,主要的失败模式是表征轨迹漂移。同一方向的工作也有:Koduru 等人的《Heard but Not Heeded: Paralinguistic Information Encoding and Loss in Audio-Language Models》(arXiv 2609.00727)发现,音频大模型的编码器后段保留了说话风格信息,但这些信息在输出前会减弱,与我们的发现方向一致。我个人的判断是,这更可能和训练数据、训练目标有关:现在的音频大模型大量依赖以“听懂说了什么”为主的任务,尤其是在预训练或对齐阶段,很少有任务要求模型在很久之后回头引用某段语气或背景声。这是一个值得用数据和训练去验证的方向。▎Q4:论文中提到目前很多音频大模型的长上下文能力,其实只是停留在“听进去了文字转写”,而不是“听懂了声音”。这种“声学失忆”在未来的实际应用中(比如陪伴型机器人、车载语音助手),会导致哪些灾难性的交互体验?
我想举几个很具体的场景。第一是多人共用的设备,比如家里的音箱、车里的助手。我们发现说话人题答错的情况里,48% 是“张冠李戴”:内容记对了,却记到了别人头上。放到现实里,就是把妈妈说的日程安排记成了爸爸的。第二是情绪和状态的变化。陪伴类产品最需要的,是察觉“你今天和上次不太一样”。但在我们的测试里,追踪语气变化的平均准确率只有 3.4%。用户连续几次语气低落、嘴上却说“没事”,模型基本察觉不到。第三是环境上下文。背景声的变化追踪只有 1.2%。用户在不同环境下说的话,模型很难把“当时在哪、周围是什么情况”一起记住。▎Q5:现在业界都在大谈特谈“AI 伴侣”和“个人超级助理”,这意味着语音交互将从单轮问答走向长期的、跨度可能是几个月的持续陪伴。基于 VoxMem 的测试结果,您对当下正在开发语音 Agent 的创业者或大厂团队有什么具体的架构建议?
这个我也还只是初学者,我有个朋友做的 voicemem,就是个很不错的框架,大家可以看看。我个人的建议的话:1.不要只把对话存成文字。 记忆里应该保留声学层面的信息,比如说话人身份、语气、声音事件,并带上时间戳和会话编号。至于是存 embedding 还是 caption,见仁见智了。2.显式维护“谁、什么时候、说了什么”的绑定。 近一半的说话人错误是绑定错误。记忆条目最好以“说话人 + 会话”为索引,而不是只按话题存。3.特别注意状态变化。 声学状态的变化追踪比较差,与其指望模型事后从长历史里推出来,不如在交互时就记录“从 A 变成了 B”。▎Q6:这是全球首个针对音频大模型多会话记忆的基准测试。未来,随着模型不仅能听,还能看(视频流接入),VoxMem 这个评测体系会如何演进?您认为实现真正的“类人全模态长期记忆”,我们还要走多远?
先补充一个限定哈哈:只能说据我们所知,VoxMem 是第一个基于多会话历史的语音记忆基准。但是其实很多人也做过相关的尝试,具体可以看看我们论文。往后看,我个人认为有几个方向:一是加入视觉证据,比如画面里出现了谁、发生了什么,以及“声音”和“人脸”之间的跨模态绑定;二是走向更真实的数据,包括真实录音、自发口语和更复杂的声学环境,这个也是我们一直努力去做VoxMem下一版的方向;三是把时间跨度从几十分钟拉长到几周、几个月,同时考察记忆的更新和遗忘,我们目前还是比较原生的 LALM,后续可能加入真正的 audio native 的 memory system 之类的。“声学证据 × 记忆操作”这个二维框架本身可以自然扩展:证据这一维加入视觉,操作这一维保持不变。至于还要走多远,从现在来看,差距还很大,我一直以来想着拿电影《her》作为类人全模态长期记忆的一个例子。短期目标我觉得下一步应该是,先把文字之外的信息留下来,不管是向量还是文本数据库,或者是写进模型参数之类的,再把它和人、时间、事件绑定好,这两步做扎实,离“记住用户”就会近很多。