问题解决(issue solving)旨在根据问题描述生成补丁,以修复真实代码仓库中报告的问题。问题定位是准确解决问题的基础。最近,基于大型语言模型(LLM)的问题定位方法已经展示了最先进的性能。

然而,这些方法要么从问题描述中提到的文件搜索,要么在整个仓库中搜索,难以平衡搜索空间的广度和深度,从而有效地收敛到目标。此外,它们允许 LLM 自由地探索整个仓库,使得难以控制搜索方向,以防止 LLM 搜索到不正确的目标。同时,由于 LLM 可能无法正确生成与环境交互所需的格式,因此它们会遇到搜索失败的问题。

本文介绍了一种基于 LLM 驱动的强大函数级问题定位方法 IGSIL,无需训练或索引。为了平衡搜索的广度和深度,IGSIL 采用了一种两阶段代码图搜索策略。它首先使用动态构建的模块调用图在文件级别进行广泛的探索,然后通过将模块调用图扩展为函数调用图并执行迭代搜索,在函数级别执行深入的分析。为了精确地控制搜索方向,IGSIL 设计了一个剪枝器来过滤不相关的方向和不相关的上下文。为了避免长上下文中出现不正确的交互格式,IGSIL 引入了一种反射机制,该机制使用短上下文中额外的独立查询来增强格式化能力。实验结果表明,使用 Qwen2.5-Coder-32B,IGSIL 在 SWE-bench Lite 和 SWE-bench Verified 上分别实现了 43.3% 和 44.6% 的 Top-1 定位准确率,平均优于最先进的方法 96.04%。当 IGSIL 集成到问题解决方法 Agentless 中时,问题解决率提高了 2.98%–30.5%。


http://example.com/posts/55.html
作者
司马吴空
发布于
2026年3月30日
许可协议