KARL:基于强化学习的知识智能体 KARL: Knowledge Agents via Reinforcement Learning
用多任务强化学习训练企业搜索智能体,在多类知识检索任务上超越闭源大模型
前置知识
Grounded Reasoning(基于证据的推理)
指模型在回答问题时需要访问其参数之外的外部知识源(如企业内部文档、网页、数据库),通过多步检索获取证据,再基于收集到的证据进行复杂推理。这与纯参数化推理(如数学推导、常识问答)不同,grounded reasoning 要求模型具备工具调用能力和多步信息聚合能力。本文的核心研究对象就是这类任务,包括约束驱动实体搜索、跨文档报告合成、表格数值推理等六种场景。
这是本文定义的核心问题域,理解 grounded reasoning 才能理解为什么需要专门的智能体训练方法
Off-Policy RL(离策略强化学习)
在强化学习中,off-policy 指训练数据由旧策略(reference policy $\pi_{ref}$)生成,而非当前策略。这允许用历史数据反复训练,大幅降低数据生成成本。本文采用的 OAPL 方法通过最小二乘回归损失来学习最优策略,利用 $\beta \ln \frac{\pi(y|x)}{\pi_{ref}(y|x)} = r(x,y) - \hat{V}^*(x)$ 的关系,将 off-policy 数据转化为有效的训练信号。相比在线 RL(如 GRPO),off-policy 方法可以将数据生成成本分摊到多次策略更新中。
OAPL 是本文的核心训练算法,理解 off-policy 特性才能理解为什么能在大规模 MoE 模型上稳定训练
Multi-task RL(多任务强化学习)
在同一模型上同时训练多个不同任务的 RL 目标。本文将 BrowseComp-Plus(深度搜索)和 TREC-Biogen(广泛搜索)的损失函数直接相加,通过平衡两个任务的训练 token 数量来实现多任务训练。实验表明,多任务 RL 训练出的模型在分布内任务上表现优异,更重要的是在四个未见过的分布外任务上也展现出泛化能力,这远优于单任务训练的专家模型。
多任务 RL 是本文实现 OOD 泛化的关键机制,也是区别于单任务专家训练的核心贡献
Test-time Compute (TTC,测试时计算)
在推理阶段通过增加计算量来提升模型性能的技术。本文探索了两种 TTC 策略:(1) Parallel Thinking——生成 N 个独立推理轨迹,再由聚合器综合生成最终答案;(2) Value-Guided Search (VGS)——训练一个价值模型预测每个部分轨迹的成功概率,在树搜索的每一步选择价值最高的候选分支。Parallel Thinking 是通用策略,在所有任务上都有效;VGS 是任务特定策略,在 BrowseComp-Plus 上效果更好。
TTC 是让 KARL 匹配甚至超越最强闭源模型的关键手段,理解 TTC 才能理解成本-质量帕累托最优
Nugget-based Evaluation(基于信息点的评估)
一种统一的评估框架,将答案分解为独立的信息点(nuggets),评估模型输出覆盖了多少关键信息点。对于实体检索任务(如 QAMPARI),每个实体是一个 nugget;对于报告合成任务(如 TREC-Biogen),需要先将参考答案 nugget 化,再评估覆盖度。这种方法比简单的精确匹配或 F1 更能捕捉答案的完整性和准确性,特别适合开放式的多步检索任务。
本文所有任务的评估都基于这个框架,理解它才能理解表 4 中的分数含义
研究动机
当前知识智能体面临的核心挑战是缺乏跨任务泛化能力。现有的深度研究系统(如 OpenAI Deep Research)依赖公开网络搜索,无法处理企业内部私有数据的 grounded reasoning 任务。不同类型的检索任务——约束驱动实体搜索、跨文档报告合成、表格数值推理、穷举实体检索等——结构差异巨大,在 HotpotQA 上优化的模型不能保证在 FinanceBench 上也表现良好。更重要的是,现有基准如 HotpotQA、BrowseComp-Plus 或 FinanceBench 只覆盖了知识智能体能力的单一侧面,缺乏一个综合评估多维搜索能力的测试套件。此外,传统在线 RL(如 GRPO)在大规模 MoE 模型上训练不稳定,需要额外的启发式技巧如 importance weighting、数据删除或 router replay,增加了基础设施复杂性。
本文的目标是本文的目标是创建一个通用的知识智能体 KARL,能够通过强化学习在多种 grounded reasoning 任务上实现帕累托最优的成本-质量和延迟-质量权衡。具体而言:(1) 构建 KARLBench 评估套件,覆盖六种不同的搜索场景;(2) 开发自动化的 agentic 数据合成管线,生成高质量、多样化的训练数据;(3) 提出迭代式大批量离策略 RL 方法 OAPL,在大规模 MoE 模型上稳定训练;(4) 实现多任务 RL 训练,使模型在分布外任务上也能泛化。
与已有工作不同的是,本文的独特切入点有三个。第一,首次将六种结构差异巨大的搜索任务纳入统一评估框架 KARLBench,涵盖约束搜索、报告合成、表格推理、穷举检索、程序推理和企业笔记聚合。第二,提出 agentic 合成管线,让智能体通过工具调用动态探索语料库来生成训练数据,而非基于静态文档集合生成,这确保了数据的 groundedness 和多样性。第三,采用离策略 RL(OAPL)替代在线 GRPO,通过接受 off-policy 性质来简化训练基础设施,同时利用迭代训练实现自我提升——每轮 RL 训练后用改进的模型生成新的训练数据,形成正反馈循环。
核心方法
KARL 的整体技术路线可以概括为三个阶段。首先是数据合成阶段:构建一个 agentic 合成管线,包含两个子阶段——第一阶段由合成智能体通过向量搜索探索语料库,生成 grounded 的问答对;第二阶段由多个求解智能体独立尝试回答,通过通过率过滤和质量过滤筛选出高学习信号的训练数据。其次是 RL 训练阶段:采用 OAPL(Optimal Advantage-based Policy Optimization with Lagged Inference policy)进行迭代式大批量离策略 RL 训练,每轮训练后用改进的模型重新生成数据,最多迭代 3 轮。最后是测试时计算扩展:通过 Parallel Thinking 和 Value-Guided Search 在推理时增加计算量,进一步提升性能。整个流程基于自研的 aroll 框架实现,支持高效的并行 rollout 生成和灵活的奖励组合。
KARL 的核心创新在于三个层面的协同设计。第一,agentic 数据合成而非静态合成:让智能体通过工具调用(向量搜索)动态探索语料库来生成训练数据,这比基于固定文档集合的合成方法(如 SPICE)能生成更多样、更 grounded 的数据。第二,大规模迭代式离策略 RL:采用 OAPL 算法,利用最优策略与参考策略之间的对数比关系将 off-policy 数据转化为训练信号。关键设计是将上下文压缩步骤也纳入 RL 训练,让模型端到端地学习如何管理上下文以最大化奖励。这与在线 GRPO 的本质区别是:off-policy 允许将数据生成成本分摊到多次策略更新中,且无需 importance weighting 等启发式技巧。第三,多任务 RL 而非专家蒸馏:直接将 BrowseComp-Plus 和 TREC-Biogen 的损失相加训练,实验表明这比先训练单任务专家再蒸馏的方法在分布外泛化上显著更好。
方法步骤详情
KARL 的训练流程分为以下详细步骤。步骤一:问答合成。以 4-10 个种子示例和任务特定的系统提示为输入,合成智能体通过向量搜索探索语料库最多 50-60 步,每次生成 8 个候选问答对。步骤二:去重。通过精确匹配和基于嵌入的近似去重(使用 Qwen3-8B 嵌入 + gpt-4o-mini 作为释义判断器)过滤掉与评估集重复的样本。步骤三:求解与通过率过滤。对每个合成问题运行 8 个独立的求解智能体,计算通过率,过滤掉全对(太简单)和全错(太难或答案错误)的样本。步骤四:质量过滤。使用 gpt-5-mini(TREC-Biogen)或 gpt-4o-mini(BrowseComp-Plus)作为判断器,过滤掉有歧义或答案不正确的样本。步骤五:OAPL 训练。使用过滤后的数据进行离策略 RL 训练,损失函数为最小二乘回归形式,其中利用两个温度参数分别控制价值估计的平滑度和 KL 正则化的强度。对于长轨迹,在压缩点处切分为多个片段分别训练。步骤六:迭代。将训练后的模型作为新的参考策略,重复步骤一到五,最多 3 次迭代。
技术新颖性
KARL 的技术新颖性体现在四个方面。第一,端到端的压缩训练:与现有方法使用独立的预训练压缩模型不同,KARL 将上下文压缩步骤纳入 RL 训练,使用任务奖励端到端优化。实验表明这使模型学会了识别和保留相关信息的能力,即使用于压缩其他模型的搜索轨迹也能提升性能(Table 6)。第二,离策略 RL 的 MoE 稳定性:OAPL 证明了大规模 MoE 模型可以不使用 GRPO 所需的启发式技巧(importance weighting、数据删除、router replay)而稳定训练,大幅简化了 RL 基础设施。第三,RL 而非蒸馏的泛化优势:实验证明多任务 RL 在分布外泛化上远优于专家蒸馏+SFT。SFT 蒸馏在分布内随 TTC 提升(69.1 到 75.3),但在分布外几乎不提升(59.4 到 59.6);而 RL 在两个维度上都能持续获益。第四,RL 学到的是新能力而非仅是锐化:max@k 分析表明,RL 训练后 max@1 匹配基线的 max@8,max@2 超过基线的 max@16,证明 RL 确实扩展了模型的问题解决覆盖范围。
实验结果
KARL 的实验结果展示了三个层面的核心发现。第一,在 KARLBench 的六个任务上,KARL(基于 GLM 4.5 Air)在无额外 TTC 时总分 58.9,与 Claude Sonnet 4.5 相当;使用 10 个并行轨迹时总分 67.5,匹配 Claude Opus 4.6;使用 20 个并行轨迹时总分 68.1,超越所有闭源模型。第二,在成本和延迟方面,单次调用的 KARL 每次查询成本低于 $0.10,是所有得分超过 55 分的模型中最低的;使用 10 个并行轨迹时以约 33% 更低的成本匹配 Opus 4.6 的质量,延迟降低约 47%。值得注意的是,KARL 的每次查询成本甚至低于其基模型 GLM 4.5 Air,因为 RL 训练使模型学会了更高效的搜索策略,用更少的步骤和 token 开销完成任务。第三,在分布外泛化上,KARL 在四个未参与训练的任务(FreshStack、FinanceBench、QAMPARI、PMBench)上表现出一致的提升,特别是 FreshStack 从 52.9 提升到 58.6(+5.7),PMBench 从 33.4 提升到 47.8(+14.4)。单任务专家(KARL-TREC 和 KARL-BCP)在各自任务上分别达到 85.0 和 59.6,但无法转移到另一任务,验证了多任务训练的必要性。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| BrowseComp-Plus(约束驱动实体搜索) | Nugget Score | KARL: 58.5, KARL(par.10): 67.5, KARL(par.20): 69.5 | Claude Opus 4.6: 75.9, GPT 5: 68.3, GLM 4.5 Air: 44.7 | KARL(par.20) 超越 GPT 5 (+1.2),以更低成本和延迟接近 Opus 4.6 |
| TREC-Biogen(跨文档报告合成) | Nugget Score | KARL: 80.2, KARL(par.10): 86.7, KARL-TREC: 85.0 | Claude Opus 4.6: 79.9, Claude Sonnet 4.6: 77.7, GLM 4.5 Air: 66.0 | KARL(par.10) 超越所有闭源模型,KARL-TREC 超越 Claude Sonnet 4.5 |
| FreshStack(程序推理) | Nugget Score | KARL: 55.2, KARL(par.10): 58.6 | Claude Opus 4.6: 61.4, Claude Sonnet 4.6: 62.6, GLM 4.5 Air: 52.9 | 从基线提升 +5.7,但与最强模型仍有差距 |
| FinanceBench(表格数值推理) | Nugget Score | KARL: 76.0, KARL(par.10): 84.5 | Claude Opus 4.6: 83.0, GPT 5: 86.7, GLM 4.5 Air: 72.7 | KARL(par.10) 超越 Claude Opus 4.6 (+1.5),接近 GPT 5 |
| QAMPARI(穷举实体检索) | Nugget Score | KARL: 47.8, KARL(par.10): 59.7 | Claude Opus 4.6: 58.6, Claude Sonnet 4.5: 54.8, GLM 4.5 Air: 45.9 | KARL(par.10) 匹配 Claude Opus 4.6 (+1.1) |
| PMBench(企业笔记事实聚合) | Nugget Score | KARL: 35.7, KARL(par.10): 47.8 | Claude Opus 4.6: 46.1, GPT 5.2: 37.9, GLM 4.5 Air: 33.4 | KARL(par.10) 匹配 Claude Opus 4.6 (+1.7),从基线提升 +14.4 |
局限与改进
本文存在以下局限性。第一,工具单一性:KARL 仅使用向量搜索作为唯一的外部工具,无法执行代码、进行结构化查询或调用子智能体,这限制了其在需要多工具协作的场景(如 OfficeQA)中的能力。作者在结论中承认这是一个重要的扩展方向。第二,压缩机制简单:当前使用基于提示的简单压缩,可能丢失关键信息。实验表明压缩对性能至关重要(去掉压缩后 BrowseComp-Plus 从 0.570 降至 0.389),但更复杂的层次化记忆管理可能进一步提升性能。第三,数值推理能力不足:定性分析(Table 15)表明 KARL 在需要算术推理的场景中会过早停止搜索,拒绝执行必要的数值计算,而是继续搜索预计算的结果。这说明 RL 改善了检索策略但未显著提升后检索推理能力。第四,评估数据集规模有限:TREC-Biogen 仅 65 个问题,PMBench 仅 57 个问题,统计显著性可能不足。第五,依赖闭源模型进行质量过滤:数据合成管线使用 gpt-4o-mini 和 gpt-5-mini 作为判断器,引入了对闭源 API 的依赖。
独立分析的弱点
本文有三个值得深入分析的弱点。第一,上下文管理仍然粗糙:当前的压缩机制是简单的提示式压缩,在压缩点将整个历史发送给模型总结。这在长轨迹(如 BrowseComp-Plus 的 200 步)中可能导致关键信息被过度压缩。改进方向包括:引入层次化记忆结构,区分短期工作记忆和长期语义记忆;或者使用检索增强的压缩,让模型在压缩时可以回顾原始文档。第二,数值和表格推理能力薄弱:KARL 在 FinanceBench 上的表现(76.0)远低于 GPT 5(86.7),且定性分析显示模型在遇到需要算术的任务时会回避。改进方向:将显式的数值推理任务(如数学 word problems、表格计算)纳入多任务 RL 训练,或者为数值计算引入专用工具(如 Python 代码执行)。第三,早停和放弃行为:Figure 20 显示 KARL 的 Giving Up Early 行为占比高于 Sonnet 4.5,表明模型可能学到了短轨迹与正确性之间的虚假相关。改进方向:在奖励函数中加入探索深度的惩罚项,或者在训练数据中保留更多需要长轨迹才能解决的样本。
未来方向
作者和本文成果共同指向三个有前景的未来方向。第一,扩展工具空间:将智能体的动作空间从单一的向量搜索扩展到结构化检索、代码执行和组合子智能体,这是作者在结论中明确提出的方向。特别是代码执行工具可以直接解决数值推理能力不足的问题。第二,层次化记忆管理:用更复杂的记忆架构替代简单的提示式压缩,如分层压缩(短期/长期记忆分离)、检索增强压缩(压缩时可回顾原始文档)、或者基于注意力的记忆选择。第三,更多任务类型的泛化:当前 KARLBench 的六个任务都属于检索密集型,可以扩展到更多需要 grounded reasoning 的场景,如多轮对话中的知识追踪、代码库理解与修改、或者多模态文档理解。此外,将 OAPL 方法应用到非搜索类任务(如代码生成、数学推理)也是一个值得探索的方向,验证离策略 RL 的通用性。
复现评估
本文的复现性评估如下。代码和数据:论文未明确说明是否开源代码,但 KARLBench 中的 5 个任务来自公开数据集(BrowseComp-Plus、TREC-Biogen、FinanceBench、QAMPARI、FreshStack),只有 PMBench 是新引入的私有数据集。模型基座:使用 GLM 4.5 Air 作为基座模型,这是公开可用的。算力需求:论文未详细披露训练所需的 GPU 小时数,但从大规模 MoE 模型和多轮迭代训练来看,算力需求相当高。数据合成:使用 gpt-4o-mini 和 gpt-5-mini 作为质量过滤器,需要 API 访问。RL 训练:OAPL 算法在并发工作 Ritter et al. 2026 中详细描述,但 aroll 框架是自研的内部工具。总体而言,核心算法(OAPL)有独立论文支撑,评估基准大部分来自公开数据集,但完整的端到端复现需要大量算力和闭源 API 访问。复现难度:中高。
论文图表