MIT研究团队提出的RLM(递归语言模型)是一种解决大模型"上下文腐烂"问题的创新方法。RLM将长文本存储在外部REPL环境中,让大模型从被动"阅读者"转变为主动"管理者",通过生成代码按需调取和处理文本内容。这种方法突破了物理上下文窗口限制,实现了对百万级token长文本的高效处理,且成本更低、性能更优。实验证明,RLM在处理超长文本任务时表现优异,尤其在复杂长程依赖问题上实现了显著突破。
现在的大语言模型(LLM)动辄号称能处理上百万的 token,但在实际使用中,一旦输入变长,模型就像喝醉了一样,容易遗忘中间的信息。这种现象被称为上下文腐烂(Context Rot)。
MIT 研究团队最近提出了一种巧妙的推理时(Inference-time)策略——称作RLM(递归语言模型)——来尝试解决这个问题。
一、痛点:长文本处理
这里要分清两个容易混淆的概念:「物理上下文窗口」和「有效上下文窗口」。「物理窗口」就是刚才说的「记事本容量」,是大模型硬件和结构决定的最大容纳能力;而「有效窗口」是大模型实际能记住、能利用的内容长度——后者往往比前者小得多。
就像我们人类能一次性看 10 页书(物理容量),但看完第 10 页时,可能已经记不清第 1 页的细节了(有效容量不足)。大模型也是如此,哪怕物理窗口能装下几十万字(更准确的说是 token),有效窗口可能只有几万字,超过这个长度,性能就会断崖式下跌。
为了解决长文本问题,研究人员之前也想过一些办法,但都有明显缺陷。比如:
- 增大物理窗口:最直接,给大模型换更大的「记事本」,但这需要极高的硬件成本,而且窗口越大,模型运行速度越慢,性价比极低。
- 摘要:先让一个小模型把超长文本拆成小段、写出摘要,再把摘要交给大模型处理。但这种方式很容易丢失关键信息——就像把一本小说拆成几百字的梗概再总结,很多细节和逻辑关联都会被忽略,最后大模型的推理自然不准确。
- 代码执行:让大模型根据任务需求生成相应的代码(如 Python 脚本),处理长文本的分析、提取、统计等任务,而不是直接处理全部文本内容。虽然能借助代码处理部分文本,但面对千万级超长文本时,依然会受限于大模型的窗口限制,无法发挥作用。
二、灵感:不要把大象塞进冰箱
马伯庸的小说《长安的荔枝》里有一个情节:李善德苦思让荔枝保鲜的方法而不得,而解困之法却被果农不经意间一语道破:你别摘下来啊。
而 RLM 的思想看上去也同样朴素:你别放进去啊。
RLM 的设计灵感,来自计算机领域非常基础的「外存算法」。通俗理解一下这个算法的核心:你电脑的内存容量有限,比如只有 16G,但硬盘里可能存着 100G 的大视频文件。外存算法的作用,就是通过巧妙的「存取策略」,让小内存也能处理超大文件——比如先读一部分文件到内存处理,处理完再读下一部分,不用把整个大文件都塞进内存。
把这个思路套到大模型上就是:RLM 把大模型的「物理上下文窗口」(就是之前说的「记事本」)当成电脑的「小内存」,把需要处理的「超长 Prompt」(比如百万字报告)当成硬盘里的「大文件」。它不用把整个超长 Prompt 都塞进模型的上下文窗口,而是像外存算法一样,按需调取部分内容处理。
三、理念:Prompt 即环境
RLM 最重要的理念,是「Prompt 即环境」。
传统方法里,Prompt(你给大模型的文本指令)是「输入内容」,直接全部塞进大模型的「记事本」里,模型被动接收这些文本,然后直接输出结果。
而在 RLM 里,Prompt 从「输入内容」变成了「大模型可以操作的外部环境」。简单说,就是不把超长 Prompt 直接喂给大模型,而是把它放到一个独立的「容器」里(比如 Python 的 REPL 环境,你可以理解成一个「文本操作台」),Prompt 在这个「操作台」里变成了一个可编辑、可查询的「变量」。大模型不再是被动读文本,而是主动生成「操作指令」(代码),去这个「操作台」里调取、查看、处理 Prompt 的部分内容。
另外,需要指出的是,RLM 是一种「推理时策略」,通俗说就是不修改大模型本身的权重,只在它干活的时候加个辅助工具。
而且,这种策略与具体的模型无关——不管是 GPT、Qwen 还是其他大模型,都能用上,不用为某个特定模型单独定制。这一点很重要,意味着 RLM 的方案可以快速推广,不用重复研发,大大降低了应用成本。
四、设计:智能体(Agent)+ 编程环境 + 递归调用
搞懂了核心思路,接下来我们具体看 RLM 是怎么跑起来的。
RLM 定义了三个环环相扣的步骤,每一步都让大模型从「被动阅读」变成「主动操作」:
第一步是「外部化上下文」:先把百万字级别的超长 Prompt,完整放进前面说的「文本操作台」(REPL 环境)里,给它起个简单的名字,比如叫「context」(上下文变量)。这一步就像把一本厚书放进书架,而不是直接塞进你的手里——书(Prompt)的大小不再受你手的容量(上下文窗口)限制。
第二步是「符号化交互」:负责统筹的「指挥官」(Root LM,可以理解为一个基于 LLM 的 Agent)不直接读书架上的厚书,而是生成简单的「操作指令」(也就是代码)。比如想读第 3 章,就生成「查看 context 第 3 章内容」的代码;想找某个关键词,就生成搜索代码。这些代码不是给人看的,是给「文本操作台」执行的。
第三步是「迭代执行与反馈」:「文本操作台」执行完代码后,会把结果反馈给指挥官——比如返回第 3 章的内容,或者找到包含关键词的段落。指挥官根据这个反馈,判断下一步该做什么:是继续查看其他章节,还是需要找助手(子模型,Sub-LM)帮忙分析?整个过程循环进行,直到完成任务。
这里有个关键变化:传统大模型只接收 Prompt 作为输入,而 RLM 里的「指挥官」输入要丰富得多,总共包括四部分:
- 核心任务指令:比如「总结这份百万字报告的核心观点」;
- 环境状态:比如「书架上的书有 100 万字,当前已经查看了第 3、5 章」;
- 上一轮代码执行的反馈:比如「第 3 章主要讲了 XX 内容」;
- Prompt 片段:为了当前任务特意调取的片段,比如第 3 章内容。
加入「环境状态」和「执行反馈」很重要——就像指挥官指挥任务时,需要知道当前进度和之前的结果,才能做出正确决策,而不是盲目地翻书。这也是 RLM 能高效处理长文本的关键原因之一。
除此之外,「递归自调用」也是 RLM 设计中的一个精髓——简单说,就是「指挥官」(Root LM)搞不定某个复杂子任务时,能召唤「小助手」(Sub-LM)来帮忙,而这个「小助手」可以和「指挥官」是同一个大模型,也可以是专门的子模型。
论文里专门设计了一个「召唤指令」——llm_query(sub_task)函数。比如指挥官需要分析报告里 3 个章节的逻辑关联,这个任务有点复杂,它就可以生成代码调用llm_query,把「分析第 3、5、7 章的逻辑关联」这个子任务,连同这三章的内容一起交给小助手。小助手完成分析后,把结果反馈给指挥官,指挥官再整合所有信息给出最终答案。
这里要分清两者的分工:「指挥官」负责全局统筹——决定看哪些内容、拆分哪些子任务、什么时候找小助手;「小助手」负责聚焦局部——搞定具体的子任务分析,不用管全局。这种分工让复杂任务被拆解成一个个小问题,大大降低了「指挥官」的压力。
把整个过程串起来就是:「指挥官」(Root LM)先接收核心任务,通过生成代码操作「文本操作台」里的超长 Prompt,按需调取部分内容;遇到复杂子任务,就用llm_query召唤「小助手」(Sub-LM)处理;「小助手」把结果反馈给「指挥官」,「指挥官」根据所有反馈迭代决策,最终完成整个超长文本任务。
这样的设计有什么好处呢?
- 绕过物理限制:超长文本存于外部 REPL 环境(" 文本操作台 "),大模型仅需处理任务指令、环境状态、操作反馈和少量关键片段,彻底摆脱上下文窗口限制
- 角色转变:大模型从被动 " 阅读器 " 升级为主动 " 管理者 ",智能决定处理哪些内容,大幅减少无效工作(如 1000 篇文档中精准筛选 100 篇相关文档)
- 智能过滤机制:利用大模型先验知识生成程序化工具(如正则表达式),自动定位关键信息,精准缩小处理范围,避免信息过载
- 成本优势:成本增长呈对数/对数线性,输入越长越划算;仅处理筛选后关键内容,千万级 token 任务成本低于传统方案
- 抗上下文腐烂:文本存储于外部 " 记忆库 ",按需精准调取,避免硬记超长内容;实验证明性能随长度增加下降更缓慢,记忆保持能力显著更强
五、实验:RLM 真的好用吗?
MIT 团队设计了一系列实验,把 RLM 和传统大模型、摘要代理、代码执行代理等「老方案」放在一起比拼,用真实数据验证了 RLM 的实力。实验逻辑很简单:找不同难度的长文本任务,看谁能搞定、谁效果好、谁更省钱。
首先,对不同类型的任务进行了分级:
- 基础题:在长文本中找单一信息,所有方案都能做,成本低。
- 中档题:需要总结或整合长文本大部分信息,难度随文本变长而线性增加。
- 压轴题:需要对文本内容进行两两配对比较,文本越长,难度指数级上升(传统方法极难处理)。
核心结论:
- 关键突破:只有 RLM 能解「压轴题」
- 传统大模型在最高难度任务上几乎失败(得分<0.1%)。
- RLM 版本表现卓越,得分大幅提升,实现了从「几乎不会」到「能够胜任」的跨越。
- 处理超长文本:千万字级别也能驾驭
- 面对长达数百万至千万词的文本,传统模型因内存限制根本无法运行。
- RLM 可以顺畅处理,并在其中一项测试中取得了超过 91% 的高准确率。
- 证明 RLM 能有效突破模型自身的文本长度限制。
- 综合优势:效果更好,成本可控
- 效果:在所有长文本任务上,RLM 的表现均优于或等同于传统方案,在中等及以上难度任务中优势尤其明显。
- 成本:RLM 通过只处理关键信息,平均花费与旧方法相当,在超长文本处理上,其成本远低于传统模型处理全部文本的理论成本。
- 结论:RLM 实现了更高性能与更具性价比成本的兼顾。
图注:对比 GPT-5 与引入 RLM 机制后的模型在三类长上下文任务(S-NIAH、OOLONG、OOLONG-Pairs)上的表现。随着输入长度和任务复杂度提升,GPT-5 性能快速下降,并受限于 272K 的上下文窗口;RLM 模型则在超长输入下仍能保持稳定且可扩展的推理能力,尤其在复杂长程依赖任务中优势显著。
另外,MIT 团队通过消融实验,明确了 RLM 两大核心部件的作用与协作关系。
- REPL 环境:这是突破长度限制的基础。它像一个外接的「工作台」或「书架」,让 AI 能按需读取和处理超长文本,不再受自身「记忆容量」的束缚。仅靠它,就能解决在长文中「大海捞针」这类简单任务。
- 递归调用:这是解决复杂问题的核心。它让主 AI(指挥官)能把复杂任务拆解,并分派给多个「小助手」AI 并行处理,最后汇总结果。缺少它,AI 独自难以完成如「对比上百个产品差异」这类高难度分析。
RLM 不仅擅长处理长输入,还能生成远超常规限制的长输出(如数万字的报告)。其秘诀在于:指挥官可以把内容分段生成,并依次存入 REPL 环境的「变量」中累积,最后一次性输出完整结果。这就像不是一次性写完一本书,而是逐章撰写并存档,最后装订成册。
六、局限
当前不足:
- 效率不稳定:成本和时间波动较大。AI「指挥官」有时会做出低效决策,例如重复操作或过度调用「小助手」,导致资源浪费。
- 运行方式拖慢速度:目前「小助手」们必须排队同步工作(一个做完,下一个才能开始),无法并行处理任务,整体速度被拖慢。
- 指挥官不专业:当前 AI 模型并非专为 RLM 模式训练,在任务规划、关键信息筛选等决策上不够高效,容易「走弯路」。
改进方向:
- 训练「专业」指挥官:未来可对 AI 进行专门训练,使其更擅长规划 RLM 的工作流程,从而做出更优决策,减少浪费,提高整体效率。
- 尝试「多层」协作:探索更深层的递归,例如允许「小助手」再召唤「小小助手」,形成多级协作网络,以应对结构更复杂的超大型任务。
- 打造「安全操作台」:为代码执行环境构建安全的「沙盒」,严格限制其权限,防止误操作或恶意代码。
初学者拓展阅读指南
- 第一阶段(背景知识):为什么要发明 RLM?
- ReAct(2023):一种最经典的 Agent 范式,RLM 的核心循环是「观察 - 思考 - 行动」,这个模式就是 ReAct 奠定的。
- Context Rot(2025):阐述「上下文腐烂」问题,也就是 RLM 想解决的主要问题。
- 第二阶段(核心机制):RLM 的技术脉络
- CodeAct(2024): RLM 的直系「父亲」。以前的 Agent 用 JSON 调工具,CodeAct 提出「Python 代码是通用的工具」。RLM 本质上就是把 CodeAct 用在了处理长文本上。
- MemGPT(2024):把 LLM 当作操作系统(OS),把上下文窗口当作内存(RAM),把外部存储当作硬盘。RLM 的设计理念深受其影响。
- 第三阶段(进阶评估):怎么证明 RLM 更强?
- Goldman et al.(2025):传统的「大海捞针」(Needle in a Haystack)太简单了,只要搜关键词就行。这篇论文提出了「真·长文本任务」应该是什么样的。
- Oolong(2025): RLM 使用的最重要的测试集之一。它要求模型阅读整个文档并进行语义聚合,这是传统 RAG 做不到的。
如何学习AI大模型?
如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!
第一阶段:从大模型系统设计入手,讲解大模型的主要方法;
第二阶段:在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段:大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段:大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段:大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段:以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段:以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
100套AI大模型商业化落地方案
大模型全套视频教程
200本大模型PDF书籍
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
LLM面试题合集
大模型产品经理资源合集
大模型项目实战合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