RLM(递归语言模型):让模型写代码自己调用自己,而不是调用工具

6 分半的官方演示,给了机制、一场俳句锦标赛,还有一组说明「什么时候才值得上」的实测数据
作者:LangChain08-08 · 9 分钟⚑ 产品动态
工具教程 · 小互解读
一分钟速览
  • RLM 就是让模型拥有「自己调用自己」的能力:主 Agent 写代码派出子 Agent 分工,上下文从模型窗口挪进变量和文件。
  • 官方实测划出一条实用分界线:64k 上下文时开不开差别不大,到 128k 才明显拉开。
  • 代价也一并交代了:延迟更高、token 更贵,换来的是准确率和确定性。
⚑ 本文拆解的是 LangChain 官方发布的技术分享视频,机制描述与实测数据均出自该视频。文中标注出处的补充背景,来自视频之外的公开资料。
01

什么是 RLM(递归语言模型)

用大白话说,RLM 就是让 AI 模型拥有「自己调用自己」的能力。

这句定义容易听过就算,得跟传统做法摆在一起看才明白差在哪:

传统模式

你给 Agent 一个超长文件,它必须把所有内容一次性塞进有限的记忆(上下文窗口)里去分析。

结果往往是前面记了后面忘,或者一做总结就丢掉大量细节。

RLM 模式

模型的编排逻辑写在代码里。主 Agent 变身总指挥,可以编写代码去创造多个子 Agent 分工协作,也就是分治策略(divide and conquer)。

大部分上下文和中间数据保存在变量或本地文件中,而不是硬塞进上下文窗口。

差别落到实处是这样的:模型不再需要「把整本书背下来再回答」,而是「写一份处理流程,需要哪一页就翻哪一页」。

TRADITIONAL 上下文窗口 塞满了 · 只能靠摘要腾地方 而摘要会丢信息 RLM 主 Agent 写代码 调用自己 变量 文件 变量 子 Agent 子 Agent 子 Agent 各拿一块 · 分头处理 · 结果回流
同样一堆数据,一边全挤进窗口,一边散在变量和文件里按需取用。本站按视频内容绘制的示意。

一个视频里没交代的背景:RLM 这个概念不是 LangChain 提出的。它出自 Alex Zhang 2025 年 10 月的一篇博客,后来有了正式论文(arXiv:2512.24601)。LangChain 做的事情是把这个范式接进自己的 Agent 框架,让它能直接用起来。

本文拆解的是 LangChain 开源工程师 Sydney Runkle 的一段 6 分 36 秒官方技术分享,主题就是怎么在 Deep Agents 里用上 RLM。

LangChain 官方演示全片,6 分 36 秒,本站配中英双语字幕。下面拆的就是这段视频讲的内容。

02

RLM 解决了什么痛点

它冲着三个问题去的,前两个是 Agent 的老毛病。

1
长文本、大规模数据失效

传统 Agent 处理上万行的文件时,很难做到确定性地逐行处理。它读一遍、凭理解回答,这种方式在数据量大起来之后就不可靠了,你没法保证每一行都被真正看过。

2
总结失真

上下文窗口是有限的。长对话跑下去,迟早要做摘要来腾地方。而摘要是有损的(lossy),你不知道被压缩掉的那部分,是不是恰好包含关键的那一行。

3
逻辑控制不够灵活

改成代码驱动之后,循环(loops)、并行扇出(fan out)、流水线(pipelining)这些复杂的逻辑结构,模型都能轻松搭出来。凡是代码里能写出的编排方式,这里都能用。

把编排交给代码之后,换来的是两样东西:

  • 确定性覆盖,代码能保证每一行都被处理到,不漏。这对大规模数据问题特别关键。
  • 定制编排,想怎么组织工作就怎么组织,用的是代码级别的原语。
03

如何在 Deep Agents 中使用

Deep Agents 是 LangChain 的开源 harness(框架骨架),用来搭那种应付复杂真实任务的通用 Agent。在它里面开启 RLM 只有两步。

1
引入代码解释器(Code Interpreter)

给主 Agent 挂载一个轻量级的代码执行环境。这里有个设计取舍值得注意:它足够轻,让模型能写代码、跑代码,而不必动用一整个沙箱那么重的东西。

2
用 task 函数接口调度子 Agent

主 Agent 编写代码,调用内置的 task 函数来启动和调度子 Agent,处理完毕后再由主 Agent 汇总结果。task 调用的前后还可以有别的代码,调用之前做数据准备,全部调完之后做聚合。

上手方式很简单:用 create deep agent 原语,把 code interpreter middleware 传进去,就开启了 code mode。

主 Agent 写出来的那段程序
1# 先做数据准备:普通代码
2rows = load_dataset(...)
3chunks = split(rows, n=16)
4
5# 派子 Agent 去干活
6results = [task(c) for c in chunks]
7
8# 全部回来之后再聚合:还是普通代码
9answer = aggregate(results)
└─ 子 Agent子 Agent子 Agent → 结果回流第 9 行

高亮那两行就是 RLM 的全部机密:编排逻辑是代码,task 是唯一的分叉点,它前后都还是普通代码。示意代码,非视频原文。

