Paper

论文速读:Latent Recurrent Thoughts 把推理放回隐空间

5 min read ·

Hugging Face Daily Papers 和 arXiv cs.CL 近期出现的 Latent Recurrent Thoughts,把测试时推理带到了一个很有意思的位置:我们是否必须让模型把所有思考写成文字?论文页面可见于 arXiv:2609.01117,相关讨论也出现在 Hugging Face PapersarXiv cs.CL recentReddit r/MachineLearning

过去两年,推理模型的主流路线是增加可见推理 token。让模型一步步写出中间过程,确实能提升数学、代码、规划和复杂问答表现。但这个路线有三个明显代价:成本高,延迟高,推理文本可能泄露内部策略或用户敏感信息。

LRT 的问题意识正好击中这里。它不是继续让模型说更多,而是问:能不能让冻结 LLM 在隐状态中循环更新,用更少输出 token 换取更多内部计算?

论文的核心直觉

Transformer 默认是前向通过一次,逐 token 生成。每生成一个 token,模型的隐藏状态向前推进。Chain-of-Thought 利用的是“输出更多 token 等于给模型更多计算步”。LRT 想拆开这两个变量:计算步可以增加,但不必都变成可见文字。

可以把它理解成一个内部草稿本。模型不把草稿写到最终答案里,而是在隐藏表示中反复修改当前状态。等状态足够稳定,再解码成答案。

这种思路和人类写作很像。我们不是每个想法都说出口,而是在脑中比较几个候选答案。对模型来说,关键问题是如何让隐藏状态安全地循环,如何避免循环发散,如何知道什么时候停止。

为什么冻结 LLM 很重要

论文强调冻结 LLM 的设定,工程意义很强。冻结意味着底座模型不用重新训练大规模参数,额外能力来自外部循环模块、状态读写方式或轻量控制器。对开发者来说,这比“重新训练一个推理模型”更有落地想象空间。

如果这种路线成熟,未来模型服务可能提供两类预算:

visible_output_tokens: 用户最终看到的文本长度
latent_steps: 模型内部循环思考的步数

这会改变计费和调参方式。今天我们常说“把 max tokens 调大”。未来可能更常见的是“答案保持短,但给规划器 8 次隐空间迭代”。

和 CoT 的差别

CoT 的优点是透明。你能看到模型怎么想,也能用正则、judge 或人工审查中间步骤。缺点是中间步骤不一定真实,且会增加上下文污染。模型在前文写下一个错误假设,后续可能沿着错误继续。

LRT 的优点是节省输出带宽,减少长推理暴露,也可能更适合需要快速内部比较的任务。缺点是你看不到完整过程。它更像一个黑盒规划器:输入问题,内部转几轮,输出结果。

工程上不应该把二者对立起来。更稳的设计是混合使用:隐空间循环用于候选生成和内部打分,可见短理由用于审计和用户解释。

一个工程化接口设想

如果未来模型 API 支持类似 LRT 的能力,接口可能长这样:

type ReasoningMode = "none" | "visible" | "latent" | "hybrid";

type GenerateRequest = {
  model: string;
  input: string;
  reasoning: {
    mode: ReasoningMode;
    latentSteps?: number;
    visibleSummary?: boolean;
  };
  maxOutputTokens: number;
};

对普通应用,latent 模式适合分类、路由、工具选择、风险判断。对高风险应用,hybrid 更合适:模型内部多想几步,但必须输出可审计摘要和证据引用。

对 agent 规划的启发

Agent 的规划阶段经常浪费大量 token。一个模型为了决定是否调用搜索工具,可能先写一大段分析,再输出一个 JSON。实际业务只需要最终动作。LRT 这类方法适合把“想”留在内部,把“做”结构化输出。

例如一个客服 agent 的下一步决策可以是:

{
  "action": "call_tool",
  "tool": "crm.lookup_contract",
  "confidence": 0.78,
  "reason": "需要确认续约日期,当前上下文没有合同字段"
}

用户和系统不需要看到模型完整比较过程,但需要看到简短理由。这样既减少 token,又保留调试入口。

早停是关键

隐空间循环最大的问题是:循环多少次才够?太少没有提升,太多浪费计算,甚至可能让状态过拟合到错误路径。生产系统需要早停策略。

一个可行方向是让模型或控制器输出稳定性信号。比如连续两轮候选答案一致、风险分类不变、工具选择不变,就停止循环。另一种方式是根据任务类型给固定预算:简单分类 2 步,代码规划 6 步,复杂数学 12 步。

这里的难点是可观测性。开发者至少需要看到循环次数、最终置信度、是否触发早停、输出是否经过外部校验。否则 LRT 会变成另一个难调黑盒。

适用场景

第一类是低延迟决策。比如模型网关要判断请求该路由到哪个模型,不希望生成长解释,但希望判断更稳。

第二类是工具调用前规划。Agent 需要在多个工具之间选择下一步,隐空间循环可以用于内部比较。

第三类是隐私敏感任务。某些中间推理不适合写入日志,尤其涉及客户数据、医疗数据或安全策略。

第四类是边缘设备。输出 token 成本和内存都贵,如果能用少量内部步骤换取更短输出,本地模型会受益。

不适合的场景

如果任务必须展示完整推导,例如教育解题、审计报告、法规解释,纯隐空间推理就不够。用户需要看到可检查的过程。

如果系统缺少外部验证,也不应该盲目增加隐空间步骤。模型内部想得更久,不等于答案更正确。代码任务要跑测试,检索任务要引用证据,分类任务要有人工抽样。

结论

Latent Recurrent Thoughts 值得关注,因为它把“推理能力等于更多可见 token”这个默认假设拆开了。未来推理模型的优化空间,可能不只是生成更长思维链,而是在隐状态、可见摘要、外部工具和验证器之间重新分配计算。

对开发者来说,最重要的不是马上复现论文,而是提前调整系统抽象。把推理预算拆成输出长度、内部计算、外部工具和校验成本四块。这样当隐空间推理能力进入 API 或开源模型时,你的应用可以直接利用它,而不是继续用长 prompt 粗暴堆 token。

Frequently asked questions

LRT 和普通 Chain-of-Thought 有什么不同?
普通 Chain-of-Thought 会生成可见推理文本,LRT 则尝试在模型隐状态里做循环更新,减少暴露长推理文本带来的延迟、成本和隐私问题。
隐空间推理是否更不可解释?
是的,可解释性会变弱。工程落地时需要额外输出短理由、置信度、检索证据和失败原因,否则很难调试模型为什么做出某个决定。
它能直接替代长 CoT 提示吗?
不能简单替代。LRT 更适合需要额外测试时计算但不需要完整推理文本的任务,例如分类、规划选择、数学中间状态或工具调用前的内部打分。
对 agent 有什么价值?
Agent 常常不需要把所有思考写给用户,而需要在调用工具前更稳地选择下一步。隐空间循环可以成为规划器的一种低输出成本增强方式。
最大工程风险是什么?
最大风险是调试困难和早停错误。如果循环次数、状态读出和置信度判断设计不好,系统可能花了更多计算却没有稳定提升。
// next.txt ›

Some outbound links in this post are affiliate links — see disclosure.