论文

PatchHolmes:通过列表选择进行 Agentic 补丁检索

PatchHolmes: Agentic Patch Retrieval via Listwise Selection

上下文与知识检索增强

摘要

补丁检索是查找修复已知漏洞的提交的任务,是漏洞管理工作流程的基础,但主要咨询数据库中 60% 到 63% 的 CVE 缺乏补丁链接。我们推出了 PatchHolmes,这是一种两阶段补丁检索系统,它将混合第一级检索器与 Agentic 第二级检查环路配对。与之前对每个候选者独立评分的逐点工作不同,第二阶段Agent按列表读取前 100 个候选者:它会立即看到完整的候选者列表,并在提交单个最佳提交之前通过四个预算工具选择性地读取 3 到 10 个提交。在 GitHubAD 上,PatchHolmes 在每个 CVE 一次Agent对话中击败了逐点二元分类器 Favia Recall@1 25.34%,以及检索和 CoT 基线 IRCoT 31.40%,而 Favia 为 10 次;在候选集相同的情况下,Agent将 Recall@1 比检索器的最佳候选增加了 27.32%,并且相同的Agent在未更改到 PatchFinder_top10 的情况下,将 Recall@1 从 PatchFinder 自己的前 1 个选择 (24.28%) 提升到 39.86%。在 Qwen 系列中交换 LLM 骨干将 Recall@1 改变了不到 1%,而第二个模型系列 (gpt-oss) 仍远高于无Agent底线,因此增益来自列表式Agent循环;整个系统在本地 Git 存储库上的冻结开放权重模型上运行,无需微调或外部搜索 API。