When a bug is reported, a developer must find the exact lines of code causing it. This is called issue localization. Existing AI agents try to do this by keeping all their search history in one long memory, which gets cluttered and makes it hard to decide where to look next.
NINJA splits the job into two roles. A navigator searches across files to find suspects and sends each file to its own inspector. Each inspector explores only its assigned file in a separate, short memory, then reports back. The navigator uses these reports to guide the next round of search.
On standard tests, NINJA found bugs more accurately than previous methods. A small open-source model trained with this approach even outperformed a much larger proprietary model. This means better automated debugging without needing endless context.
