文章链接:https://www.harvey.ai/blog/post-training-rlm-agents-for-m-and-a-diligence
在我们最近的 Harvey Tenet 研究预览 中,我们强调了模型与框架协同优化对于解决复杂的端到端法律任务的重要性,并预览了在并购尽职调查方面的初步成果——该任务需要遍历多达 8000 万个 token 的文档上下文。今天,我们将分享持续实验的最新结果。
我们与 Baseten 合作,为并购尽职调查构建了一个递归语言模型(RLM)框架。在我们的 RLM 方案中,完整的数据室被加载到一个 Python REPL 中,一个根 Agent 将有限的审查和分析任务委派给在其自身上下文窗口内工作的子 Agent。在 LAB Diligence 任务上,该框架在我们评估的七个模型中,平均将评分标准通过率提高了 39.1 个百分点。
我们发现,在 RLM 框架内进行后训练可以带来进一步的性能提升,并为平衡质量与效率提供了更多选择。我们通过强化学习对 Qwen3.5-122B-A10B 编排器进行了后训练,发现后训练使其在 50 个保留的 LAB Diligence 数据室上的评分标准通过率从 29.9% 提升到了 63.0%。

图 1:基础模型在标准工具循环框架、编码 Agent 在其自身框架以及我们的 RLM 框架中,在 LAB Diligence 上的平均标准通过率。星号标记了 GLM-5.2 在 SFT 前后匹配的结果,这些结果是在一个单独的 20 个数据室的保留集上评估的。所有其他结果均使用 50 个数据室的保留集。
这些结果表明,在特定任务的框架内进行后训练是处理文档密集型法律工作(如并购尽职调查)的一条实用途径,并且在 RLM 框架内扩展 RL 是未来工作的一个有前景的方向。因此,我们也在训练 GLM-5.3(一个大型前沿开放权重模型)作为正在进行的大规模扩展运行中的根模型。
在本文的其余部分,我们将描述我们评估的 LAB Diligence 环境、我们的方法论以及更详细的后训练实验。
并购尽职调查的环境
我们最近推出了 LAB Diligence,它是 LAB 的扩展,包含了用于并购尽职调查的合成环境。LAB Diligence 中的单个数据室包含多达 5000 份文档,按类别组织在数十个文件夹中,总上下文量高达 8000 万个 token。

图 2:一个 LAB Diligence 数据室示例。Aravon Bridge Bank 包含 2270 份文档,分布在 14 个类别的 82 个文件夹中,总计 3100 万个 token。Agent 为此任务撰写的尽职调查报告将根据 571 条评分标准进行评分。
在这个数据室中,Agent 的任务是生成一份完整的尽职调查报告,包括其发现(附文档引用)、相关的量化风险敞口,以及为交易推荐的后续步骤。一个 LLM 评判员会根据包含数百个通过/失败标准的专家评分标准对尽职调查报告进行评分。Aravon Bridge Bank 示例共有 571 条评分标准。

图 3:LAB Diligence 中 Aravon Bridge Bank 任务的评分标准示例,每种类型各有一条逐字标准。
尽职调查所需的证据分散在整个数据室中。有些发现需要结合多份文档,而另一些则需要检查是否缺少支持性证据。在我们的基线运行中,Agent 会进行选择性搜索和阅读,导致数据室的大部分内容未被检查。这些任务需要一个能够将审查工作分配到多个有限上下文,并将发现汇总起来的框架。
用于并购尽职调查的 RLM 框架
为了建立基线,我们从 Legal Agent Bench 的标准工具循环框架开始。在这个框架中,基础模型在 50 个保留数据室中平均通过了 23.3% 的评分标准,并且没有任何模型能在任何一个数据室中通过所有标准。

图 4:在 50 个保留尽职调查数据室上,标准工具循环框架中的平均标准通过率。
这些结果表明任务与框架之间存在不匹配。一个 LAB Diligence 数据室太大,无法容纳在单个模型的上下文中,但大部分初步审查可以按类别进行划分。然后,根模型可以跨类别整合发现,生成报告。律师事务所内的交易团队也以类似的方式分配尽职调查工作。

