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 性能的主要驱动因素。
研究背景与动机¶
-
领域现状: 长上下文推理是 LLM 的核心挑战。即使扩展了上下文窗口,模型仍难以可靠地从百万 token 中抽取和推理。RLM(Recursive Language Models)通过将上下文外部化为 REPL 环境中的变量,让模型生成程序来查询和交互上下文,是当前 SOTA。
-
现有痛点: RLM 的性能高度依赖于"选择哪条上下文交互程序轨迹"——检查哪些上下文片段、如何分解子问题、如何聚合结果。但 RLM 用固定递归方案,缺乏评估和选择替代轨迹的机制。
-
核心矛盾: 递归分解是性能的关键驱动力吗?还是真正的瓶颈在于如何在不确定性下选择最优的上下文交互程序?
-
切入角度: 将长上下文推理视为"程序搜索"问题,用模型自身的不确定性信号来评估和选择候选程序轨迹。
-
核心 idea: 不需要递归子查询,仅通过自反省(三种不确定性信号联合引导)选择最佳上下文交互程序,就能匹配甚至超越递归 RLM。
方法详解¶
整体框架¶
查询 \(q\) + 长上下文 \(\mathcal{C}\) → 模型并行生成 \(K=8\) 条候选上下文交互程序 → 每条程序在 REPL 中执行并产生答案 → 三重不确定性信号评估 → 联合不确定性引导选择最优程序 → 输出最终预测。
关键设计¶
-
三重不确定性信号:
- 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
- 设计动机:三信号互补——一致性是粗粒度输出级,口头置信度是细粒度语义级,推理长度是行为级隐式信号
-
联合不确定性引导选择:
- 做什么:在一致集合 \(\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)\)
- 设计动机:惩罚低置信度和过长推理链的程序——二者都是不确定性的指标
-
无需递归子调用:
- 做什么:证明递归不是必要的
- 核心思路: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 在此基础上加入细粒度语义和行为信号
- 启发: "推理时搜索 + 不确定性引导选择"的范式可推广到工具使用、代码生成等其他搜索场景
评分¶
- 新颖性: ⭐⭐⭐⭐ 三重不确定性信号联合引导的思路新颖,且深入分析了递归的真正作用
- 实验充分度: ⭐⭐⭐⭐⭐ 多基准、多骨干、多上下文长度、详尽消融
- 写作质量: ⭐⭐⭐⭐ 分析深入,发现有启发性
- 价值: ⭐⭐⭐⭐ 对长上下文推理社区有重要理论和实践意义