赶上最新的AI论文

ToolTrain:利用 LLM 进行资源库深度搜索和问题定位的新方法

ToolTrain:利用 LLM 进行资源库深度搜索和问题定位的新方法

三个要点
✔️ 提出 ToolTrain,使 LLM 能够有效使用资源库搜索工具
✔️ 将 SFT 与拒绝采样和强化学习相结合,提高工具调用和推理的准确性
✔️ 在实验中实现了高于 Claude-3.7 的准确性,问题提高定位和修正成功率

Tool-integrated Reinforcement Learning for Repo Deep Search
written by Zexiong MaChao PengQunhong ZengPengfei GaoYanzhen ZouBing Xie
(Submitted on 5 Aug 2025 (v1), last revised 6 Aug 2025 (this version, v2))
Comments: Published on arxiv.
Subjects: Software Engineering (cs.SE); Artificial Intelligence (cs.AI)

本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。

摘要

本文重点讨论软件开发中的问题定位问题。

问题本地化是指以自然语言编写的错误报告为线索,识别代码库中需要修复的代码的过程。
对于大型代码库来说,这一过程既耗时又耗力,而且会大大降低开发效率。

近年来,LLM 在代码生成和测试生成方面取得了成功,LLM 代理与代码库搜索工具的结合有望实现自动化。
然而,这需要一种被称为 "版本库深度搜索 "的复杂搜索,它要求 LLM 具备多阶段推理和高级工具调用能力。

现有的 LLM 面临着工具调用错误和推理不一致导致的不准确问题。
因此,作者提出了一种名为 ToolTrain 的新工具集成学习框架,它能让 LLM 在有效利用工具的同时探索资源库。

建议的方法

拟议的 ToolTrain 方法包括两个阶段的学习过程。

第一阶段是 "拒绝采样监督微调"。
在这一阶段,只选择 LLM 使用工具生成的、到达正确代码点的高质量轨迹作为训练数据。
通过这种方式,模型将学习资源库搜索任务的基本格式以及如何调用工具。

第二阶段是工具集成强化学习。
在这一阶段,LLM 会进行试错搜索,并将搜索结果作为奖励信号。奖励被计算为是否找到正确代码段的评估指标,以及代码段的排序是否恰当。
这样,模型就能避免错误的工具调用,并更有效、更有策略地进行探索。

此外,作者还设计了一个名为 "RepoSearcher "的轻量级探索代理,它提供了一套工具(如文件结构检索、函数搜索、类搜索)。
这种设计使 LLMs 能够避免冗余搜索,并在逐步推理的同时实现高精度定位。

实验

为了验证所提方法的有效性,作者使用基于真实 GitHub 问题的评估数据集 SWE-Bench-Verified 进行了实验。

作为基准,使用 Recall@k、MAP、MRR 和 nDCG@5 等多维指标评估了文件和函数级别的问题定位精度。
比较对象包括现有框架(如 Agentless、LocAgent 和 CoSIL)以及商业模型(如 GPT-4o 和 Claude-3.7)。

结果表明,在 ToolTrain 上训练的模型始终比类似规模的 LLM 显示出更高的准确性,并且优于 Claude-3.7,尤其是在函数级定位方面。
ToolTrain-7B 模型也比其他使用 32B 规模模型的框架表现出更高的准确性,这表明即使使用小规模模型,有效的强化学习也有助于提高性能。

此外,研究还证实,定位精度的提高也与问题解决(错误修复成功率)的提高直接相关。特别是,当与 関数レベルRecall@5で68.55を達成し 和补丁生成模型相结合时,ToolTrain-32B 的修复成功率最高,达到 31.6%。

这些结果表明,ToolTrain 是显著提高 LLM 资源库探索能力的有效方法。

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!

如果您对文章内容有任何改进建议等,请通过 "联系我们 "表格与爱学网编辑部联系。
如果您能通过咨询表与我们联系,我们将非常感激。

联系我们