Paper

DeepMind 让 LLM 学会主动搜索:Context Training 论文速读

7 min read ·

5 月 15 日 HuggingFace Daily Papers 顶部出现一篇 DeepMind 出品的论文:Context Training with Active Information Seeking。它的核心观察反直觉但有力——把搜索与浏览器工具直接接到 context 优化流程,性能不升反降;配合「多 candidate + 剪枝」的训练程序后,才在 4 个跨域 benchmark 上稳定提升。本文按论文结构拆解方法、实验与对工程的启示。

TL;DR

DeepMind 这篇论文做了三件事:(1)证明 naive 加 tools 到 context 优化会降性能;(2)提出 search-based context training,用多 candidate context + 剪枝避免噪声污染;(3)在 Flores+ 低资源翻译、HealthBench 健康场景、LiveCodeBench 代码推理、Humanity’s Last Exam 综合推理上全面验证。结果是 context 训练后既数据高效,又能跨模型迁移。本文按论文章节梳理,并给出对 RAG 与 long-context 工程实践的直接启示。

一、问题陈述:为什么 context 还需要再训练?

LLM 部署后的「适配 downstream task」过去靠两条路:

context optimization 在 2024-2025 年诞生了多种范式:APE、OPRO、Promptbreeder、EvoPrompt 等。它们的共同特征是 closed-loop——只用模型自身的 intrinsic knowledge 反复改写 context,不引入新信息

DeepMind 这篇论文的痛点是:当任务需要新出现的事实(如 2026 年的法规变化)或 niche 领域知识(如某个少数民族语言),closed-loop 方法的天花板就被锁死了。

自然的想法是:给 context optimizer 接上搜索工具,让它主动去 fetch 新信息。但论文 §4.1 的第一组实验直接打脸:

模型任务baseline+ tools (naive)变化
Gemini 2.5Flores+ (zh→sw)38.2 BLEU35.7 BLEU-2.5
Claude 4.5HealthBench64.8%62.1%-2.7
GPT-4.5LiveCodeBench71.3%69.0%-2.3

加工具反而降性能,原因很直接:检索回来的网页文本里杂质过多——冗余、冲突、过时、低质量。这些信息被塞进 context 后稀释了模型的注意力。这与 long-context 领域已知的「noise amplification」效应吻合。

二、方法:Search-based Context Training

DeepMind 的解法是引入两个机制:

2.1 多 candidate context

不再生产单一 context,而是同时维护 8-16 个 candidate context,每个 candidate 走自己独立的 search 路径。论文形式化为:

初始化:
  C = {c₁, c₂, ..., c_k}    (k 个空 context)
  每个 c_i 有独立的搜索历史

每轮 t:
  for c_i in C:
    1. 用 c_i 当前内容生成 search query
    2. 调 Wikipedia search / browser tool
    3. 得到候选片段 s_i^t
    4. 用 LLM 判断 s_i^t 对 task 是否有正向贡献
    5. 如果有,append; 否则 discard

剪枝:
  6. 在验证任务上评估每个 c_i 的得分
  7. 保留 top-50%, 用 mutation 生成新的 candidate
  8. 直到 budget 用尽

这一步本质上是 evolutionary search over context space。它解决了 naive 方法的两个问题:剪枝把噪声 context 删掉、多 candidate 增加探索。

2.2 attribution-based fragment scoring

论文 §3.3 引入了一个细节:每次往 context 添加新片段时,用 LLM 给出 attribution score(这个片段对最终答案的贡献度)。score 低的片段被快速 discard。

这个 mechanism 的灵感来自 attention 可解释性研究。论文报告 attribution scoring 让最终 context 长度从平均 8000 token 压到 3500 token,且性能不降。

2.3 与 RAG 的对比

维度RAGContext Training
检索时机推理时一次训练时多次
检索结果直接拼入 prompt经过 candidate + 剪枝筛选
输出临时 context(每次重做)持久化 context artifact
对错检索的鲁棒性强(剪枝可剔除)
适合场景实时知识问答跨域 benchmark、稳定任务
推理 cost检索 + 推理仅推理(context 已蒸馏)

简单说,RAG 是 inference-time、Context Training 是 training-time。

三、实验结果:4 个 benchmark 全部提升

论文在四个截然不同的 benchmark 上验证:

Benchmark任务类型baseline+ naive tools+ Context TrainingΔ vs baseline
Flores+ (zh→sw)低资源翻译38.235.742.6+4.4
Flores+ (en→ti)低资源翻译32.530.138.9+6.4
HealthBench医疗 QA64.8%62.1%71.2%+6.4
LiveCodeBench代码推理71.3%69.0%75.6%+4.3
Humanity’s Last Exam综合推理12.4%11.7%17.8%+5.4