图 5:深度为 1 的 RLM 框架。数据室作为可查询变量加载到 Python REPL 中。根 Agent 通过代码对其进行操作,并将有限的阅读任务委派给子 Agent,子 Agent 将其发现作为 REPL 变量返回。只有根 Agent 打印的输出会进入其上下文窗口,因此根 Agent 永远不会持有完整的数据室。
这促使我们探索将 RLM 作为并购尽职调查的框架。在 RLM 框架中,根 Agent 获得一个 Python REPL,其中数据室作为可查询变量加载,使其能够以编程方式搜索语料库。根 Agent 规划审查范围,并将子任务分派给子 Agent。每个子 Agent 接收语料库的一个有限切片和来自根 Agent 的指令,在其自身的上下文窗口内工作,并将其发现作为 REPL 变量返回。除非另有说明,以下实验使用单层子 Agent,实际上根 Agent 会并行分派许多调用。

图 6:七个模型在标准工具循环框架中以及作为 RLM 框架(深度-1,Qwen3.6-35B-A3B 子 Agent)的根模型时,在 50 个数据室保留集上的平均标准通过率。
在七个模型中,RLM 框架将平均通过率从 23.3% 提高到 62.4%,提升了 39.1 个百分点。我们还运行了两个禁用网络工具的通用编码 Agent:Claude Code(使用 Opus-5)和 Codex(使用 GPT-5.6 Sol),使用了与工具循环框架相同的最小指令。Claude Code 通过了 24.6% 的标准,Codex 通过了 12.0%,分别比相同模型在工具循环框架中的表现低 17.9 和 4.6 个百分点。在追踪记录中,两个 Agent 都过早停止阅读并撰写了较短的报告,并且尽管有能力,但都没有生成子 Agent。
覆盖范围与成本
RLM 框架显著增加了成为 Agent 上下文的有用内容量。我们通过探针来估算覆盖范围,这些探针衡量数据室内容到达框架中任何模型(根或子 Agent)的比例。在标准工具循环框架中,没有一次运行读取的数据室超过 1%,大多数读取量在 0.1% 到 0.5% 之间。在 RLM 框架中,几乎每次运行读取的数据室都超过 10%,大多数读取了接近全部内容。在此范围内,更高的覆盖范围与更高的评分标准通过率相关。

图 7:评分标准通过率与基于探针的覆盖范围的关系图,每个运行点对应一个,展示了在 LAB Diligence 的 50 个保留数据室上,每个框架中七个模型的表现。覆盖范围采用对数刻度。
如图 8 所示,对于七个基线模型中的六个,迁移到 RLM 框架提高了每个数据室的生成成本。Claude Opus 5 是个例外。在工具循环框架中,它独自阅读每个数据室花费约 18 美元;作为 RLM 根模型,它花费约 7 美元,得分却高出 35 分。

图 8:七个模型在每个框架中的平均标准通过率与每个数据室生成成本的关系图,数据在 50 个保留数据室上取平均值。虚线连接了同一模型在不同框架中的表现。成本是基于列表价格的缓存感知估算值,采用对数刻度。
分工
为了考察性能在多大程度上取决于根 Agent 与子 Agent,我们将四个根模型与三个 Qwen 子 Agent 模型配对,在 30 个保留数据室上进行了测试(见图 9)。在测试的配置中,更换根模型的影响更大。固定子 Agent 模型并更换根模型时,得分最高和最低的根模型之间的差距平均约为 38 个百分点。固定根模型并更换子 Agent 时,子 Agent 模型之间的相应差距平均约为 8 个百分点(图 9b)。

图 9:RLM 框架中的分工情况,汇总了四个根模型和三个子 Agent 模型在 30 个保留数据室上的结果。(a) 根模型在输入和输出 token 中的占比,按子 Agent 选择取平均值。(b) 得分最高和最低的根模型之间的差距(按子 Agent 选择取平均值),以及子 Agent 之间的相应差距(按根模型取平均值)。
这种差异值得注意,因为在 RLM 框架中,我们观察到根模型仅占 Agent 总 token 使用量的少数。例如,在使用 Opus 5 进行编排时,根模型占输入 token 的 3.8% 和输出 token 的 1.1%(见图 9a)。子 Agent 处理了大部分文本,而根模型则决定如何划分审查工作并整合发现。

