一、这个方向到底在解决什么问题任务是给你一条 GitHub issue 描述和一个完整的代码仓库找出需要修改的位置。粒度通常分三层文件级改哪个文件模块/类级改哪个模块或类函数级改哪个函数早期这个任务是自动程序修复APR里的一个附属步骤没人单独研究它。转折点大概在 2024 年——大家发现修复做不好的瓶颈其实在定位上于是定位被拎出来当成了独立任务。这条线索后面还会提到。一个容易混淆的点代码定位 ≠ 缺陷定位Fault Localization。后者通常依赖测试用例的覆盖信息频谱定位那一套而前者只有一段自然语言描述没有可执行的失败测试。这个区别决定了两拨方法几乎不通用读文献时注意别混。二、五年脉络四个阶段第一阶段2022–2023老问题新工具主流还是频谱定位SBFL、变异定位MBFL和基于学习的方法DeepFL、DeepRL4FL、GRACE。转折来自两件事SWE-bench 把真实 GitHub issue 变成了可评测的任务LLMAO 证明了不用测试覆盖也能定位。第二阶段2024Agent 爆发SWE-agent 提出 Agent-Computer InterfaceOpenHands、AutoCodeRover、MoatlessTools 等一批系统涌现。同时 CodexGraph 和 RepoGraph 开始把代码图当成显式的检索结构。年底出现了第一次反思——Agentless 用固定三阶段流程证明不用 agent 也能打。第三阶段2025定位独立 图方法成主线LocAgent、OrcaLoca、CoSIL 几乎同期出现三者都以代码图 LLM 搜索为核心且互相比较、互相批评。LocAgent 专门建了 LOC-BENCH560 题作为定位专用基准。第四阶段2025–2026规模化与多语言SWE-Gym、SWE-smith、R2E-Gym 把训练数据推到万级SWE-bench Multilingual、Multi-SWE-bench 把任务扩展到 Python 之外。成本控制、失败模式、跨语言泛化成了新焦点。三、分类盘点3.1 基准与数据集SWE-benchICLR 2024 —— 一切的源头。2294 个真实 GitHub issue / 12 个 Python 仓库。论文里 Claude 2 只解了 1.96%作者微调的 SWE-Llama 也只能解最简单的题。两年后开源方案在它的子集上能做到 30%回头看挺恍如隔世。SWE-bench Lite2024 —— 300 题子集聚焦 bug 修复是现在最常用的榜单。SWE-bench VerifiedOpenAI, 2024 —— 人工校验过的 500 题。它的出现直接受了 Agentless 的启发下面会讲。LOC-BENCHACL 2025随 LocAgent 发布 —— 专为定位设计的 560 题基准按文件/模块/函数三层标注。这是定位成为独立任务的标志性产物。多语言扩展SWE-bench Multilingual42 仓库、Multi-SWE-bench7 语言 4723 实例、SWE-bench-Live164 仓库持续更新以缓解数据泄漏。训练数据SWE-Gym2438 可执行实例、SWE-smith5 万任务通过破坏单元测试自动生成、R2E-Gym8135 任务程序化生成环境。3.2 端到端 issue 解决系统这类工作做的是从 issue 到补丁的完整流程定位只是其中一个环节。SWE-agentNeurIPS 2024Agent-Computer Interfaceagent 路线代表作。成本约 $1.62/实例OpenHands2025(预印本)开源通用 agent 平台在 LocAgent 主表里是 agent 类最强基线之一AutoCodeRover2024结合程序结构搜索的自动修复系统MoatlessTools2024轻量 agent成本低RepoUnderstander2024(预印本)层次图 函数调用图 蒙特卡洛树搜索AgentlessFSE 2025反潮流代表作下文单独讲3.3 定位专用方法从行级到函数级这一类是定位被独立出来之后的产物。LLMAOICSE 2024在 LLM 之上微调双向适配层解决 LLM 自左向右生成不利于定位的问题。无需测试覆盖。Top-1 相对 ML 基线提升 2.3%–54.4%AutoFL2024(预印本)给 LLM 配备函数调用能力并生成解释——最早把可解释性引入定位AgentFL2024(预印本)多智能体系统模拟人类调试把定位扩展到项目级FuseFL2024(预印本)把频谱信息、测试结果和代码描述一起喂给 LLMFlexFL2025(预印本)先用传统 FL 缩小空间再用开源 LLM 精化SoapFL2025(预印本)用 agent 分析测试的动态执行路径迭代缩小空间GenLoc2025(预印本)从 bug 报告迭代识别可疑文件MemFL2025(预印本)引入外部记忆扩展到仓库规模3.4 图 / 结构化检索方法本方向的核心这是我认为最值得关注的一块也是目前竞争最激烈的区域。CodexGraphNAACL 2025 —— 把仓库抽成图数据库 schema让 agent 写 Cypher 查询做结构化检索。最大的不同是查询方式查询语言 vs 自定义工具。RepoGraphICLR 2025 —— 一个可插拔的仓库级代码图模块ego-graph 检索。插进 4 个不同方法后全部涨点。它的定位是插件不是完整系统。OrcaLocaarXiv:2502.00350(预印本) —— 优先级调度 动作分解 相关性打分 距离感知的上下文裁剪。SWE-bench Lite 函数匹配率 65.33%。LocAgentACL 2025 —— 有向异构图四类节点目录/文件/类/函数四类边contains / inherits / invokes / imports。让 agent 用统一检索工具做多跳定位。微调 Qwen2.5-Coder-7B 即可接近 Claude/GPT-4o成本降约 86%。CoSILarXiv:2503.22424(预印本) —— 不用训练也不用建索引。两阶段module call graph 做文件级广度探索 → function call graph 做函数级迭代深搜。配 pruner 控制方向、reflection 修正格式。四、28 篇总清单按年份排列★ 是我认为必读的。年份论文出处一句话2024★ SWE-benchICLR2294 题基准Claude 2 仅解 1.96%2024★ LLMAOICSE双向适配层无测试覆盖的行级定位2024★ SWE-agentNeurIPSAgent-Computer Interface2024★ AgentlessarXiv(→FSE25)不用 agent32.00% / $0.702024★ LocAgentarXiv(→ACL25)异构图 多跳 agent 定位2024RepoUnderstander预印本MCTS 层次图探索2024AutoCodeRover—结构搜索式自动修复2024MoatlessTools—轻量 agent2024AgentFL预印本多智能体项目级定位2024AutoFL预印本函数调用 可解释2024FuseFL预印本频谱信息 LLM2024SWE-Gym预印本2438 可执行训练实例2025★ LocAgentACL见 3.4附 LOC-BENCH2025★ AgentlessFSE见 3.22025★ CoSIL预印本两阶段调用图搜索批评 LocAgent2025★ OrcaLoca预印本优先级调度 上下文裁剪2025★ RepoGraphICLR可插拔图模块插入即涨点2025★ CodexGraphNAACL图数据库 Cypher 查询2025OpenHands预印本开源 agent 平台2025FlexFL预印本传统 FL 缩空间 LLM 精化2025SoapFL预印本动态执行路径分析2025GenLoc预印本从报告迭代定位文件2025MemFL预印本外部记忆仓库规模2025SWE-smith预印本5 万任务自动生成2025R2E-Gym预印本8135 任务程序化环境2025Multi-SWE-bench预印本7 语言 4723 实例2025SWE-bench-Live预印本持续更新的真实 issue2026(待补充)—成本与失败模式方向五、我读完之后的三个判断清单是客观的这部分是我自己的看法欢迎拍砖。判断一定位正在从附属步骤变成独立任务以前定位藏在自动程序修复的流程里没人单独评它。但现在 LLMAO 只做定位、AgentFL/AutoFL/CoSIL 都只做定位LocAgent 甚至专门建了个 560 题的定位基准。当一个子任务开始拥有自己的基准说明它已经独立了。这个变化很实在修复做不好瓶颈往往在定位。把定位拆出来单独优化比端到端硬啃更容易出成果。判断二要不要建图目前没有共识而且两边都有数据这是一个真正的分歧。LocAgent 花大力气为整个仓库预先建图CoSIL 完全不建图、运行时动态展开RepoGraph 则做成插件随便插。更有意思的是 CoSIL 的数据显示不建图反而更快更好同样 GPT-4o 下LocAgent 约 2.07M tokens /4.00CoSIL 约 0.14M /0.34。而 LocAgent 的数据又显示图能带来明显增益。我的猜测是图这个概念太笼统了。LocAgent 的静态依赖图和 CoSIL 的动态调用图根本不是一种东西真正起作用的可能是图的某种性质比如信息密度而不是有没有图。这也是我接下来想验证的方向。判断三大家都在报准确率很少有人报没做出来的比例这是我在复现时踩到的坑也是最想吐槽的一点。CoSIL 在论文里提到LocAgent 在函数级约有 20% 的情况定位不出任何结果。但我翻了好几篇论文基本只看到准确率很少提有多少样本压根没输出。这就引出一个很细节但致命的问题Acck 的分母到底是全部样本还是只有出结果的样本如果是后者那 20% 的空结果就被悄悄吃掉了各家论文的数字之间也就不能直接比。我自己复现时就遇到过——程序跑完了评估表也出来了全是 0可如果只看跑完了很容易误以为成功。这个问题我会继续查证也欢迎知道的朋友在评论区指个路。六、给新手的阅读顺序如果你刚进这个方向我建议这么读基于我自己的踩坑经验第一步读 SWE-benchICLR 2024。先把任务长什么样搞明白不然后面全是雾。第二步读 AgentlessFSE 2025。它的方法部分写得异常清楚三阶段流程、消融实验的设计都值得学。而且它先怀疑基准靠不靠谱的态度很值得抄。第三步读 LocAgentACL 2025和 CoSIL。这两篇要对照着读——它们是同一个问题、差不多的时间、截然相反的做法。读完你对图到底有没有用会有自己的判断。第四步按需读。做图的看 RepoGraph / CodexGraph做 agent 的看 SWE-agent / OpenHands想了解传统的看 LLMAO。七、写在最后整理这份清单最大的收获不是知道了多少篇论文而是发现了两件事一是同期工作之间是会直接打架的而且打得挺狠。只看一篇很容易被带偏。二是越读越觉得失败这块是空的。大家都在卷准确率但为什么定位不出来这个问题目前没有一篇系统回答过。