Type: concept
Confidence: 0.90
Created: 2026-04-16
Updated: 2026-04-16
Tags: AI技术AI工程

Localization

概述

Localization(代码定位)是软件工程 Agent 的关键子任务,包括文件级定位(找到相关文件)和行级定位(找到精确修改位置)。它是 SWE agent 的本质瓶颈之一。

关键内容

两层定位

层级 任务 难度
File-level 找到相关文件
Line-level 找到精确修改位置

为什么是瓶颈

"找不到正确位置,再强的编辑能力也没有意义;找错位置,后续动作都会建立在错误假设上。"

真实软件工程最难的往往不是"最后改那几行代码",而是先找到该改哪里仓库级搜索能力实际上决定了 agent 是否能把问题缩到可操作范围。

搜索方式的发现

论文 Table 3 显示不同搜索接口差异明显: - Summarized search 效果最好 - Iterative search 次之——让 agent 容易把每个结果都看一遍,导致成本和上下文被耗尽 - No search 不是最差,但也不如总结式搜索

这说明"搜索能力"不是简单加个 grep 就行,关键在结果呈现方式

后续演进方向

SWE-agent 虽然没把 localization 当成唯一主题,但它实际上指出:

SWE agent 的本质瓶颈之一是"从 issue 文本到代码位置"的映射能力。

后续工作因此更关注: - Repository maps - Symbol index - Static analysis - Call graph

成功轨迹的行为模式(Figure 7)

Figure 7 统计了成功解决的 SWE-bench 任务中各 turn 的动作调用频率: - 前几轮:主要是 find_filesearch_diropen 等定位动作 - 后几轮:主要是 editpythonpytest 等修改和验证动作

这说明成功的 SWE-agent 轨迹不是一上来就改代码,而是先定位,再进入编辑-验证闭环

失败模式分布(Figure 8)

Figure 8 把未解决任务按失败类型做了分布统计: - Incorrect Implementation + Overly Specific Implementation:~52.0%(最大类别) - Failed to Recover from Edit:~23.4%(与编辑恢复相关) - Failed to Find Edit Location:定位失败 - Failed to Find Relevant File:文件级定位失败

这说明 SWE-agent 的主要瓶颈已经不只是"找不到文件",而是"方案本身不够对"或"改坏后恢复不了"。接口设计解决了不少导航/编辑问题,但真正的功能性推理和泛化实现仍然是主要难点。

来源

相关