CoHyDE:面向工具检索的LLM改写器与稠密编码器迭代协同训练
摘要
CoHyDE提出了一种LLM改写器与稠密编码器的迭代协同训练过程,以提升从大型API目录中的工具检索性能。通过使用InfoNCE和DPO联合训练两个组件,它在模糊查询上显著优于单一组件基线。
arXiv:2605.29271v1 Announce Type: new
摘要:大型API目录上的工具检索是LLM智能体的核心瓶颈:用户查询以口语化且常常表述不清的语言到达,而目录使用的是技术性API词汇,固定编码器无法单独弥合这一鸿沟。两种主流的训练方法——对比编码器微调和冻结LLM的HyDE风格查询扩展——从相反角度解决此问题,但在互补方向上失效:微调编码器在查询的表面形式已匹配目录时表现出色,但在不匹配时则崩溃;而零样本HyDE对表述不清的查询更具鲁棒性,但生成的假设描述与目录无关,在查询明确时反而降低检索性能。我们提出了CoHyDE,一种迭代过程,将稠密编码器和LLM改写器训练为一个共同演化的系统:编码器使用改写器生成的目录风格假设描述通过InfoNCE重新训练,改写器则根据编码器的检索分数通过DPO进行偏好对齐,两者在循环开始前均使用工具目录进行热启动。在ToolBench目录中约10k工具子集上,三轮CoHyDE在标准查询上比最强的单一组件基线提高了+2.5个百分点(NDCG@5),在预留的模糊查询上提高了+6.3个百分点,在难度最大的模糊查询层级上增益高达+8个百分点。消融实验证实协同训练是关键因素:单独使用任一组件都无法在明确查询和模糊查询上匹配CoHyDE,在模糊查询上损失高达-8个百分点。
查看缓存全文
缓存时间: 2026/05/29 09:16
# LLM改写器与稠密编码器的迭代协同训练用于工具检索
来源:https://arxiv.org/html/2605.29271
Vaishali Senthil†Ashutosh Hathidara†††感谢:同等贡献。Sebastian Schreiber
SAP Labs
{vaishali.senthil, ashutosh.hathidara, sebastian.schreiber}@sap.com
###### 摘要
在大型 API 目录上进行工具检索是 LLM 智能体的核心瓶颈:用户查询通常以口语化且往往欠指定(underspecified)的语言出现,而目录使用的则是技术性 API 词汇,没有任何固定的编码器能独自弥合这一差距。两种主要的训练方法——对比编码器微调和基于冻结 LLM 的 HyDE 式查询扩展——从相反的方向解决这个问题,并以互补的方式失败:微调后的编码器在查询的表层形式已与目录匹配时表现优异,但在不匹配时则崩溃;而零样本 HyDE 对欠指定查询更具鲁棒性,但会生成与目录无关的假设性描述,从而在查询表述良好时降低检索性能。我们提出 CoHyDE,一种迭代过程,将稠密编码器和 LLM 改写器作为单一共同演化系统进行训练:编码器使用改写器生成的目录风格假设描述通过 InfoNCE 重新训练,改写器则通过 DPO 基于编码器的检索得分进行偏好对齐,双方在循环开始前均使用工具目录进行预热初始化。在 ToolBench 目录(Qin 等,2024)约 10k 工具子集上,经过三轮 CoHyDE 迭代,相比最强的单组件基线,在标准查询上 NDCG@5 提升 2.5 个百分点,在保留的模糊查询上提升 6.3 个百分点,在最困难的模糊层级上增益高达 8 个百分点。消融实验证实,协同训练是关键要素:单独使用任一组件都无法在表述良好的查询和模糊查询上匹配 CoHyDE,在模糊查询上损失高达 8 个百分点。
CoHyDE:LLM改写器与稠密编码器的迭代协同训练用于工具检索
Vaishali Senthil†††感谢:同等贡献。Ashutosh Hathidara†††感谢:同等贡献。Sebastian Schreiber
SAP Labs
{vaishali.senthil, ashutosh.hathidara, sebastian.schreiber}@sap.com
## 1 引言
现代语言模型智能体通过调用外部工具来与世界交互,这些工具来自规模日益增长、动辄数万个的目录(Qin 等,2024;Patil 等,2024)。没有智能体能将所有工具的文档放入其上下文窗口,而智能体行动质量的上限取决于一个上游的*工具检索*步骤,该步骤为每个用户查询选择一个小的候选集。主流的检索方案是将查询和工具嵌入到一个共享的向量空间中,并通过最近邻查找返回前 k 个最相似的工具。围绕这一方案形成了两个基本不相交的研究方向。
**方向 1:使用冻结 LLM 进行查询扩展。** HyDE 风格的方法(Gao 等,2023;Wang 等,2023)提示一个冻结的 LLM 为查询生成一个假设文档,然后使用冻结的编码器搜索其嵌入。
**方向 2:不进行查询改写的编码器微调。** 稠密检索方法使用对比损失在(查询,工具)对上微调编码器(Karpukhin 等,2020;Xiao 等,2024)。两个方向都有互补的失败模式。训练后的稠密编码器本质上是一个由训练过程中看到的(锚点,正例)对塑造的相似度函数。当查询在分布内(即与目录共享词汇表层)时,对比信号就足够了;当表层形式偏离时,编码器没有世界知识或推理机制来弥合差距,退而求助于残留的词汇线索(Thakur 等,2021;Chen 等,2022)。查询扩展方法则对称地失败:LLM 带来了处理模糊查询所需的推理能力(Wei 等,2022),但其生成的输出与目录的词汇不匹配,因此在表述良好的查询上,它带来的损害大于帮助(Lei 等,2024)。这自然引出一个问题:*能否将两种训练模式组合成一个单一过程,使其比单独任一组件都更强?*
我们提出 CoHyDE,一种迭代协同训练过程,将稠密编码器和 LLM 改写器视为一个共同演化系统。在每一轮中,LLM 为每个查询生成目录风格的假设性描述;然后通过对比学习在这些描述上重新训练编码器;接着使用编码器自身的检索得分作为奖励信号,通过 DPO 对 LLM 进行偏好对齐。这个交替更新循环重复多次,每个组件逐步适应对方。我们在 ToolBench 目录(Qin 等,2024)的一个约 10k 工具子集上应用 CoHyDE。经过三轮协同训练,CoHyDE 相比最强的单组件基线,在标准查询上 NDCG@5 提升 2.5 个百分点,在保留的模糊查询上提升 6.3 个百分点,在最困难的模糊层级上增益高达 8 个百分点。总结我们的贡献:(i)我们提出 CoHyDE,一种迭代协同训练过程,联合优化用于工具检索的稠密编码器和 LLM 改写器。(ii)我们通过实验刻画了编码器微调和零样本 HyDE 的互补失败模式,从而激发联合训练两个组件的必要性。
## 2 相关工作
#### 工具检索。
稠密工具检索方法在(查询,工具)对上使用对比监督微调编码器(Qin 等,2024;Anantha 等,2023;Qu 等,2024;Shi 等,2025);另一条平行路线将检索视为一个冻结的黑盒,通过基于 LLM 的扩展或生成式索引(Patil 等,2024;Chen 等,2024;Lumer 等,2025;Wang 等,2025)。最接近的先前工作是 Shao 等人(2023),他们迭代地改写用户指令并在(改写后的指令,工具)对上重新训练编码器。CoHyDE 的不同之处在于:改写器通过 DPO 基于其馈送的编码器进行偏好对齐,改写目标是*目录描述风格*而非查询风格,并且编码器重新训练不使用任何真实的(查询,工具)对。同时进行的工作(Anonymous,2026)审计了*参数化*工具检索,其中工具作为虚拟令牌嵌入到 LLM 的词汇表中(Wang 等,2025);这一范式与 CoHyDE 正交,后者改进的是稠密编码器检索。
#### 查询扩展与训练过的改写器。
HyDE(Gao 等,2023)搜索一个冻结索引,使用假设文档的嵌入;Query2doc(Wang 等,2023)将伪文档与原始查询拼接。CSQE(Lei 等,2024)通过注入检索到的句子来修补 LLM 扩展在测试时的语料不匹配;我们在训练时间解决同样的不匹配问题。训练过的查询改写器,如 Rewrite-Retrieve-Read(Ma 等,2023)、RaFe(Mao 等,2024)和 LeReT(Hsu 等,2025),使用 RL 或 DPO 配合一个*冻结*的检索器;另一条补充线索(Nogueira 等,2019;Dai 等,2023;Bonifacio 等,2022;Wang 等,2022)在 LLM 生成的合成查询上训练检索器,同时生成器保持冻结。所有这些方法至少冻结一个组件,而 CoHyDE 同时训练两者。
#### 稠密检索器的鲁棒性与联合检索器-生成器训练。
稠密检索器在分布外表现脆弱(Thakur 等,2021;Sciavolino 等,2021;Chen 等,2022;Yu 等,2022);通过合成查询进行领域自适应(Wang 等,2022;Dai 等,2023;Meng 等,2024;Lin 等,2023)只进行一次生成循环,生成器保持冻结。联合检索器-生成器框架如 RAG(Lewis 等,2020)、Atlas(Izacard 等,2023)、REPLUG(Shi 等,2024)、RA-DIT(Lin 等,2024)、Self-RAG(Asai 等,2024)训练生成器产生更好的*最终答案*,而非更好的检索输入。因此,先前的工作从未联合训练过一个输出*就是*检索输入的生成器和消费该输入的编码器,而这正是 CoHyDE 所填补的空白。
## 3 方法论
图 1:CoHyDE 概览:稠密编码器和 LLM 改写器在交替循环中协同训练,每个组件迭代地适应对方。
### 3.1 问题形式化
设 T = {t₁, ..., t_N} 为一个大小为 N 的工具目录,其中每个工具 t ∈ T 携带一条结构化记录(API 名称与描述,以及工具标题与描述)。我们写 φ: T → Σ* 为一个固定的*渲染*函数,将工具序列化为单一文本字符串。给定一个查询 q ∈ Σ* 和一个预算 k ∈ ℕ,工具检索问题是返回一个排序集合 T̂_k(q) ⊆ T,且 |T̂_k(q)| = k,使其与真实工具集 T*_q ⊆ T 的重叠最大化。我们专注于单向量稠密编码器检索,这是工具检索中的主流架构(Qin 等,2024;Anantha 等,2023;Qu 等,2024;Shi 等,2025)。一个参数化的编码器 fθ: Σ* → ℝ^d 将任何文本映射到一个 d 维单位范数向量,检索通过近似最近邻搜索进行(Johnson 等,2021):
T̂_k(q; θ) = top_{k, t ∈ T} ⟨ fθ(q), fθ(φ(t)) ⟩ (1)
此外,我们考虑一个*改寫器增强*的变体,其中生成器 gψ: Σ* → Σ* 产生一个假设的工具描述 d̃ = gψ(q),该描述*替代*查询进行编码:
T̂_k^{gψ}(q; θ) = top_{k, t ∈ T} ⟨ fθ(gψ(q)), fθ(φ(t)) ⟩ (2)
CoHyDE 的目标是找到参数 (θ*, ψ*),使得这两个组件相互增强,我们通过 3.5 节中描述的编码器和改写器交替更新序列来实现这一点。
### 3.2 数据
#### 工具目录。
ToolBench API 池(Qin 等,2024)包含 |T_full| = 46,980 个工具,分为三个评估层级:单域(G1)、跨域同类(G2)、跨域不同类(G3),共有 1,092 个官方评估查询(G1/G2/G3 分别为 593 / 399 / 100)。我们使用一个分层子集 T,大小为 N = 10,000 个工具,以保证训练的可处理性:该子集保留了评估查询真实集合中引用的每一个工具,并对剩余槽位进行分层采样,以保持 T_full 中各层级的比例。
#### 训练集。
训练集 D_train = {(q_i, T*_{q_i})}_{i=1}^M 包含 M = 104,224 个(查询,真实工具集)对(G1/G2/G3 分别为 44,873 / 35,402 / 23,949);大多数查询有多个真实工具(对 93–99% 的 q,|T*_q| > 1)。对于对比训练,我们将其展平为单独的(查询,工具)对 D_q = {(q, φ(t)) : (q, T*_q) ∈ D_train, t ∈ T*_q}。
#### 工具渲染。
我们在一个由五种渲染约定组成的族 Φ = {φ₁, ..., φ₅} 下表示每个工具,涵盖其自然信息轴:φ₁(仅标题)、φ₂(+ API 名称)、φ₃(+ 工具描述)、φ₄(标题、API 名称、API 描述)、φ₅(完整记录)。在训练时,对每个(查询,工具)对独立采样 φ ∼ Unif(Φ),因此每个工具在一个时期内会以所有五种表面形式出现。这种格式混合鼓励编码器学习对目录侧表面变化不变的表示,包括与改写器输出风格最匹配的较长多句子的 φ₅。在推理时,目录在 φ₅ 下建立索引。
#### 模糊查询划分。
我们采用 Chen 等人(2026)的模糊查询评估协议来探测查询侧分布偏移下的鲁棒性。每个 q ∈ Q_eval 被改写(paraphrased),用会话替代词替换表面令牌,同时保留原始的真实工具集。我们严格遵循 Chen 等人(2026)的协议,使用 claude-4.5-opus 替代原始工作中使用的 GPT-4o 改写器。Q_vague 不进入任何训练过程;两遍验证(对每个改写进行 LLM 自检,加上作者对 50 个样本的抽查)在附录 A 中描述。
### 3.3 编码器 fθ
fθ 从 BGE-large-en-v1.5(Xiao 等,2024)(约 335M 参数,d=1024)初始化。给定 x ∈ Σ*,我们定义 fθ(x) = h^θ_CLS(x) / ‖h^θ_CLS(x)‖₂。相似文章
HyDRA: 面向异构LLM池的混合动态路由架构
HyDRA是一种面向异构LLM池的混合动态路由架构,能够预测每个查询的细粒度能力需求,并通过不足匹配选择最便宜且能力满足需求的模型,在保持质量的同时实现高达72.5%的成本节省。该架构已部署于GitHub Copilot的VS Code Chat自动模式,并将路由与模型目录解耦,模型变更时无需重新训练。
CoCoDA:用于工具增强型智能体的协同演化组合式 DAG
本文介绍了 CoCoDA,这是一个利用协同演化的组合式有向无环图(DAG)来管理增强型智能体工具库的框架。该框架使小型语言模型能够高效地检索和组合工具,从而使 8B 模型在推理基准测试上的性能能够匹敌甚至超越 32B 模型。
工具总是有益的吗?学会自适应调用工具以实现双模式多模态大语言模型推理
介绍 AutoTool,一种自适应决定是否调用工具进行多模态大语言模型推理的模型,通过强化学习和双模式推理实现了显著的准确率和效率提升。
基于代理上下文的链式思维微调长上下文推理
提出ProxyCoT训练框架,通过先在小代理上下文中获取链式思维推理轨迹(通过强化学习或蒸馏),再通过监督微调将其锚定到完整长上下文中,从而提升大语言模型的长上下文推理能力。实验表明,该方法在降低计算成本的同时持续优于基线。
超越检索:代码搜索的多任务基准与模型
本文介绍了 CoREB,这是一个针对代码搜索的、受数据污染限制的多任务基准测试,具备微调重排序能力,可评估文本到代码、代码到文本以及代码到代码的检索效果。