跳转至

SRLM: Self-Reflective Program Search for Long Context

日期: 2026-03-07
arXiv: 2603.15653
代码: 无
领域: LLM Agent
关键词: long context reasoning, recursive language model, uncertainty estimation, self-reflection, program search

一句话总结

提出 SRLM,用不确定性感知的自反省(self-consistency + 口头置信度 + 推理链长度三信号联合)来指导长上下文交互程序的选择——在相同时间预算下比 RLM 提升最多 22%,且揭示递归本身并非 RLM 性能的主要驱动因素。

研究背景与动机

  1. 领域现状: 长上下文推理是 LLM 的核心挑战。即使扩展了上下文窗口,模型仍难以可靠地从百万 token 中抽取和推理。RLM(Recursive Language Models)通过将上下文外部化为 REPL 环境中的变量,让模型生成程序来查询和交互上下文,是当前 SOTA。

  2. 现有痛点: RLM 的性能高度依赖于"选择哪条上下文交互程序轨迹"——检查哪些上下文片段、如何分解子问题、如何聚合结果。但 RLM 用固定递归方案,缺乏评估和选择替代轨迹的机制。

  3. 核心矛盾: 递归分解是性能的关键驱动力吗?还是真正的瓶颈在于如何在不确定性下选择最优的上下文交互程序?

  4. 切入角度: 将长上下文推理视为"程序搜索"问题,用模型自身的不确定性信号来评估和选择候选程序轨迹。

  5. 核心 idea: 不需要递归子查询,仅通过自反省(三种不确定性信号联合引导)选择最佳上下文交互程序,就能匹配甚至超越递归 RLM。

方法详解

整体框架

查询 \(q\) + 长上下文 \(\mathcal{C}\) → 模型并行生成 \(K=8\) 条候选上下文交互程序 → 每条程序在 REPL 中执行并产生答案 → 三重不确定性信号评估 → 联合不确定性引导选择最优程序 → 输出最终预测。

关键设计

  1. 三重不确定性信号:

    • Self-Consistency(采样一致性): \(K\) 条程序中答案的经验频率作为模型置信度估计,保留多数答案一致集合 \(\mathcal{S}\)
    • Verbalized Confidence(口头置信度): 在每一步提示模型报告置信度分数 \(\nu_t^{(k)} \in (0, 100]\),对数空间聚合为 \(VC(p^{(k)}) = \sum_t \log(\nu_t^{(k)}/100) \leq 0\)
    • Reasoning Length(推理长度): 推理 trace 的总 token 数 \(Len(p^{(k)})\),作为认知努力的代理——不确定时模型倾向生成更长的 trace
    • 设计动机:三信号互补——一致性是粗粒度输出级,口头置信度是细粒度语义级,推理长度是行为级隐式信号
  2. 联合不确定性引导选择:

    • 做什么:在一致集合 \(\mathcal{S}\) 内选最优程序
    • 核心思路:\(s(p) = VC(p) \cdot Len(p)\)\(s(p) \leq 0\)(因为 \(VC \leq 0\), \(Len > 0\)),值越接近 0 越好。选择 \(p^* = \arg\max_{p \in \mathcal{S}} s(p)\)
    • 设计动机:惩罚低置信度和过长推理链的程序——二者都是不确定性的指标
  3. 无需递归子调用:

    • 做什么:证明递归不是必要的
    • 核心思路:SRLM 在同一 REPL 环境中操作但不发起递归 self-query 子调用,仅通过自反省选择程序轨迹
    • 设计动机:递归引入额外开销,且在模型本身长上下文能力较强时(如 GPT-5)反而降低性能

实现细节

  • \(K=8\) 候选轨迹,并行执行
  • 每步最长 600 秒,最多 30 步交互
  • 使用 Qwen3-Coder-480B 和 GPT-5 两个骨干

实验关键数据

主实验

方法 LongBench-v2 CodeQA BrowseComp+ (1K) OOLONG (131K)
SRLM (GPT-5) 68.9 (+9.4) 92.4 (+6.4) 65.5 (+12.5)
SRLM no sub-calls (GPT-5) 74.1 (+8.9) 94.6 (+4.9) 60.7 (+10.2)
RLM (GPT-5) 59.5 86.0 53.0
SRLM (Qwen3-480B) 64.9 (+5.1) 59.7 (+22.6) 51.8 (+6.1)
RLM (Qwen3-480B) 59.8 37.1 45.7
Base Model (GPT-5) 24.0 0.0 44.0

消融实验

配置 平均表现 说明
Full SRLM(三信号联合) 最佳 三信号互补
仅 Self-Consistency 较好 粗粒度有效但不够
仅 Verbalized Confidence 中等 单独不够稳定
仅 Reasoning Length 中等 单独信号弱

关键发现

  • 递归非必要: SRLM 无子调用版本在多数设置下匹配甚至超越递归 RLM——程序化上下文交互才是主要收益来源,递归只贡献边际增量
  • GPT-5 上递归反而有害: 强模型的递归子调用干扰了原生长上下文能力,SRLM 无子调用 > SRLM 有子调用
  • 短上下文 RLM 退化: 上下文在模型窗口内时 RLM 常低于基线,SRLM 在短/长上下文都稳定提升
  • 语义密集任务: RLM 在搜索型任务(代码 QA)有效,但在对话历史 QA、文档 QA 等语义密集任务上效果差;SRLM 的自反省提供更好的语义引导

亮点与洞察

  • 重新定位递归的角色: 递归只是推理时扩展的一种形式(通过工具调用),自反省是另一种(通过模型内部信号)——后者更通用且鲁棒
  • 不确定性信号组合: 三种免费(无需额外训练/外部模型)的不确定性信号的组合思路可迁移到其他推理时搜索场景
  • 推理链长度作为信号: 利用 reasoning model 的"不确定时说更多"这一行为特征作为隐式不确定性代理,非常巧妙

局限性 / 可改进方向

  • 推理成本: 8 条并行轨迹 + 每步置信度报告,推理成本是基线的 8 倍+
  • 对置信度校准的依赖: 如果模型的口头置信度严重失校准,第二个信号可能误导
  • 改进方向: 更丰富的自反省形式(不只是当前三信号),以及动态决策早停以节省 token

相关工作与启发

  • vs RLM: SRLM 证明 RLM 的成功主要来自程序化上下文交互而非递归本身,自反省是更好的替代
  • vs Self-Consistency: 自一致性只是三信号中的一个粗粒度组件,SRLM 在此基础上加入细粒度语义和行为信号
  • 启发: "推理时搜索 + 不确定性引导选择"的范式可推广到工具使用、代码生成等其他搜索场景

评分

  • 新颖性: ⭐⭐⭐⭐ 三重不确定性信号联合引导的思路新颖,且深入分析了递归的真正作用
  • 实验充分度: ⭐⭐⭐⭐⭐ 多基准、多骨干、多上下文长度、详尽消融
  • 写作质量: ⭐⭐⭐⭐ 分析深入,发现有启发性
  • 价值: ⭐⭐⭐⭐ 对长上下文推理社区有重要理论和实践意义