超越上下文窗口:字节 M3-Agent 如何为健忘的 AI 注入长期记忆
超越上下文窗口:字节 M3-Agent 如何为健忘的 AI 注入长期记忆
最近字节跳动 SEED 团队提出了 M3-Agent 项目,它没有走“把模型堆到无限大,然后期待智能涌现”的老路,而是非常务实地提出了一套分工明确的系统架构。本文中我们将简要拆解一下它到底是怎么做的,以及这背后反映的AI智能体发展的哪两种核心路线之争。
一、两大核心流程
抛开论文里那些正式的术语,M3-Agent 的核心思想大概可以概括为:它给 AI 系统装了两个独立运作的“大脑”,一个负责记,一个负责想,两者解耦,并行工作。
1. 记忆流程 (Memorization):可以类比为一个任劳任怨的“档案管理员”
这个流程的目标非常纯粹:把原始、混乱的视听信息,加工成结构化的、可供查询的知识。它就像一个在后台默默工作的档案管理员,具体分三步走:
- 第一步:预处理(粗加工)。 拿到一段长视频后,系统并不直接把它丢给大模型。从它的 GitHub 仓库能看到,它会先用 ffmpeg 这样的工具把视频切成 30 秒的片段 1。然后,调用一系列现成的、专门的感知工具,比如人脸检测、说话人日志(Speaker Diarization)工具,甚至还有一个专门的预训练音频嵌入模型 (pretrained_eres2netv2.ckpt)。
- 功能解读: 论文里讲了一套宏大的框架,但代码实现却很“接地气”。它没有试图让一个模型“端到端”地学会所有事,而是务实地整合了业界成熟的专用小工具来完成基础的感知任务。这是一种典型的系统工程思维,保证了输入给核心模型的信息质量。
- 第二步:信息结构化(精加工)。 经过预处理、打上标签的信息(比如“这是张三的脸”、“这是李四在说话”)会被喂给一个专门的模型——M3-Agent-Memorization 模型。这个模型的任务,就是把这些零散的信息点,组织成一个“以实体为中心的多模态知识图谱”。
- 说人话就是: 它会创建“张三”、“李四”、“会议室”这样的“实体”节点,然后用带有时间和动作描述的“边”把它们连接起来,比如 [张三] --(在10:35拿起)--> [红色的杯子]。同时,张三的人脸特征向量、声纹特征等多模态信息,会像标签一样贴在这个“张三”的节点上。
- 第三步:入库。 最后,这个构建好的知识图谱被存入一个外部的、持久化的记忆库里。
2. 控制流程 (Control):可以类比为一个先思考再行动的“侦探”
当用户提出一个问题时,“侦探”——也就是 M3-Agent-Control 模型——开始工作。它的工作方式和我们熟悉的很多 Agent 不太一样,尤其是和简单的 RAG(检索增强生成)有本质区别。
论文里称之为“多轮、迭代式推理” (multi-turn, iterative reasoning),并通过强化学习进行优化。这个过程确实和一些高级 Agent 的核心思路有共通之处:不是一次性检索所有信息然后作答,而是通过一个“思考 -> 行动 -> 观察”的循环来逐步逼近答案。
- 现有技术对比: 很多 Agent 的工作模式是“Plan and Execute”,或者像 RAG 那样“Retrieve then Generation”。而 M3-Agent 的控制流程更接近于一个动态的“Reasoning Trace”或“Chain of Thought”的执行过程,这一点本质上与年初大火的 DeepResearch 技术类似。它不是在 Web 上搜索,而是在自己构建的内部知识图谱里进行检索。
总结起来就是 Agentic Memory Retrieval。强化学习在这里的作用,就是教会这个“侦探”如何更聪明地提问(检索),以最高效的路径找到破案线索这个“边想边查”的机制,是它能够处理复杂、需要多步推理问题的关键。这套技术路线也是近期通过后训练 RL 来强化 Agent 能力的典型方案。
二、从论文细节看 M3-Agent 的实现
最后我们再简单回顾下 M3-Agent 实现的一些技术细节。尽管论文在某些方面(如具体的奖励函数)着墨不多,但我们依然可以从其它描述中,构建出其核心技术组件的轮廓。
1. 记忆图谱的结构 (Memory Graph Schema)
论文将记忆库描述为“以实体为中心的多模态图谱”,并提供了一个关于节点属性的定义表:
属性 (Attribute) | 描述 (Description) |
---|---|
id | 节点的唯一标识符。 |
type | 节点的模态类型(如 text, image, audio)。例如,自然语言记忆是文本节点,人脸是图像节点,对话是音频节点。 |
content | 节点的原始内容(如纯文本、base64 编码的图像或音频)。 |
embedding | 节点内容的向量表示,用于相似性检索。 |
weight | 表示节点置信度的数值。 |
extra_data | 包含额外元数据(如时间戳)的 JSON 对象。 |
值得注意的是,论文并未给出图谱的严格模式 (Schema),即没有明确定义所有可能的节点类型(如 Person, Object)和边类型(如 interacts_with, talks_to)。这通常是知识图谱工程中的核心部分。我们大致推断,这可能是一个灵活的、由 M3-Agent-Memorization 模型动态生成的图谱结构,其具体的节点和关系类型可能是在预训练数据中隐式学习到的。这种设计的灵活性很高,但也给系统的可预测性和可控性带来了一定挑战。
2. 控制模块的强化学习范式
论文明确指出,控制模块是通过强化学习 (RL) 来训练的,这使其超越了简单的单轮 RAG。虽然没有提供具体的奖励函数公式,但我们可以根据其描述和标准的 RL 框架,来推测构建其学习过程的模型。
该过程可以被建模为一个马尔可夫决策过程 (MDP):
- 状态 (State, st): 在第 t 个推理回合,状态可以定义为迄今为止的对话历史,包括用户的初始问题和所有先前“思考-行动-观察”循环的结果。st=(q,(th1,a1,o1),...,(tht−1,at−1,ot−1))。
- 动作空间 (Action Space, A): 控制模块的动作空间是离散的,主要包含两类动作:
- Search(query): 向记忆图谱发起一次检索查询。
- Answer(text): 结束推理循环,并生成最终答案。
- 策略 (Policy, πθ): 控制模块本身就是一个参数化的策略网络(一个 LLM),它在给定当前状态 st 的情况下,输出下一个动作 at 的概率分布,即 πθ(at∣st)。这个动作可以是一个新的检索查询,也可以是最终的答案。
- 奖励 (Reward, R): 论文中提到,RL 训练提升了在 M3-Bench 上的准确率。笔者推测这里的奖励应该是一个在轨迹结束时给予的稀疏可验证奖励 (Sparse Verifiable Rewards)。
基于此,通过诸如 DAPO 等算法,模型可以学习到一个最优的“思考链”,知道何时应该继续检索以收集更多证据,何时已有足够信息可以自信地给出答案。这正是其与单轮 RAG 的根本区别:RAG 是一个开卷考试的学生,一次性查找所有资料;而 M3-Agent 是一个不断追问、迭代求证的侦探。
三、两种路线的博弈:M3-Agent 的“外置硬盘” vs Qwen 的“超大内存条”
M3-Agent 的这套架构,代表了当下该字节团队解决 AI 记忆问题的一种哲学思考,这也是业界目前为了解决 Memory 问题的不同尝试。为了更好地理解它的定位,我们有必要拿它和当前另一条主流路线,即以 Transformer 架构为基础,通过暴力美学打造的“超长上下文”模型,这里以阿里的 Qwen2.5-1M 模型作为代表,做个对比。
路线一:M3-Agent 的“外置结构化硬盘”
- 核心思想: 记忆是需要被明确设计和管理的。重要的信息不应该混杂在临时的上下文(内存条)里,而应该被提取、结构化,然后存入一个外部的、持久的、可供精确检索的数据库(硬盘)。
- 优点:
- 可解释性强: 知识图谱是白盒的,你可以清楚地看到 AI 记住了什么,以及实体间的关系是什么。
- 推理能力强: 对于需要多步、跨实体关系推理的任务(比如“A 离开后,B 对 C 说了什么?”),在图上进行跳转查询,远比在长文本里大海捞针要高效和可靠。
- 持续学习: 理论上可以无限扩展,不断向这个“硬盘”里添加新知识,而不会有上下文窗口的限制。
- 缺点:
- 系统复杂: 整个流程是非端到端的,依赖多个组件和工具,任何一环出错都可能导致“垃圾进,垃圾出”。
- 信息损失: 从原始数据到知识图谱的提取过程,必然会丢失一部分非结构化的细节和上下文。
路线二:Qwen2.5-1M 的“超大内存条”
- 核心思想: 只要上下文窗口(内存条)足够大,模型就能“记住”所有事情。记忆内嵌于 Transformer 架构本身,通过强大的注意力机制来关联信息。
- 技术实现: Qwen2.5-1M 通过 RoPE 缩放、稀疏注意力等技术,将上下文长度扩展到了惊人的百万级 token。对于多模态输入(如 Qwen2.5-VL),通过一个视觉编码器(ViT)和一个适配器(Adapter,通常是Cross-Attention层),将视觉特征投影 (project)到语言模型的 token 空间里,然后与其他文本 token 一起,作为一个统一的序列被 LLM 处理。
- 优点:
- 架构简洁: 概念上更接近一个端到端的“大力出奇迹”模型,减少了外部依赖。
- 保留原始信息: 所有细节都在上下文中,没有信息提取过程中的损失。
- 缺点:
- 黑箱操作: 推理过程不可解释,容易在长文本中“迷失”,出现“中间遗忘”的问题。
- 成本高昂: 处理超长上下文的计算和存储开销巨大。
- 关系推理是隐式的: 依赖注意力机制去“涌现”出实体间的关系,对于复杂的多跳推理任务,可靠性不如结构化的图查询。
总结一下: M3-Agent 走的是一条更偏向“系统工程”和“认知科学”的路线,而 Qwen 系列则是将深度学习的“缩放定律(Scaling Law)”推向极致的代表。
四、M3-Bench 到底证明了什么?(别看数字,看结论)
值得注意的是,字节在这篇文献中还专门搞了个 M3-Bench 测试集。从它的“消融实验”我们可以关注到以下几点。
-
结论一:强化学习训练的“侦探”比无头苍蝇式的检索更有效,也就是 Agentic Memory Retrieval 确实有提升。 如果不经过强化学习训练,模型的准确率会掉 8~10个点,这个结论基本符合我们的认知。
-
结论二:结构化的“实体”记忆是基石,而不是简单的信息堆砌。
这是比较关键的一个结论。如果把那个精心构建的“以实体为中心的知识图谱”拿掉,换成更简单的记忆方式,模型准确率会暴跌 13~19 的点。目前很多 Memory 的方案本身也会纠结要不要上 Graph,大众认知基本是 Graph 会大幅增加成本与复杂度,但是对于具体收益目前并没有一个行业共识,字节的这次实验也算是给了一个参考。这也从侧面说明,对于需要长期、跨时间、跨模态理解的任务,让 AI 围绕“实体”(人、物、地点)来组织记忆,是其建立一个稳定、一致的世界模型的关键。
五、潜在局限与未来挑战
M3-Agent 无疑是一个非常有趣且有启发性的探索,但我们也要客观地看到它的局限和未来的挑战。
-
“大惊小怪”了吗?
M3-Agent 的核心思想——外部记忆、迭代式推理——并非横空出世。在 Agent 研究领域,类似的基于 Agentic RL 的思想一直存在。M3-Agent 的一个重要贡献在于,它针对多模态长时程这个具体场景,提供了一个开源的、相对完整的、经过实验验证的工程化蓝图。它将一种工程化的思路成功落地到了一个极具挑战性的具体场景下的问题之上。
-
真正的瓶颈在哪?
从这几年的技术发展趋势来看,基于工程化的方案,在技术天花板上是要低于基于后训练的的方案,而后者又会进一步低于基于预训练的方案。虽然 M3-Agent 在一定程度上使用了强化学习的技术,但是就基于 Memory 设计本身,基本还是应该将其归为工程化手段(主要使用知识图谱),从这个意义上来说,相比于大模型原生(LLM Native)的 Memory 解决方案(这里暂且狭隘地理解为上述的暴力美学方案),性能应该是有差异的。
但是考虑到,现阶段也没有真正意义上的无限上下文模型的解决思路,可能摆在开发者面前更实际的一个问题应该是,如果采用工程化手段模拟出来一个外部的 Memory 完整解决方案,那么相对于原生 Memory,这个性能差异,在不同场景下,究竟能控制的有多小?我们又该采用哪些技术手动去缩写这其中的差距呢?
-
未来的星辰大海:
M3-Agent 给了我们一个清晰的信号,未来的高级智能体,很可能不是一个单一的庞然大物,而是一个混合系统。它或许会有一个像 OpenAI、Gemini 或者 Qwen 那样强大的、拥有超大“内存条”的通用 LLM 作为核心,用于处理海量的实时上下文信息。但同时,它也会配备一个或多个像 M3-Agent 这样的“外置硬盘”模块,用于将重要的、需要长期保存的知识进行沉淀、结构化和固化。
智能体可以根据任务需求,动态地决定是依赖临时的“上下文记忆”,还是去查询永固的“知识图谱”。这种内外存结合的混合架构,或许才是通往更强大、更鲁棒的通用人工智能的现实路径。