把一份 200 页的文档交给 ChatGPT,再问一个答案明明写在第 53 页的问题,模型仍可能答错。此时并没有超过上下文窗口,真正下降的是模型在大量信息中持续推理的能力。
这种现象常被称为上下文腐化(context rot)。递归语言模型(Recursive Language Models,RLM)给出了一条直观路线:不要让模型一次吞下全部文本,而是把上下文放到外部运行环境中,由模型按需查看、筛选、分块,并对局部内容递归调用自己。

当信息仍在上下文中,模型也可能因为处理负担过重而答错。
这套方法的重点并不是扩大窗口,而是改变模型接触长上下文的方式。模型不再像临考前把整本书塞进脑中,而更像一名程序员:面对一个数据集,先观察结构,再决定怎样查询和拆分。

原文短视频封面:长上下文越臃肿,稳定推理越困难。
真正的问题:装得下,不等于推理得动
一个宣称支持 100 万 token 的模型,处理 5 万 token 文档时仍可能产生糟糕结果。原因与文本能否放进窗口无关,而在于模型能否跨越大量内容完成计数、分类和多步推理。
前沿模型通常能通过“大海捞针”测试:把一句特殊内容藏在大量填充文本里,模型仍能把它找出来。但这类测试衡量的是检索,不是对整批信息进行综合推理。
一旦任务从“找到那句话”变成“统计、归类或比较数千条记录”,表现就容易下滑。日常使用里也有类似信号:
- 很长的 Claude Code 会话逐渐变得迟缓。
- 持续很久的 ChatGPT 对话需要反复补充和重申信息。
- 模型未必是在凭空编造,而可能是随着上下文膨胀,推理能力变弱。

能从长文本中检索一个事实,不代表能稳定地对全部内容进行推理。
RLM 的关键转向:拆上下文,而不是拆任务
RLM 的核心思路很简单:不强迫模型一次处理全部信息,而是让它把上下文拆成更小的部分,逐层分析,并在必要时递归调用语言模型。
传统 Agent 往往由人预先设计任务步骤、执行顺序和回退策略;RLM 则让模型围绕上下文本身做分解。它会根据眼前的数据结构和问题,决定先查找、先分块,还是先做局部摘要。

从“按人工流程拆任务”转向“由模型按需拆上下文”。
RLM 如何工作
1. 把查询与上下文分开
普通 LLM 调用会把问题和完整上下文一起放进提示词,模型必须在生成答案前同时面对所有内容。RLM 打破了这个前提:上下文留在提示词之外的运行时内存中,根模型只看到问题和一组可用工具。
可以把它想成 Jupyter Notebook。你先把数据加载到名为
df 的变量,之后每个单元格只需引用 df,不用反复上传 CSV。RLM 也把 200 页文档放进类似 ctx 的变量,模型通过工具与它交互。
完整上下文存放在运行环境中,根模型只携带问题和工具。
2. 用四类工具探索上下文
根模型不能直接通读
ctx,因此工具设计决定了整套方法是否有效。论文为模型提供了四类访问方式,基本覆盖了数据分析时常用的操作:- Peek:先查看上下文开头约 2,000 个字符,理解整体结构。
- Grep:使用正则表达式筛出相关行。
- Partition:把上下文切成更小的片段。
- Recursive call:针对局部片段再次调用语言模型。

查看、检索、分块和递归调用共同组成按需访问路径。
3. 让策略从任务中自然形成
传统 Agent 框架通常把拆解方案写死:人先规定步骤,模型照着执行。RLM 反过来让根模型一边观察上下文,一边决定处理策略。
它可能先
grep 再分块,也可能先查看结构,再对子片段做摘要。策略并非来自固定工作流,而是由模型根据已经发现的信息动态选择。
根模型在探索过程中决定下一步,而不是照搬预设流程。
一个具体例子:处理 5,000 条客服工单
假设有 5,000 条客服工单,需要回答:“用户 12345、67890 和 11111 提交的问题中,有多少与账单有关?”普通模型会同时接收所有工单,尝试从头扫描,很容易在计数环节出错。
RLM 会把问题改造成一串针对数据的操作:
- 先查看结构,确认每一行包含日期、用户 ID 和问题。
- 检索三个目标用户,把 5,000 行缩减到约 50 行。
- 对筛选结果发起递归调用,把每条问题分类为“账单”或“其他”。
- 汇总分类结果并返回最终数量。
整个过程中,根模型携带的上下文始终很小。它不必反复面对全部 5,000 条记录,因此能把注意力集中在真正相关的数据上。

先缩小数据范围,再对子集分类,最后汇总结果。
为什么这条路线重要
原文把 RLM 的价值概括为五点。它们描述的是这套架构希望带来的能力,而不是单纯把上下文窗口做得更大:
- 缓解上下文腐化:目标是让准确率不再随着文档变长而快速下降。
- 扩展到更大规模:面对 1,000 万 token,可以继续增加分块层级。
- 过程可解释:可以检查模型查看了什么、筛选了什么,以及怎样得到结果。
- 更节省成本:多次小调用可能比一次超大调用更经济。
- 随基础模型进步而受益:底层 LLM 变强后,递归分析能力也会一起提升。

RLM 的价值集中在稳定性、规模、可解释性与成本控制。
真正值得记住的变化
RLM 把上下文视为可以被程序化探索的数据,而不是一段必须完整塞进提示词的文本。代码执行负责定位和切分,语言模型负责理解与判断,两者在递归过程中交替配合。
它既不是简单摘要,也不是流程固定的 Agent。最关键的变化是:模型根据探索中发现的信息,自行决定怎样分解上下文。面对超长文档时,这种“先缩小问题,再深入推理”的方式,比盲目扩大单次输入更值得关注。
- 作者:yaney
- 链接:https://yaney.top/article/example-46
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。






