递归语言模型是什么?

发布: (2026年1月11日 GMT+8 01:50)
13 min read
原文: Dev.to

Source: Dev.to

请提供您希望翻译的正文内容,我将为您翻译成简体中文并保留原有的格式、Markdown 语法以及技术术语。谢谢!

获取 Data Lakehouse 书籍

  • Apache Iceberg: The Definitive Guide
  • Apache Polaris: The Definitive Guide
  • Architecting an Apache Iceberg Lakehouse
  • The Apache Iceberg Digest: Vol. 1

Lakehouse Community

  • 加入 Data Lakehouse 社区
  • Data Lakehouse 博客汇总
  • OSS 社区列表
  • Dremio Lakehouse 开发者中心

Source:

递归语言模型 (RLM)

递归语言模型(Recursive Language Models,RLM)是一类会调用自身的语言模型。
起初听起来很奇怪,但思路很简单:模型不是一次性回答问题,而是把任务拆分成更小的部分,然后向自己提出这些子问题。它一步一步构建答案,在此过程中使用结构化的函数调用。

RLM 与标准 LLM 的区别

典型模型会直接根据提示预测完整的响应。如果任务包含多个步骤,模型必须在单一的文本流中处理所有步骤。这在短任务上可能有效,但当模型需要记住中间结果或多次复用相同逻辑时,往往会出现问题。

RLM 不会一次性完成所有工作。它在自己的输出中写入并执行结构化调用——比如 CALL("question", args)。系统看到此调用后,会暂停主响应,评估子任务,然后将结果插入并继续。它形成了一个递归循环:模型既是规划者也是执行者。

这为 RLM 带来了动态记忆控制流。它们可以:

  • 停止、规划,并以新输入重新进入自身
  • 合并多个子任务的结果
  • 复用自己的逻辑

正是这些特性让它们强大,并且与大多数模型今天使用的静态提示方法根本不同。

为什么标准 LLM 在多步骤任务上表现不佳

语言模型擅长表现得很聪明。但当任务涉及相互依赖的多个步骤时,标准模型往往会失败,因为它们把所有内容一次性生成。

  • 没有内置的暂停或模块化推理过程的方式
  • 缺乏显式结构——只有一长串文本

提示工程(例如“逐步思考”或“展示你的推导过程”)可以提升结果,但它并未改变模型的运行方式。模型仍然在一次会话中生成所有内容,缺乏模块化或复用逻辑的内置机制。

RLM 能带来什么

递归语言模型把复杂任务视为程序。模型不仅仅是回答——它会写出类似代码的调用给自己。这些调用实时评估,其结果再折回到响应中。

好处

  • 复用自己的逻辑
  • 一次专注于任务的一个部分
  • 扩展到更深或更递归的问题

换句话说,RLM 解决了结构化问题。它为语言生成引入了可组合性和控制——这是大多数 LLM 仍然缺乏的两件事。

核心 RLM 循环

生成 → 检测 → 调用 → 重复

  1. 模型收到提示。

  2. 开始生成响应。

  3. 当遇到子任务时,输出结构化函数调用,例如:

    CALL("Summarize", "text goes here")
  4. 系统暂停,评估该调用(将其再次送入同一模型),得到结果。

  5. 将结果插入,原始响应继续。

这个过程可以发生一次,也可以在单个响应中出现数十次。

RLM workflow diagram

具体示例

假设你让 RLM 解释一篇复杂的技术文章。模型不会一次性尝试总结整篇,而是可能:

  1. 拆分文章为多个章节。
  2. 发起递归调用,分别总结每个章节。
  3. 合并这些片段,形成最终答案。

实际新颖之处是什么?

  • 模型不只是生成文本;它在控制执行
  • 每个函数调用都是显式且机器可读的,而不是隐藏在普通文本中。
  • 模型学习何时将子任务委派给自己,而不仅仅是说什么

这种设计引入了模块化推理——更接近编程而非单纯提示。它使 RLM 能够解决比传统 LLM 更长、更深、更具组合性的任务。

RLMs vs. Reasoning Models

要把递归语言模型(Recursive Language Models)和专门用于推理的模型混淆是很容易的。两者都旨在解决更困难的、多步骤的问题,但它们走的路径截然不同。

