Recursive Language Models:突破上下文窗口限制的通用推理范式
- 关联论文:2512.24601
- 作者:Tom
- 更新:2026-08-04
一句话结论
Recursive Language Models(RLM)不把长 prompt 塞进 Transformer,而是将其作为外部环境,让 LLM 以编程方式递归地审视、分解、自调用 prompt 片段——在 8B 参数规模下即可超越 vanilla GPT-5 在三个长上下文任务上的表现。
解决什么真问题
Context Window 是 LLM 的阿喀琉斯之踵。
前沿推理模型虽然拥有越来越长的上下文窗口(GPT-5 达 272K tokens),但即使在窗口范围内,也存在Context Rot(上下文衰减)现象:prompt 越长,模型在远距离信息上的表现越差。现有主流解决方案是上下文压缩/凝聚(Compaction)——当 context 超过阈值时,将其摘要压缩。但压缩本质上是「选择性遗忘」,对于需要密集访问全量 prompt 的任务(如大海捞针检索、多跳推理),这是不可接受的。
论文要解决的核心问题是:能否让 LLM 以一种通用的方式,处理比自身上下文窗口大一到两个数量级的输入,而不依赖任务特定的工程技巧?
核心方法:把 Prompt 变成可编程的外部环境
RLM 的核心洞察
关键思想:不应把超长 prompt 直接喂给神经网络,而应将其视为 LLM 可以程序化访问的外部环境。
这与 Agent 调用外部工具的思路一脉相承,但更进一步——RLM 让 LLM 递归地调用自己来处理 prompt 的不同片段。
技术机制
RLM 的工作流程如下:
用户输入(超长 prompt)
↓
RLM 将 prompt 加载为 REPL 环境 ℰ 中的一个变量
↓
LLM 编写代码:peek into / decompose the prompt
↓
LLM 递归调用自身处理 prompt 的特定片段(snippet)
↓
合并子片段结果,生成最终回答
具体来说:
- 外部化 Prompt:长 prompt 不直接进入 Transformer,而是作为一个变量存在于一个专门的 REPL(Read-Eval-Print Loop)执行环境中。
- 程序化访问:LLM 可以编写代码来查看(peek)prompt 的特定位置、分解(decompose)prompt 为多个语义片段、选择性地将片段加载到模型的有限上下文窗口中。
- 递归自调用:在处理每个片段时,LLM 实际上是在「调用自己」——将片段加载进上下文,执行标准推理,产生中间结果,再继续处理下一个片段。这本质上是将「长上下文推理」拆解为多个「短上下文推理 + 调度逻辑」的组合。
与 Compaction 的根本区别
| 方法 | 机制 | 适用场景 | 致命缺陷 |
|---|---|---|---|
| Compaction(凝聚) | 将长上下文摘要压缩 | 需要「概览」的任务 | 丢失细节,不适合密集检索 |
| RLM | 将 prompt 作为外部可编程环境 | 需要密集访问所有内容的任务 | 递归深度增加推理延迟 |
RLM 保留了原始信息,压缩不损失信息——这是其与 compaction 本质上不同的原因。
伪代码示意
def RLM(prompt, context_window):
env = load_prompt_as_variable(prompt) # 外部化
# LLM 生成调度代码
plan = llm_plan_decomposition(env)
results = []
for snippet in plan.decompose(env):
# 将片段加载到有限上下文窗口
ctx = load_snippet(snippet, context_window)
# 递归调用自己
result = llm_call(ctx)
results.append(result)
return merge(results)
关键实验与数据
长上下文任务评估
论文在四个多样化的长上下文任务上评估 RLM:
- S-NIAH(大海捞针)
- OOLONG(长文本问答)
- OOLONG-Pairs(成对长文本关系推理)
- 另一个任务(原文未在 abstract 明确列出)
核心数据
vs. GPT-5(Compaction / CodeAct / Claude Code): - Compaction:RLM 在 GPT-5 上提升 26%(median across benchmarks) - CodeAct with sub-calls:提升 130%(相对提升显著) - Claude Code:提升 13%
注:130% 提升为原文数据的直接引用,表示相对性能增幅,而非准确率数值的 1.3 倍。
成本:RLM 在 comparable cost(相近成本)下实现上述提升。
Post-trained 模型:RLM-Qwen3-8B
论文 post-train 了第一个专门适配 RLM 范式的小型模型:
- RLM-Qwen3-8B 相比 base Qwen3-8B:中位数提升 28.3%
- 接近 vanilla GPT-5 质量:在三个长上下文任务上达到与 vanilla GPT-5 相近的表现
这说明 RLM 范式不仅适用于推理时调度,还可以通过 post-training 进一步优化,效果在小模型上依然显著。
Scaling 特性
论文还探索了 RLM 的 scaling 特性(见 Figure 1:输入从 2^13 到 2^20 tokens): - GPT-5 性能随输入长度和任务复杂度显著衰减 - RLM 在整个 scaling 范围内保持稳定高性能
亮点与局限
亮点
- 通用性:不是任务特定的 tricks,而是一种通用的推理范式——适用于任何需要长上下文的任务,不需为每类任务单独设计压缩策略。
- 突破物理窗口限制:能处理「超出上下文窗口一个数量级以上」的输入,从根本上解决了窗口物理限制问题。
- 小模型的大模型效果:RLM-Qwen3-8B 接近 GPT-5 质量意味着 RLM 范式可能极大降低长上下文任务的推理成本(8B 模型远比 GPT-5 便宜)。
- Context Rot 的解决:通过限制单次加载到模型的 token 量,天然避免了长 prompt 导致的远距离信息衰减。
局限
- 递归深度的代价:递归调用增加了推理步数,虽然单次成本低,但总步数可能带来延迟累积。
- 任务规划能力依赖 LLM 本身:如何最优分解 prompt 仍是 LLM 的内生能力,如果 LLM 本身规划能力弱,RLM 的效果也会受限。
- 多步交互的开销:每次递归调用都产生一次 LLM forward pass,当 prompt 需要分解为很多片段时,总成本可能超过直接处理。
- Post-training 的泛化性:RLM-Qwen3-8B 是目前唯一的 post-trained RLM 模型,其泛化能力尚待验证。
原文未明确:具体的 benchmark 数值、RLM 的最佳递归深度设置、以及在不同任务上的失败案例分析。
对工程落地的启发
- 超长文档处理的新范式:对于需要分析长合同、长篇报告、代码库的 LLM 应用,RLM 提供了优于 Compaction 的技术路线。考虑将 RLM 纳入技术选型评估,特别是对召回率(recall)要求高的场景。
- 成本优化空间巨大:如果 RLM-Qwen3-8B 真的接近 GPT-5 质量,企业可以用 8B 模型的推理成本完成原来需要 GPT-5 的任务,推理成本可能降低一个数量级。
- Agent 记忆系统的重新设计:当前 Agent 的长时记忆系统多依赖 RAG 或 summarization。RLM 提供了一种「Agent 可以随时精确检索任意记忆片段」的可能,值得在记忆模块架构设计时重点关注。
- 长视频/多模态长程推理:RLM 的「外部化 + 程序化访问」思想可以扩展到视觉、音频等多模态领域——将视频帧视为可按需加载的外部环境,可能是长视频理解的新路径。
- 推理时 scaling 的新手段:传统 scaling 通过增加模型参数实现,RLM 代表了另一条路——通过推理时的递归结构实现能力 scaling,且两者可以叠加。
与同方向工作的关系
| 工作 | 思路 | 与 RLM 关系 |
|---|---|---|
| 上下文压缩(Smith, 2025; OpenAI, 2025) | 摘要凝聚 | RLM 的对比基准,本质上会丢失信息 |
| CodeAct | 工具调用 + 子任务分解 | RLM 的思想与其相似,但 RLM 调用的是「自己的另一个上下文窗口」 |
| 记忆增强 LLM(MemGPT 等) | 外部记忆分层 | RLM 提供了更系统的长上下文处理框架 |
| Chain-of-Thought / Self-consistency | 推理时计算分配 | 同为推理时 scaling 思路,但 RLM 解决了上下文窗口物理限制 |
| 稀疏注意力(Longformer 等) | 架构修改 | RLM 不修改模型架构,是 inference 范式创新 |
RLM 的核心贡献在于:它不是模型的属性改变,而是推理方式的范式改变。这意味着任何现有 LLM 都可以通过 RLM 范式获得长上下文处理能力,而无需重新训练。
适合谁读
- LLM 应用工程师:你的产品需要处理超长上下文(>100K tokens),RLM 是比 RAG 或 Compaction 更精确的新选项。
- AI 研究者:关注 inference-time scaling、reasoning 能力扩展、长上下文建模方向的前沿工作。
- Agent 系统开发者:想设计更好的记忆和规划模块,RLM 的外部化思路值得深入研究。
- 成本敏感的 AI 负责人:如果当前 GPT-5 的推理成本是瓶颈,RLM-Qwen3-8B 的潜力值得关注(但需等待更完整的 benchmark 数据)。
参考信息
- 机构:MIT CSAIL
- 作者:Alex Zhang et al.
- arXiv:https://arxiv.org/abs/2512.24601(v3, 2026-05-11)
- 代码:https://github.com/alexzhang13/rlm
工程落地与核查(Jay)
事实核查
- ✅ 论文 2512.24601 存在(arXiv v3, 2026-05-11),作者 Alex Zhang 等,MIT CSAIL,与文章对应
- ✅ 26% / 130% / 13% 三个数字均来自原文 abstract(vs. Compaction / CodeAct / Claude Code),数值与方向均准确
- ⚠️ "Omar Khattab" 未出现在原文 author list 中——原文第一作者是 Alex Zhang,Khattab 为合作者之一,但文章标题下直接列示三人可能有误,建议核实原文完整 author list
- ✅ RLM-Qwen3-8B 提升 28.3%、接近 vanilla GPT-5 在三个任务上的表现——原文 abstract 明确,✅ 准确
- ✅ GitHub:
github.com/alexzhang13/rlm—— 原文 abstract 附链接,✅ 存在 - ⚠️ "GPT-5 272K tokens" 在原文中未被提及(原文 abstract 仅比较了 GPT-5 与 RLM 的效果,未说明 GPT-5 上下文窗口长度),此数字来源不明
原文存疑与边界
- "第三个任务"原文 abstract 确实未明言,文章以"另一个任务"表述属诚实处理
- 26%/130%/13% 为相对提升(relative improvement),非绝对 accuracy 点差;文章已注明"相对性能增幅",✅ 表述合规
- RLM-Qwen3-8B 的"接近 GPT-5 质量"是定性描述,原文未给出绝对分数;文章以此措辞是准确的
工程落地路径
当前可用性评估: - 代码已开源(github.com/alexzhang13/rlm),✅ 具备复现基础 - RLM-Qwen3-8B 作为 post-trained 模型,需要确认其权重是否开放下载
RAG vs RLM vs Compaction 选型指南:
召回率要求 >95% + 成本敏感 → RLM(信息零丢失)
召回率要求 80-95% + 低延迟 → Compaction(压缩换速度)
知识库频繁更新 + 需向量检索 → RAG(独立索引,不动模型)
复现最小命令(GPT-5 作为 base,需要 OpenAI API key):
pip install rlm # 假设已从 GitHub 安装
export OPENAI_API_KEY="sk-..."
python -c "
from rlm import RLM
model = RLM('gpt-5', context_window=128000)
result = model.run('YOUR_VERY_LONG_PROMPT_HERE', max_snippets=16)
print(result)
"
注:具体 API 接口以开源代码为准,撰写时未做实测
RLM 的主要坑: 1. 递归深度=延迟乘数:假设每个 snippet 1 次 forward,16 个片段 = 16× 延迟;需根据 SLA 要求设上限 2. snippet 分解质量依赖 LLM 规划能力:分解不佳时片段边界可能切断跨片段语义,导致结果失真 3. 成本非线性:片段多时总 cost 可能接近或超过直接处理(需实测对比) 4. Post-trained 模型泛化性未知:RLM-Qwen3-8B 在非长上下文任务上的表现尚无数据,不建议作为通用模型使用