图 10:四个根模型与三个子 Agent 模型配对时,在 30 个保留数据室上的平均标准通过率。
这些结果表明,在此设置中,改进协调是一个重要的机会,因此我们将最初的后训练实验重点放在了根模型上。
在 RLM 框架中进行后训练
上述结果表明根 Agent 是后训练的目标。在本节中,我们报告在 RLM 框架内对开放权重根模型进行后训练的结果。
自蒸馏 SFT
首先,我们使用拒绝采样自蒸馏 SFT 对 GLM-5.2 根模型进行了后训练。此实验使用了一个不同的 20 个数据室的保留评估集,而非其他地方报告的 50 个数据室评估集。其匹配的基础模型在此保留集上的得分为 46.1%,低于图 6 中在更大保留集上报告的 GLM-5.2 的 65.4% 结果。
基础 GLM-5.2 无法开箱即用地稳定执行高分策略——经常出现性能崩溃,表现为基础模型作为根 Agent 过早放弃、委派不足,或未能将子 Agent 的输出转化为强有力的交付物。鉴于强策略已存在于模型分布中,但需要使其更稳健,我们使用拒绝采样自蒸馏来将 GLM-5.2 的分布锐化到期望的模式。我们选择了具有高数据室覆盖率的成功 GLM-5.2 运行,并在这些轨迹上对根模型进行了微调。

图 11:GLM-5.2 作为 RLM 根模型,在拒绝采样自蒸馏 SFT 前后的表现,在一个单独的 20 个数据室保留集上评估。这些是 SFT 实验内的匹配结果,而非图 6 中使用的 50 个数据室评估。
在这个 20 个数据室的保留集上,经过 SFT 训练的根模型得分为 60.1%,而基础模型为 46.1%(见图 11)。对后训练 Agent 追踪记录的审查表明,训练有助于根模型全面审查数据室,并将更高比例的子 Agent 发现纳入最终报告。
表 1 总结了我们在后训练后观察到的其他行为变化。最值得注意的是,子 Agent 调用次数与数据室大小之间的相关性从 0.17 上升到 0.84,表明经过训练的根模型会根据数据室大小调整其委派规模。经过训练的根模型还学会了在子 Agent 仍在阅读时就开始撰写报告,这与我们在 RL 运行中的发现类似。

表 1:GLM-5.2 根模型在 SFT 前后的行为,在单独的 20 个数据室保留集上取平均值。覆盖率为百分比;最后一行是相关系数。
构成一个强大根尽职调查 Agent 的行为,如详尽委派,可以从相对较少的在线策略轨迹中学习,无需特权信息或标记的法律知识。在这里,自蒸馏之所以有效,是因为良好行为已存在于模型分布中,训练使其稳定下来。
这个实验激励我们探索基于 RL 的后训练,试图将模型推至其分布之外,通过任务的奖励直接激发新行为。
强化学习
对于强化学习,我们从较小的根模型 Qwen3.5-122B-A10B 开始,以保持初始 RL 实验循环的可控性。
我们使用 GRPO 训练 RLM 根模型,以评判的评分标准通过率作为奖励,并固定子 Agent 模型(子 Agent 均为 Qwen3.6-35B-A3B 模型)。在 40 个训练步骤中,我们发现平均 rollout 通过率从约 23% 上升到约 56%。在 50 个数据室的保留集上,最终检查点的得分为 63.0%,而基础模型为 29.9%。

图 12:对 Qwen3.5-122B-A10B 根模型(固定 Qwen3.6-35B-A3B 子 Agent)进行强化学习。(a) 40 个训练步骤中每个步骤的平均 rollout 标准通过率。(b) 基础模型和最终检查点在 50 个数据室保留集上的表现。
RL 之后,平均数据室覆盖率从 62% 上升到 96%,尽管覆盖率并非显式奖励项。基础运行分布在完整的覆盖率范围内,其中低于 20% 的集群得分接近零。每次 RL 训练的运行读取的数据室都超过 60%,大多数读取了全部内容。

图 13:Qwen3.5-122B-A10B 根模型在 RL 前后,在 50 个数据室保留集上的标准通过率与基于探针的覆盖率关系图,每个运行点对应一个。
后训练的根模型每个数据室的子 Agent 调用次数增加了 64%。RL 对委派量的改变也大于 SFT(64% 对比 29%)。