方面推理模型递归语言模型
目标在固定回复中“更好地思考”改变模型的运行方式
机制提示技巧(“让我们一步一步思考”),微调,架构调整结构化函数调用、真实控制流、递归
执行一次性生成完整输出(平坦、线性)可以暂停,发出子调用,重新进入,并逐步构建结果
透明性难以检查内部步骤每个递归调用都是显式的;你可以看到完整的操作树
类比写出更好的作文编写并运行程序

推理模型试图写出更好的作文。RLMs 编写并运行程序

因为 RLMs 暴露了每一次子调用,它们更易于检查和调试。你可以准确看到模型提出了什么问题,给出了什么答案,以及它如何组合这些结果——这种透明度在典型的 LLM 工作流中很少见。

更大的图景

  • 推理模型 拓展了静态提示的极限。
  • 递归语言模型 重新定义 模型在运行时能做的事情。

递归不仅仅是技术升级——它是语言模型能力的转变。通过递归,模型不必一次性猜出完整答案。它们可以 逐步构建,根据需要重复使用自身的能力。这解锁了标准模型难以实现的新行为。

递归语言模型(RLM)——它们为何重要

递归如何帮助不同任务

  • 逻辑谜题 – 与其对完整解答进行穷举,递归语言模型可以写出每条规则,评估子情况,并合并结果。
  • 数学文字题 – 模型将复杂问题拆分为多个步骤,递归地解决每一步,并验证中间答案。
  • 代码生成 – 递归语言模型可以起草一个函数,然后自行调用来编写测试用例、修复错误或生成辅助函数。
  • 证明生成 – 在定理证明中,递归使模型能够构建证明树,并在过程中检查较小的引理。

实验结果: 在论文的实验中,递归语言模型在多步骤基准上超越了非递归基线,并且更高效。递归调用减少了总 token 使用量,因为模型可以复用逻辑,而不是重复它。

超越准确性——效率与可组合性

  • 递归不仅提升准确性;它还能改善效率可组合性
  • 与其随问题规模线性增长,递归语言模型可以通过解决更小的子问题并复用解答,实现对数级别的扩展。
  • 这使它们更适合推理深度快速增长的任务——正是大型语言模型在实际应用中开始遇到的问题类型。

当前 LLM 生态

大多数语言模型仍然遵循一个简单的模式:

Input → Output

这在快速回答或轻量任务时有效,但面对复杂任务时就力不从心。

如今开发者在 LLM 之上构建代理、链式调用和工具使用系统。这些包装器模拟结构,但往往脆弱,因为它们依赖于:

  • Prompt hacking(提示破解)
  • 正则表达式解析
  • 外部编排

为什么 RLM 提供更简洁的路径

  1. 更少的组件 – 无需外部链或自定义路由逻辑;模型自行决定何时以及如何分支。
  2. 更高的透明度 – 每一次递归调用都是可见且可追踪的,便于逐步审计。
  3. 更好的泛化能力 – 一旦训练出使用递归的能力,模型即可在数学、代码、推理、规划等多个领域灵活应用。

展望未来

  • 递归语言模型仍处于早期阶段,但它们暗示了一种更广泛的转变:将模型视为不仅是生成器,而是运行时环境
  • 这为未来系统打开了大门,使模型能够自行规划、行动和适应,并在每一步背后拥有清晰的结构。

如果说过去几年是让 LLM 听起来更聪明,那么接下来的几年可能是让它们用结构思考。

核心理念

递归语言模型不仅是对现有 LLM 的微调;它们代表了一种模型运作方式的转变

  • 与其把每个任务视为一次性预测,递归语言模型将问题拆分为多个部分,递归求解并合并结果
  • 这赋予它们大多数语言模型仍然缺乏的东西:结构

为什么结构重要

  • 使模型在复杂任务上更可靠。
  • 让推理过程更易追踪。
  • 在无需复杂外部系统的情况下,实现新能力——规划、验证、适应等。

结论

递归语言模型不仅提供更好的答案;它们让更优秀的模型成为可能——流畅、递归、模块化,并且能够处理深度。

Back to Blog

相关文章

阅读更多 »