DEMO实际演练:16 个子 Agent 比赛写俳句

演示环境是 decode,LangChain 基于 Deep Agents 框架做的终端编码 Agent,命令行里敲 decode 就能启动。

触发 RLM 的关键词是 workflow。演示里给的指令是:跑一个 workflow,生成 16 首关于早餐食物的俳句,然后用锦标赛的方式选出最好的一首。

接下来发生的事情是这样的:主 Agent 自动生成了 16 个子 Agent,很快各自写出一首诗;然后它开始写代码(调用 JS eval 工具)分轮次比拼,16 强、四分之一决赛一路打下去;中途有一段代码写错了,模型自己发现并纠正;最后决出冠军,是一首关于浆果的俳句。

这个演示本身不复杂,但它把形态演出来了:先扇出 16 个并行,再按锦标赛结构逐轮收敛,这就是「用代码原语组织工作」落到实处的样子。

冠军 16 个子 Agent 各写一首 逐轮对阵 · 代码控制
主 Agent 写代码把 16 个子 Agent 的产出排成对阵表,逐轮收敛。本站按视频内容绘制的示意。
04

性能与基准测试对比

演示之外,官方给了一组实测。用的是 Oolong 数据集,专门考验模型长上下文推理和数据聚合能力的那类基准。

SETUP测试是怎么设计的

取的是 Oolong 的 AgNews 部分,结构是一张几千行的大表,每行有三样东西:日期、用户、一条没有标签的新闻标题。

任务分两步:先让模型给每条标题分类,四选一,world(世界)、sports(体育)、sci/tech(科技)、business(商业);然后问关于这些数据的分布性问题。

问题按难度分三档:

难度类型例子
最简单计数所有标题里,哪个标签最少见
中等先过滤再计数某个特定用户名下,有多少条科技类标题
最难时间推理2004 年 8 月之前,体育类标题是不是比世界类多

难点全在数据量上:几千行一股脑塞给模型,再让它做这些分类、聚合和推理,没有 RLM 或者某种代码支持,这件事基本做不好。

RESULT两档上下文长度,结果完全不同

对照的是两个配置:不开代码解释器的普通 Deep Agent,和开了代码解释器、也就是启用 RLM 的版本。

64k
上下文长度
普通版
启用 RLM

两者差异不大,基本打平。这一档上不上 RLM,看不出明显好处。

128k
上下文长度
普通版
启用 RLM

启用 RLM 的版本优势极大。普通版开始大面积答不出来。

条长为趋势示意:视频只展示了图表走势,未公布具体分数。

更值得看的是普通 Agent 输在哪:在 128k 那一档,它给出的答案里有大量「我无法精确回答」「我被挡住了算不了」,模型是被过大的信息量压垮之后直接放弃了。而启用 RLM 的版本依然能按代码逻辑把任务拆开,算出正确答案。

由此可以推出一个判断:如果上下文再长一些,或者问题再难一些,启用 RLM 的那一版会继续拉开优势。

TRADE-OFF代价:更慢、更贵

代价在视频里一并交代了:RLM 模式的延迟明显更高,消耗的 token 也更多。换来的是准确率和确定性。

不过这块还有优化空间。讲者提到:如果进一步调优,比如设计一些 skills 来说明该怎么处理这类特定问题,token 用量和成本能砍下来不少。

05

核心价值总结

1
突破上下文瓶颈

不再依赖庞大的上下文窗口,而是用「代码 + 子 Agent 分治」的方式来处理海量数据。上下文住进变量和文件,模型要哪块取哪块。

2
从「概率猜测」到「确定性计算」

复杂的大规模分类、统计和逻辑推理交由程序去严格执行,而不是让模型凭理解给个大概。这大幅提升了 Agent 在复杂真实业务场景下的可用度。

落到「我该不该上」这个问题上,那条实测分界线是最实用的答案:数据量还没到把上下文撑爆的程度,上了也看不出好处,还白付延迟和成本;到了 128k 这种量级,或者任务本身就要求逐行不漏,它的价值才出来。

✅ 上手判断清单

视频未交代的信息:实验用的是哪个模型全程没说,这直接影响结论能不能迁移到你自己的场景;延迟和成本只给了定性描述,没有倍数;准确率只展示了图表趋势,没有具体分数;task 函数的签名与子 Agent 的配置方式没有展开;演示中模型自我纠错是常态还是偶发,也没有交代。

来源
How to use RLMs in Deep AgentsLangChain·官方视频
本站说明
机制描述、演示过程与实测数据均出自上述视频。RLM 概念的出处(Alex Zhang 2025 年 10 月博客及后续论文 arXiv:2512.24601)为本站补充,不在视频内容中。视频未公布实验所用模型、延迟与成本的具体倍数、准确率的具体分数。全部图示为本站按视频内容绘制。
↑ 正文结束
✓ 本篇全文免费开放

会员可复制、下载全文 Markdown,还能让你的 AI 订阅和提问。

阅读原文 ↗
📮 新解读第一时间进邮箱

读完觉得有用?留个邮箱,每篇新解读发布就送达,随时退订。