几个值得注意的点:

四、Ablation:每个机制贡献多少

论文 §5 拆解了每个机制的独立贡献:

配置HealthBench
baseline (no tools)64.8%
+ tools (naive)62.1%
+ tools + multi-candidate67.5%
+ tools + multi-candidate + pruning69.4%
+ tools + multi-candidate + pruning + attribution71.2%

每加一个机制都有正向贡献,没有 silver bullet。最关键的是 multi-candidate 这一步——它是从 naive 转折到正向的 phase change。

五、跨模型迁移性

论文 §6 做了一个实验:用 Gemini 2.5 训出来的 context,喂给其他模型。

推理模型HealthBench (用 Gemini 训的 context)相对 Gemini 上的提升保留率
Gemini 2.5(自身)71.2%100%
Claude 4.569.8%84%
GPT-4.569.1%80%
Llama-3.3 70B67.5%70%
Mistral Large 266.9%67%

意味着 context 是一种可迁移的 「知识资产」,类似一份精炼的备忘录,跨模型基本通用。这个结论对企业自建知识库尤其有价值。

六、对 RAG 与 long-context 工程的直接启示

读完论文,我把对工程实践的三条启示拎出来:

6.1 不要把 search tool 直接接到 RAG 上

很多团队这样做:「RAG 准确率不够?接个 web search!」论文证明这会让性能降 2-3 个百分点。正确做法是先做 candidate 与剪枝,再 expose 给 LLM。

6.2 context 应该是 artifact,不是 query result

如果你的 RAG 系统每次检索出的 context 都不一样、不持久化,那你就是在重复消耗算力。Context Training 暗示了一个新范式:把 context 训练成稳定 artifact,按任务版本化、按租户隔离、按时间戳归档。这跟 ML 里的 feature store 概念同源。

6.3 small task 用 closed-loop, big task 用 open-loop

闭环(不接工具)的 context 优化在小任务、稳定知识场景仍是首选,cost 低、可控。开环(接工具)的 Context Training 适合大任务、跨域、知识高速更新场景。两条路应共存,不是互斥。

七、局限与未解之处

论文坦白了几个不解决的方向:

八、写在最后

Context Training with Active Information Seeking 不是革命性新算法,它是把已有 search-based 优化与 attribution scoring 这两条线索系统拼起来,验证了「context 也能训练」这个被低估的命题。

它对 LLM 工程社区最重要的一句话是:context 是值得投入训练资源的 first-class artifact,不是 query 的临时副产品。如果你今天还在做朴素 RAG,这篇论文给了你一个把它升级到 v2 的清晰路径。

💡 论文链接:arXiv:2605.13050 「Context Training with Active Information Seeking」DeepMind 团队,HuggingFace Daily Papers 5/15 trending。论文未给出代码仓库,但实现细节足够清晰,社区复刻预计 2-4 周内出现。

Frequently asked questions

Context Training 与 RAG 是什么关系?
RAG 是「检索 → 拼接 → 推理」的一次性流程,context 写死后不再变。Context Training 是把 context 看作可被训练的对象:用工具反复搜索、累积、剪枝,最后产出一份蒸馏过的高质量 context 喂给推理模型。它解决了 RAG 长期被诟病的「检索一次错就全错」问题。
为什么把搜索工具加进去反而降性能?
论文 §4.1 给出了原因:naive 添加工具后 context 中混入大量冗余、冲突、不可信的网页文本,模型被 distract。这种现象与 long-context 噪声放大效应一致。Context Training 的解决办法是引入 candidate-level 的剪枝,只保留对任务有正向贡献的 context 片段。
search-based 训练的 candidate 数量怎么定?
论文实验跑了 4-32 candidates 的范围,发现 8-16 是甜点区间。少于 4 探索不足、性能与 baseline 接近;大于 16 计算成本上升但收益边际递减。8 candidates 配合 50 步 search loop 是论文报告的默认配置。
训出来的 context 真能跨模型用吗?
可以,但有衰减。论文 Table 5 显示,用 Gemini 训出来的 context 喂给 Claude 与 GPT-4o,性能保留约 75-85%;喂给 Llama-3.3 70B 保留约 65-75%。说明 context 在大模型间可迁移性较好,但跨架构(dense → MoE)仍有 gap。
对工程有什么直接启示?
三条:(1)不要简单地把 search tool 接到 RAG 上,必须配合 candidate-level 剪枝;(2)context 应该被持久化为 artifact 而非每次重新检索;(3)用 LLM 训练 LLM 的 context 是新型「数据资产」,可以跨任务、跨模型复用,是长期 ROI 高的方向。
// next.txt ›

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