Command Palette
Search for a command to run...
递归语言模型
递归语言模型
Alex L. Zhang Tim Kraska Omar Khattab
Abstract
我们从推理阶段扩展的角度,研究如何使大型语言模型(LLMs)处理任意长度的提示(prompt)。为此,我们提出了一种通用的推理策略——递归语言模型(Recursive Language Models, RLMs),该策略将长提示视为外部环境的一部分,使LLM能够以编程方式对其内容进行检查、分解,并对提示片段递归调用自身。实验结果表明,RLMs能够成功处理超出模型上下文窗口两个数量级的输入;即使在较短提示场景下,其在四项多样化长上下文任务中的表现也显著优于基础LLM及常见的长上下文处理框架,同时每次查询的计算成本相当(或更低)。
一句话总结
麻省理工学院CSAIL的研究人员提出了递归语言模型(RLMs),这是一种新颖的推理策略,使大语言模型(LLMs)能够通过递归分解和查询长提示,处理任意长度的输入,显著扩展了有效上下文范围,同时在长上下文任务中提升了性能并降低了成本。
主要贡献
- 本文解决了大语言模型(LLMs)固定上下文窗口的关键限制,该限制导致在处理长提示时性能下降——即所谓的“上下文腐化”(context rot),尤其在需要密集访问输入内容的复杂任务中更为明显。
- 提出了递归语言模型(RLMs),一种通用的推理策略,将长提示视为外部环境中的可编程对象,使LLM能够通过代码生成实现自调用,递归分解并处理提示内容,从而绕过模型原生上下文限制。
- 在四个多样化的长上下文任务(包括深度研究、信息聚合和合成推理)上进行评估,RLMs优于基础LLM、上下文压缩方法、检索代理和代码生成代理,在输入超过1000万token时仍保持强劲性能,且计算成本相当或更低。
引言
现代语言模型在处理长上下文任务时面临关键瓶颈,受限于有限的上下文窗口和“上下文腐化”现象,即随着输入长度增加,性能持续下降——即使是最先进的模型如GPT-5也难以避免。这一限制阻碍了其在真实场景中的应用,例如对大规模代码库或长篇研究文档进行深度推理。此前的上下文扩展方法,如上下文压缩或基于检索的代理,往往牺牲细粒度信息,或无法突破模型原生上下文窗口。本文作者提出递归语言模型(RLMs),一种通用推理范式,将输入提示视为持久Python REPL环境中的变量。通过使LLM能够以编程方式分解、查询并递归调用自身处理输入片段,RLMs有效绕过上下文限制,无需依赖外部工具或任务特定设计。该方法使模型在处理超过1000万token的输入时仍保持高性能,显著优于直接LLM调用、压缩方法和检索代理,同时计算成本保持相当。
数据集
- 数据集包含3,182个通用知识问题,每行一个,来源于带有元数据(包括日期、用户ID和实例,即问题)的结构化文本上下文。
- 每行包含一个问题及其对应的用户ID和时间戳,构成用户生成查询的纵向记录。
- 该数据集用于评估在多种语义类别下的推理能力:描述与抽象概念、实体、人类、数值、地点和缩写。
- 作者通过在原始数据基础上生成20个新基准问题,构建合成任务(OOLONG-Pairs),旨在测试用户条目之间的成对语义关系。
- 任务要求识别满足特定语义标签组合与时间约束的用户ID对(例如,实例必须发生在特定日期之前或之后)。
- 所有配对按升序列出(较小ID在前),无重复,答案必须以(user_id_1, user_id_2)格式分行输出。
- 数据集经过处理,从问题内容中提取并验证语义标签,不提供显式标签,需从上下文中推断。
- 模型在训练与评估流程中使用完整数据集,利用递归子调用对条目进行分类并聚合配对,重点关注从1,024到超过100万token输入长度下的可扩展性与正确性。
- 关键处理策略包括按语义类别和时间标准过滤条目,确保聚合任务无法通过线性遍历方法解决,从而强制实现真正的成对推理。
方法
作者提出递归语言模型(RLMs),一种通用推理框架,使大语言模型(LLMs)能够通过将输入视为外部环境,处理任意长度的提示。核心架构采用分层递归结构,由根LLM协调长输入的处理,通过向自身或其他LLM发起子查询实现。该过程由Python REPL(读取-求值-打印循环)环境支持,作为共享内存空间,LLM可在其中存储、操作和检索信息。根LLM(记为RLM,根/深度=0)接收完整提示,并将其加载为环境中的变量。随后,它将提示分解为可管理的片段,使用基于代码的操作(如正则查询或关键词搜索)探测上下文,并递归调用子LLM实例(RLM,深度=1)分析特定段落。每个子LLM独立运行,在REPL环境中执行代码以提取相关信息,并将结果作为子响应返回给根LLM。根LLM聚合这些响应,进行进一步推理,并可能发起更多递归调用以验证或完善理解。此迭代过程持续进行,直到根LLM判断已收集足够信息以形成最终答案。该框架强调使用代码与上下文交互,使LLM能够执行结构化操作(如摘要、过滤、数据提取),而非仅依赖基于token的推理。系统提示指导LLM广泛使用REPL环境,鼓励使用print()语句检查中间结果,以及使用llm_query()调用委派子任务。最终答案通过FINAL或FINAL_VAR函数显式提供,确保输出与中间代码执行清晰区分。该设计使LLM能够处理远超其原生上下文窗口的输入,通过卸载上下文并利用递归、程序化引导的推理实现。

