第5章:Tool RL 逐篇精读 —— Search-R1 / ToolRL / Agent-R1 / VerlTool
6+ 篇 Tool RL 里程碑论文逐篇精读:Search-R1、ToolRL、Agent-R1、VerlTool、CoSearch、LiteResearcher、Tree Search RL
理论讲完,看真实论文怎么落地。本章把 2025 年 Tool RL 7 篇里程碑论文逐篇精读——动机 / 核心创新 / 实验结果 / 工业启示——把”agent 怎么学会用工具”这条主线讲清。其中 Search-R1 / ToolRL / Agent-R1 / VerlTool 四篇是必读,后面三篇补充视角。
📑 目录
- 0. 时间线与脉络
- 1. Search-R1 — 让模型学会”先想再搜”
- 2. ToolRL — 简洁 reward 的涌现奇观
- 3. Agent-R1 — 端到端训练通用 agent
- 4. VerlTool — 工业级 holistic 框架
- 5. CoSearch — Reasoning + Ranking 联合训练
- 6. LiteResearcher — 深度研究 agent
- 7. Tree Search for LLM Agent RL
- 跨论文对比与工业启示
- 自我检验清单
- 参考资料
0. 时间线与脉络
2025-03 ──── Search-R1 (arXiv 2503.09516) 开 Tool RL 大门
2025-Q2 ──── ToolRL 简洁 reward 涌现
2025-09 ──── VerlTool (arXiv 2509.01055) 工业级 holistic
2025-09 ──── Tree Search for LLM Agent RL (2509.21240) RL + MCTS
2025-Q4 ──── LiteResearcher (arXiv 2604.17931) 研究 agent
2025-11 ──── Agent-R1 (arXiv 2511.14460) 端到端通用范式
2026-Q1 ──── CoSearch (arXiv 2604.17555) Reasoning + Ranking 联训
🌟 2025 一年 Tool RL 论文密度爆炸——这 7 篇代表了不同技术路线,合起来构成一张完整的工业落地地图。
1. Search-R1 — 让模型学会”先想再搜”
arXiv 2503.09516,2025-03
1.1 动机
传统 RAG agent:模型每次调 search 都是”打一枪换一炮”,没有连贯推理。Search-R1 想训出一个能”边想边搜”的模型——LLM 自己决定什么时候搜、搜什么、怎么用。
1.2 核心创新
架构:
Question
↓
LLM thinks → "我需要查 X"
↓
search(X) → 文档片段
↓
LLM thinks → "还需要查 Y"
↓
search(Y) → 文档片段
↓
LLM thinks → "信息够了,答案是 Z"
整段是一条 trajectory,整体用 GRPO 训——不是分阶段训。
Reward:极简
关键设计:冻结 retriever,只训 reasoning policy。这样 verifier 干净——“答对没”。
1.3 实验
在 7 个 multi-hop QA benchmark(HotpotQA、2WikiMultihopQA 等):
- Search-R1(7B)显著超过 Reasoning-on-Top-of-RAG baseline
- 平均 26% accuracy 提升 vs SFT-only
- emergent:模型自动学会改 query、追问、合并多次搜索结果
1.4 工业启示 🍎
- Verifier 简洁是关键:答案 EM + 简单 format = 信号干净
- 冻结 retriever 简化 verifier:joint training 是后续 CoSearch 的事
- Search-R1 是 verl 的代表性 recipe——后续大量论文基于 Search-R1 范式
2. ToolRL — 简洁 reward 的涌现奇观
2025
2.1 动机
之前认为”工具调用要靠 SFT 学格式 + RL 学策略”。ToolRL 大胆假设:只用 RL,base 模型也能从零学会用工具。
2.2 核心实验
- 不做任何 tool-specific SFT
- 直接在 base model(无 instruction tuning)上 GRPO
- 只给”tool 调用格式 + 答案对错”的 reward
- 训练 ~5K step
2.3 涌现行为
ToolRL 报告训练后自然出现:
| 行为 | 例子 |
|---|---|
| Self-correction | 第一次调用失败 → 第二次换参数 |
| Adaptive call frequency | 简单题 1 次,复杂题 5+ 次 |
| Tool composition | 先 search 找事实,再 calculator 算数 |
| Error retry | tool 报错 → 修正后重试 |
2.4 关键 takeaway
reward 简洁 = 能力空间大:
Reward 复杂 + 维度多 → 模型在 reward 表面打转,涌现弱
Reward 简洁 + 主目标清晰 → 模型自由探索,涌现强
🌟 这是和直觉相反的发现——工程师天然想加更多 reward 维度兜底,但实证上”加多了反而抑制能力”。
2.5 工业启示 🍎
- 从极简 reward 起步:correctness + 最简 format,其他都不加
- 观察涌现,再决定要不要加约束——不要”防御性 reward”提前把模型框死
3. Agent-R1 — 端到端训练通用 agent
arXiv 2511.14460,2025-11
3.1 动机
Search-R1 / ToolRL 都是”特定工具 + 特定任务”的训练。Agent-R1 想做通用范式——任意工具、任意任务,一套 RL pipeline 端到端训。
3.2 核心架构
Task definition (yaml)
├── tools: [search, calculator, code_executor, ...]
├── verifier: function(trajectory) -> reward
├── data: prompts.jsonl
└── config: GRPO + LR + ...
↓
Agent-R1 unified pipeline
↓
Trained agent
把”训一个新 agent”标准化为”写 yaml + 写 verifier”,降低门槛。
3.3 多任务训练
Agent-R1 在 7 个不同任务上同时训:数学、代码、Web search、API 调用、SQL、文件操作、文档 QA。
实验发现:多任务训练比单任务好——不同任务的 trajectory 形态互相促进 generalization。
3.4 工业启示 🍎
- agent RL 工程化的方向是”配置即代码”——降低复现门槛
- 多任务联合训练比单任务专精更鲁棒(类似多语言 SFT 的发现)
- 适合大公司”一个模型服务多业务”的场景
4. VerlTool — 工业级 holistic 框架
arXiv 2509.01055,2025-09
4.1 动机
Search-R1 / ToolRL 把训练流程跑通了,但工业级 scale 时性能崩——长 trajectory + 多 tool 调用让 rollout 吞吐变成瓶颈。VerlTool 要解决”scale 到生产规模”。
4.2 核心创新:Async Rollout
传统 GRPO sync rollout:
[─ Rollout ──][─ Train ──][─ Rollout ──][─ Train ──]
← 串行,GPU 浪费
VerlTool async rollout:
[─ Rollout 1 ──][─ Rollout 2 ──][─ Rollout 3 ──] ← 并行
[─ Train ──────][─ Train ──────]
← train 和 rollout 重叠
~2× 加速(对 long trajectory 场景),让大规模 tool RL 在工业可行。
4.3 Holistic 设计
VerlTool 不只是一个新算法,是一套完整生态:
- 内置 30+ tool stub(search、calculator、code、SQL、SQL injection、…)
- Verifier library
- Multi-task data loader
- 可热插拔的 tool sandbox(e2b 集成)
- 全套监控(下章 OTel 风格)
4.4 实验
在 multi-hop QA、TAU-bench、SWE-bench 上,VerlTool 训出的 agent 比 Search-R1 + 自己手搓 async pipeline 快 ~2×,效果持平或更好。
4.5 工业启示 🍎
- Async rollout 是 long trajectory 必需(下章详)
- agent RL 要有 holistic 框架,不是凑工具拼——VerlTool 的工程模式可以直接借鉴
- Tool sandbox 是 production blocker——e2b 这类商业 sandbox 是关键基础设施
5. CoSearch — Reasoning + Ranking 联合训练
arXiv 2604.17555
5.1 动机
Search-R1 冻结 retriever。CoSearch 提问:为什么不让 reasoning 和 retrieval 一起训?
5.2 核心
两个 policy 同时被 GRPO 训:
π_reason(reasoning agent):决定 query 和最终答案π_rank(document ranker):决定从 retrieved 中选哪些给 reasoning
共享 reward:答对 → 两个 policy 都得 + 1。
5.3 复杂性
joint training 增加复杂度:
- 两个 policy 互相影响,信号纠缠
- credit assignment 更难
- 实战需要 careful curriculum
但实验结果显示:比 Search-R1 提升 5-10%,因为 ranker 学会”什么文档对这个 reasoner 有用”。
5.4 工业启示 🍎
- 复杂场景可以考虑 joint training,但先把单 policy 跑稳再上
- 多 policy joint training 是研究前沿,工业级落地仍少见
6. LiteResearcher — 深度研究 agent
arXiv 2604.17931
6.1 动机
研究类 agent(类似 Manus、deep research)需要:
- 多次查询积累信息
- 长 trajectory(几十上百次 search)
- 多源信息整合
LiteResearcher 把这类”deep research”作为专门场景训练。
6.2 核心设计
- Hierarchical reward:不只看最终答案,还看”信息覆盖度”、“事实正确率”等中间指标
- Curriculum:从简单 1-hop 训到复杂多 hop
- Memory integration:在 RL trajectory 中接入模块五的长期 memory
6.3 工业启示 🍎
- Deep research agent 必须 multi-hop + memory——单纯 search 不够
- Hierarchical reward 比单一 reward 适合长 trajectory
7. Tree Search for LLM Agent RL
arXiv 2509.21240
7.1 动机
传统 GRPO 是”采 G 个 trajectory”——但很多 trajectory 共享前缀,采样浪费。Tree Search 思想:用 MCTS 共享前缀。
7.2 核心:RL + MCTS
root (prompt)
/ | \
a1 a2 a3
/ | |
... ...
- Selection:UCT 选择最有 promise 的节点扩展
- Expansion:LLM 在某节点生成几个 next action
- Simulation:rollout 完整 trajectory
- Backprop:update tree 节点的 value
reward 在 tree 上反向传播,比 GRPO 信号更密集,credit assignment 更准。
7.3 代价
- 实现复杂得多
- 内存占用高(整棵树都要存)
- 不适合极长 trajectory
7.4 工业启示 🍎
- 数学竞赛类任务(AIME)tree search 收益大
- 通用 agent 任务(tool use)增量小
- 适合研究前沿,工业还没普及
跨论文对比与工业启示
论文对照表
| 论文 | 主要场景 | Reward | 训练框架 | 关键创新 |
|---|---|---|---|---|
| Search-R1 | Multi-hop QA | EM + format | verl | 冻结 retriever,纯 reasoning 训练 |
| ToolRL | Tool calling | 极简 reward | TRL/verl | 涌现 self-correction |
| Agent-R1 | 多任务通用 | 任务特定 | 自研 | yaml-driven 通用 pipeline |
| VerlTool | 工业 scale | holistic | verl + async | 2× async rollout |
| CoSearch | RAG joint | 共享 | verl | reason + rank joint train |
| LiteResearcher | Deep research | hierarchical | 自研 | 多步 + memory |
| Tree Search RL | 推理 | tree-based | 自研 | RL + MCTS |
工业落地 cheatsheet
| 你的场景 | 推荐论文范式 |
|---|---|
| 单工具 / 单任务 / 起步 | Search-R1 + 简洁 reward |
| 多工具 / tool 涌现能力 | ToolRL 极简 reward |
| 多任务统一训 | Agent-R1 yaml 范式 |
| 工业 scale | VerlTool async rollout |
| RAG agent 高级 | CoSearch joint training |
| Deep research | LiteResearcher + memory |
| 数学竞赛 | Tree Search + RL |
共同模式
读完 7 篇,有几个跨论文一致的工业经验:
- Verifier 简洁 + 主 reward 占大头 — 几乎所有成功的 paper 都遵循
- Async rollout 是 production 必需 — sync 在长 trajectory 下崩
- Multi-task / curriculum 提升 generalization — 单任务专精往往不如混训
- Frozen sub-modules 简化训练 — 比如冻结 retriever 简化 verifier
- Emergent capability 来自简洁 reward — ToolRL 的关键洞察
✅ 自我检验清单
- Search-R1 范式:能讲清”冻结 retriever + 极简 reward + GRPO”的设计哲学
- Search-R1 reward:能默写
- ToolRL 涌现:能列出 4 种 ToolRL 中涌现的能力
- 简洁 vs 复杂 reward:能解释为什么 ToolRL 发现”简洁更好”
- Agent-R1 多任务:能说出多任务联训为什么比单任务好
- VerlTool async rollout:能画图解释 sync vs async 的 GPU 利用率差异
- CoSearch joint training:能讲清两个 policy 同时训的复杂性
- LiteResearcher:能解释 deep research 为什么需要 hierarchical reward + memory
- Tree Search 适用:能说出哪些任务 tree search 提升大、哪些小
- 七论文 cheatsheet:面对一个具体业务,能立刻给出参考论文范式
📚 参考资料
论文(按顺序)
- Search-R1 (2025-03):arXiv 2503.09516
- ToolRL —— 多个版本,搜索 “ToolRL” 即可
- Agent-R1 (2025-11):arXiv 2511.14460
- VerlTool (2025-09):arXiv 2509.01055 | OpenReview
- CoSearch (2026):arXiv 2604.17555
- LiteResearcher (2026):arXiv 2604.17931
- Tree Search for LLM Agent RL (2025-09):arXiv 2509.21240
综述
- Agentic RL Survey:arXiv 2509.02547
- Awesome RL-based Agentic Search Papers:GitHub
- Agentic RL Training Recipes:github.com/blacksnail789521/Agentic-RL-Training-Recipes
中文解读 / 二次资料
- 方佳瑞:Search-R1 / Tool RL 详解 —— 知乎专栏(可搜索)
- 猛猿:GRPO + Tool RL 系列
- OneFlow:RL 训练框架对比 —— 微信公众号