表 2:Qwen3.5-122B-A10B 根模型在 RL 前后的行为,在 50 个数据室保留集上取平均值。
在后训练之前,Qwen 根 Agent 试图一次性撰写其尽职调查报告,并且仅在所有子 Agent 返回之后。在 RL 后训练期间,它学会了一种更高效的方法:增量式撰写报告,并将章节撰写与审查子 Agent 的工作交错进行。
使用 GLM-5.3 扩展 RL
为了大规模测试我们的 RL 方案,我们现在正在训练 GLM-5.3 作为 RLM 根模型,使用相同的 GRPO 风格配置:以评判的标准通过率作为奖励,固定 Qwen3.6-35B-A3B 子 Agent,对根模型使用 LoRA,组大小为 8,批次大小为 24。GLM-5.3 的 rollout 起点远高于 Qwen 根模型的起点,因此提升空间较小。在步骤 0 到 20 之间(图 14),平均 rollout 通过率从约 51% 上升到约 59%(取所示前八步和后八步的平均值),并伴有在此批次大小下预期的步间噪声。

图 14:正在进行的 GLM-5.3 RL 运行的早期训练进展,固定了 Qwen3.6-35B-A3B 子 Agent。展示了 20 个训练步骤中的平均 rollout 标准通过率。灰色显示每步原始值;黑色显示指数移动平均值。此图报告的是训练分数,而非保留集性能。
下一步计划
RLM 框架在我们测试的所有模型上都提升了性能,而 RL 在该框架内为 Qwen 根模型带来了进一步的提升。这些分数与我们正在努力实现的近乎完美的通过率之间仍存在巨大差距。
上述详细训练实验是初步探索。除了完成大规模 GLM-5.3 训练运行外,我们还将探索 SFT 和 RL 的组合,以及训练子 Agent。RLM 框架将根模型的编排与子 Agent 的阅读分离开来,因此每个部分可以单独训练或联合训练,包括训练子 Agent 进行进一步委派的设置。
最后,这里的核心发现——模型与框架协同优化可以在长周期环境中显著提升 Agent 性能——并非尽职调查所独有。我们正在探索将相同的框架结构和训练方法应用于其他长上下文法律工作的途径。
附录
RLM 递归深度
我们还测试了增加另一层委派是否能提升性能。在深度为 1 时,子 Agent 返回纯 LLM 补全结果,没有自己的工具或委派能力。在深度为 2 时,子 Agent 获得一个 Python REPL 并可以进一步委派。在每个实验中,我们对根模型和所有子 Agent 使用相同的模型。
我们评估了 GLM-5.2 和 Qwen3.5-122B-A10B。许多 GLM-5.2 深度为 2 的运行未能在时间限制内完成,因此我们报告了以下 Qwen 的结果。在 14 个数据室中,深度为 2 在四个数据室上提高了分数,在十个数据室上降低了分数,使平均标准通过率降低了 19 个百分点(图 A2)。在十个性能下降的案例中,有四个案例中深度为 2 的 Agent 读取了数据室内容,但从未生成报告。

图 A1:14 个数据室在深度为 1 和深度为 2 时的每个数据室标准通过率。我们固定了模型,比较了使用纯补全的子 Agent 与可以使用 REPL 并委派的子 Agent。在十个性能下降的案例中,有四个案例中深度为 2 的运行读取了数据室但从未撰写报告。
这些结果促使我们在最初的后训练实验中使用深度为 1。专门训练 Agent 进行更深层委派是否能使额外层变得有用,仍然是一个悬而未决的问题。
RL 基础设施
RL,尤其是具有如此长回合长度的 RL,既是基础设施问题,也是训练信号问题。对于此任务,单回合 rollout 可能需要一个多小时的实际时间才能完成。为了优化训练的实际时间,我们应用了异步离策略推理、连续推理批处理、过采样和飞行中权重更新等方法。应用了选择性 token 掩码和异步相关上限来控制离策略性的影响。鉴于在 RLM 框架中,大部分实际时间都花在等待子 Agent 完成上,使用小型快速子 Agent 的能力极大地加速了 RL 训练过程。
我们在下方绘制了每步实际时间。它主要由 rollout 时间主导,该时间在 RL 过程中会增长,因为 Agent 变得更加彻底并派出更大规模的子 Agent 波次。

图 A2:40 步运行中每个 RL 训练步骤的实际时间(分钟),带有 5 步滚动平均值。步骤 2–10 平均为 48 分钟,步骤 31–40 平均为 74 分钟;增加的原因是训练后的模型在每个 rollout 中分派了更多的子 Agent。





