ReSearch: Learning to Reason with Search for LLMs via Reinforcement Learning

🧠 一、论文背景:为什么需要 ReSearch?
🌍 大语言模型(LLM)的问题:
尽管 GPT、Claude、Qwen 等 LLMs 在推理上取得了巨大进展,但它们仍面临几个关键挑战:
- 信息孤岛:模型知识固定于预训练阶段,无法访问最新信息;
- 复杂推理难题:多跳推理(multi-hop QA)要求模型一步步查找信息、推理中间结论,再得出最终答案;
- 传统 RAG 的局限:
- Retrieval-Augmented Generation(RAG)方法通过外部检索补充知识,但:
- 多步检索依赖人工 prompt 设计;
- 很难自动控制何时检索、检索什么;
- 不具备「交互式推理+检索」的一体化策略。
- Retrieval-Augmented Generation(RAG)方法通过外部检索补充知识,但:
🔁 二、核心思想:Reason with Search + Reinforcement Learning
📌 ReSearch 做了什么?
目标:训练一个 LLM 学会「何时思考、何时搜索、如何使用搜索结果继续思考」,而不是硬编码流程。
🧩 关键设计:
| 组成 | 内容 |
|---|---|
| 🔍 外部搜索 | 模型可自由调用 Wikipedia 检索(通过 <search> 标签) |
| 🧠 内部推理 | 每一步生成 <think> 推理内容 |
| 📦 强化学习 | 不依赖人工标注,仅用奖励引导模型学习出推理-搜索交互行为 |
| 🎯 GRPO 策略 | Group-based 强化学习优化搜索与推理策略,避免训练不稳定 |
🤖 核心组件:
-
推理链格式(如
<think>,<search>,<result>,<answer>):- 统一格式使得模型知道何时检索、如何控制流程;
- 类似编程语言中的「控制流」。
-
奖励设计:
- 正确答案奖励(F1);
- 格式合规奖励(必须出现 boxed 答案)。
🔬 三、方法细节总结
🔍 图 2(a):GRPO 强化学习训练流程(整体架构)

(Figure 2)展示了 ReSearch 框架的训练流程,分为两个部分:
🧩 (a) GRPO Pipeline:基于强化学习的整体训练框架
这是 ReSearch 所用的 Group Relative Policy Optimization (GRPO) 策略训练流程。
流程解释:
-
Question 输入:用户提出一个多跳问题 (x),例如“Who was president of the United States in the year that Citibank was founded?”
-
LLM Policy + Search Module:
- 模型在生成过程中可以选择执行
<search>...</search>操作。 - 这些搜索指令会被送到搜索模块(如 Wikipedia 检索系统),返回
<result>...</result>。 - 这种生成与搜索交替进行,形成完整的推理轨迹(rollout)( y_1, y_2, …, y_G )。
- 模型在生成过程中可以选择执行
-
Reward Calculation:每个生成的 rollout 会通过奖励函数进行评分 ( r_1, …, r_G ),包括:
- ✅ 答案是否正确(Answer Reward)
- 🧩 格式是否合规(Format Reward)
-
Reference Model + KL Penalty:
- 使用参考模型对比当前策略,计算 KL 散度,防止训练过度偏移。
-
Group Computation:
- 使用 GRPO 策略,根据组内 rollout 的相对优势 ( A_1, …, A_G ) 来更新 LLM 策略,优化方向是产生更高奖励的策略。
🔁 (b) Rollout Generation 过程:一个具体推理示例
这个部分详细展示了 ReSearch 如何逐步交替生成思考与搜索操作。
示例任务:
“Who was president of the United States in the year that Citibank was founded?”
步骤说明:
-
Step ①: Generate till
<search>or<eos>- 模型首先生成内部思考
<think>:
“To answer this question, I need… I will start by searching for the founding year of Citibank.” - 然后生成
<search>:
“when was Citibank founded”
- 模型首先生成内部思考
-
Step ②: Retrieve Search Result
- 检索模块处理查询,返回
<result>:
“Citibank was founded in 1812…”
- 检索模块处理查询,返回
-
Step ③: Concat then Continue
- 将检索结果与已有文本拼接,模型继续生成下一轮
<think>+<search>,直到得出最终答案。
- 将检索结果与已有文本拼接,模型继续生成下一轮
最终输出:
- 包含多轮
<think>、<search>和<result>的推理链。 - 答案位于
<answer>\boxed{James Madison}</answer>中,格式统一、便于评分。
🧠 图标/模块说明:
| 图标/模块 | 含义 |
|---|---|
| 🔄 LLM Policy | 当前策略模型,负责生成推理链 |
| 🔍 Search | 触发外部搜索(如 Wikipedia) |
| 🧊 Reference Model | 旧模型,用于 KL 约束参考 |
| 🧮 Reward Calculation | 答案+格式评估,决定奖励值 |
| 🧑⚖️ Group Computation | GRPO 策略,基于 group 计算相对优势 |
🧠 <think> | 模型思考内容 |
🔍 <search> | 搜索查询 |
📚 <result> | 搜索返回内容 |
✅ <answer> | 最终输出答案 |
🧪 四、实验表现