RLM框架允许模型基于模型先验和推理,使用代码与上下文交互、探测和过滤。如图所示,根LLM可在REPL环境中执行代码,将提示拆分、搜索特定关键词,并调用子LLM分析相关部分。这使模型能够执行复杂操作,如识别相关片段、摘要信息和提取结构化数据。模型还可利用REPL环境在多步操作中维持状态,将中间结果存储在变量中,并在后续查询中使用。这一能力在需要多跳推理或整合输入中不同部分信息的任务中尤为有用。该框架支持迭代和批量处理,使模型能通过将大输入分解为更小、可管理的片段,高效处理大规模输入。基于代码的操作确保模型能执行精确且可控的动作,降低纯基于token推理可能引发的错误风险。

RLMs通过递归LM调用推迟对大上下文的推理。模型可分批处理上下文,使用代码对问题进行分类、提取相关信息并执行其他操作。例如,模型可先将问题分类为“数值”、“实体”、“地点”等类别,再分别处理每个类别。该方法使模型能够处理需要信息检索与推理结合的复杂任务。模型还可利用REPL环境验证答案,确保最终输出准确且一致。该框架支持多种操作,包括数据提取、摘要和分类,使其成为长上下文任务的多功能工具。

RLMs可将递归LM的输出拼接为更长、复合的输出。模型可使用REPL环境存储中间结果,并将其组合为最终答案。例如,模型可提取满足特定条件的用户ID对并存储于变量中,再利用该变量生成最终输出,确保答案完整且准确。模型还可利用REPL环境验证答案,确保最终输出与输入数据一致。该能力在需要整合多源信息的任务中尤为有用,例如识别具有特定属性的用户对。该框架支持多种操作,包括数据提取、摘要和分类,使其成为长上下文任务的多功能工具。

实验
- S-NIAH:验证处理成本随输入长度恒定;RLMs在大输入下保持高性能,优于基础模型和基线方法。
- BrowseComp-Plus(1K文档):测试在大规模文档集上的多跳推理;RLM(GPT-5)在1000文档下达到完美性能,相比基础模型和摘要/检索基线提升超29%,平均成本更低(0.99vs.1.50–$2.75 for GPT-5-mini)。
- OOLONG:评估输入长度的线性扩展性;RLMs使用GPT-5和Qwen3-Coder分别优于基础模型28.4%和33.3%。
- OOLONG-Pairs:测试输入长度的二次扩展性;RLMs在F1得分上达到58.00%(GPT-5)和23.11%(Qwen3-Coder),远超基础模型(<0.1%)。
- LongBench-v2 CodeQA:评估代码库理解能力;RLMs在多选任务中取得高准确率,展现出对固定代码文件的强大推理能力。
- RLMs可有效扩展至1000万+ token,相比基础模型和任务无关代理,准确率最高提升2倍,同时保持相当或更低的成本。
- REPL环境使模型突破上下文限制,递归子调用对信息密集型任务至关重要,相比消融实验性能提升10%–59%。
- RLM性能随输入长度和复杂度缓慢下降,而基础模型迅速退化——在超过2^14 token后,RLMs始终优于基础模型。
- RLM推理成本在中位数上与基础模型相当,但因轨迹长度可变而呈现高方差;然而,RLMs相比摘要基线最高可节省3倍成本。
- RLMs具有模型无关性,但表现出不同行为:GPT-5在BrowseComp-Plus上表现优异,而Qwen3-Coder表现不佳,尽管系统提示完全相同。
- 出现的涌现模式包括:通过代码执行实现上下文过滤、递归分块、通过子调用验证答案,以及通过变量实现长输出的拼接。
- 未来方向包括异步调用和更深递归,以进一步降低计算成本并提升效率。
作者使用Python REPL环境实现RLMs,使其能够突破基础模型的上下文限制。结果表明,RLMs在长上下文任务中性能优于基础模型和其他基线,成本保持相当或更低,尤其在信息密集型任务(如OOLONG-Pairs)中,显著优于非递归变体。

结果表明,使用REPL的RLMs在长上下文任务中优于基础模型和其他基线,实现更高性能,且成本相当或更低,尤其在信息密集型任务(如OOLONG-Pairs)中表现突出。RLM方法能有效随输入规模扩展,在基础模型因上下文限制失败时仍保持强劲性能,而RLM成本与基础模型调用处于同一数量级。

作者使用表格比较了不同方法在长上下文任务(包括CodeQA、BrowseComp+、OOLONG和OOLONG-Pairs)上的性能与成本。结果表明,RLMs在输入长度较大的任务中优于基础模型和其他基线,实现更高准确率,同时成本相当或更低,尤其在信息密集型任务(如OOLONG-Pairs)中,RLMs的F1得分显著高于基础模型。