Figure 1展示了 ReSearch 框架在四个多跳问答基准数据集上的性能对比,使用了 LLM-as-a-Judge 作为评估指标(越高越好)。
📊 图表结构解析
Y轴:
- LLM-as-a-Judge (%):由 GPT-4 等高质量语言模型自动判断回答是否正确的比例。
X轴:
- 四个多跳问答数据集:
- HotpotQA
- 2Wiki
- MuSiQue
- Bamboogle
柱状图颜色(方法):
| 颜色 | 方法 |
|---|---|
| 深蓝 | ReSearch-Qwen-32B-Instruct(最强) |
| 蓝 | ReSearch-Qwen-32B(无 Instruct 微调) |
| 中蓝 | Iter-RetGen:基于检索-生成交替 |
| 浅蓝 | IRCoT:检索-推理交错的提示法 |
| 浅灰 | Naive RAG:直接拼接搜索结果 |
| 深灰 | Naive Generation:完全不检索,只靠 LLM 生成 |
🧠 总结图像的价值:
这张图直观体现出:
| 方法类型 | 是否可控推理 | 表现(平均) | 特点 |
|---|---|---|---|
| ReSearch | ✅ 强化学习 + 搜索推理链 | ★★★★★ | 无需监督标签,RL 训练 |
| IRCoT / Iter-RetGen | ❌ 提示策略(提示工程) | ★★ | 依赖 prompt 工程设计 |
| Naive | ❌ 无推理能力 | ★ | 无法处理复杂任务 |
📈 性能结果:
相比 Naive Generation / RAG / IRCoT 等基线方法,ReSearch 有 8.9%~22.4% 的大幅提升,并且:
- 泛化强:只在 MuSiQue 上训练,也能迁移到其他任务;
- 模型规模敏感:32B 指令微调模型效果最好。
🧠 五、与其他方法对比
| 方法 | 特点 | 局限 |
|---|---|---|
| Naive RAG | 检索+拼接 | 无推理链、不可控 |
| IRCoT | 交替的 CoT + 检索 | 依赖 prompt 工程 |
| ReSearch | 自动学会何时检索与推理 | 无需监督标注 |
🌟 六、创新点总结
| 创新点 | 描述 |
|---|---|
| ✅ 推理+搜索结合 | 搜索被当作推理链一部分处理,而非外部操作 |
| ✅ 无需监督数据 | 使用强化学习激发推理结构与搜索调用策略 |
| ✅ 结构化格式 | 统一 <think>、<search> 等标签格式 |
| ✅ 自我反思能力 | 模型在搜索失败后能“意识到错误”并自我修正(见 case study) |
