CuraLoc находит баг в коде на 59,3% точнее конкурентов и тратит в 10 раз меньше токенов

Команда исследователей представила CuraLoc — систему, которая по описанию бага находит конкретную функцию или класс, которые нужно исправить в большом репозитории кода. Раньше для этого языковой модели приходилось шаг за шагом «блуждать» по коду: открыть файл, посмотреть, что внутри, решить, куда идти дальше, и повторять это десятки раз — дорого и медленно. CuraLoc делает это одним заранее продуманным планом. Система сначала отбирает подходящие файлы, затем по коротким описаниям функций (без самого кода) выбирает, с каких символов начать и какие связи проверить — кто их вызывает, кого вызывают они, какие есть переопределения. Только после этого реально подгружается нужный кусок кода, и финальным решением модель ранжирует места для правки. На тесте SWE-bench Verified с GPT-5.2 точность попадания в точное место бага выросла с 53,8% (у метода LocAgent) до 59,3%, при этом токенов потратили на 90,3% меньше. • На SWE-bench Lite точность топ-5 предсказаний достигла 83,8%, против 78,3% у конкурента RepoSearcher • CuraLoc обошла также Agentless (39,6%) и RepoSearcher (56,2%) по точности топ-1 • Метод работает и с GPT-5.2, и с новой GPT-6 Astra

AI-обработка оригинала arXiv cs.LG; редакция Hamidun News
CuraLoc находит баг в коде на 59,3% точнее конкурентов и тратит в 10 раз меньше токенов
Источник: arXiv cs.LG. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникarXiv cs.LG ↗
Главный редактор
Ключевой факт #1На SWE-bench Lite точность топ-5 предсказаний достигла 83,8%, против 78,3% у конкурента RepoSearcher
Ключевой факт #2CuraLoc обошла также Agentless (39,6%) и RepoSearcher (56,2%) по точности топ-1
Ключевой факт #3Метод работает и с GPT-5.2, и с новой GPT-6 Astra

Когда в код попадает жалоба на баг, первая проблема — не исправить ошибку, а понять, где именно в репозитории она прячется. Отчёт о баге описывает симптом («при вводе X система выдаёт неверный Y»), но не называет файл и функцию, которые нужно менять. Авторы новой работы предложили способ автоматически находить эти места точнее и дешевле, чем это делали существующие инструменты.

Почему старые подходы были дорогими

Большинство систем локализации багов работают по принципу агента: модель смотрит на код, решает, куда «пойти» дальше — в вызывающую функцию, в родительский класс, в соседний метод — и так постепенно сужает круг подозреваемых. Это гибко, но каждый шаг — отдельный запрос к модели, а значит, десятки обращений и огромный расход токенов на одну задачу.

CuraLoc проверяет другую идею: а что если спланировать весь маршрут осмотра кода заранее, одним решением, вместо того чтобы принимать его заново на каждом шаге?

Как работает CuraLoc

Система действует в три этапа, с каждым разом углубляясь в код:

  • Выбор файлов. Модель смотрит на структуру репозитория и по трём разным «углам зрения» — кто владеет логикой, кто её выполняет, кто её проверяет — предлагает список файлов-кандидатов, не более 15.
  • Выбор символов и действий. Из отобранных файлов модель получает не сам код, а компактные описания функций и классов: сигнатуру, роль в структуре, краткое резюме поведения (из документации или от вспомогательной модели меньшего размера). На основе этого модель одним решением выбирает, с каких функций начать осмотр, какую связь проверить у каждой (вызовы, наследование, переопределения) и формулирует гипотезы о том, где может быть правка.
  • Получение кода и ранжирование. Только теперь система автоматически (без участия модели) подгружает реальный исходный код нужных фрагментов, и финальным запросом модель ранжирует до десяти кандидатов на правку, используя и код, и ранние гипотезы.

Ключевая экономия — в том, что модель принимает решение «что осматривать» один раз, компактно, а не пошагово после каждого нового куска кода.

Что показали тесты

Метод проверяли на двух наборах реальных багов из открытых проектов — SWE-bench Lite (274 задачи) и SWE-bench Verified (454 задачи), сравнивая с тремя существующими методами: LocAgent, RepoSearcher и Agentless, с моделью GPT-5.2.

  • На SWE-bench Verified точность попадания в точное место правки (метрика Func@1) выросла с 53,8% у LocAgent до 59,3% у CuraLoc — при этом токенов потратили на 90,3% меньше.
  • CuraLoc также обошла RepoSearcher (56,2%) и Agentless (39,6%) по той же метрике.
  • На SWE-bench Lite CuraLoc добилась 83,8% точности в топ-5 предсказаний, что на 15% относительно лучше, чем у Agentless.
  • Метод проверили и на новой модели GPT-6 Astra — результаты остались устойчиво высокими, то есть подход не привязан к одной конкретной модели.

Отдельно авторы проверили, что именно дает прирост точности. Оказалось, что просто находить правильные файлы — не главное: даже когда система правильно выбирала файлы, но символы внутри них ранжировались по формальному порядку (а не по смыслу бага), точность падала с 67,2% до 42,3%. Значит, основной выигрыш CuraLoc — именно в осмысленном выборе того, какие связи кода проверять, а не в более широком охвате файлов.

Что это значит на практике

Для команд, которые занимаются автоматическим ремонтом кода или строят ИИ-агентов для разработки, CuraLoc демонстрирует рабочую альтернативу дорогим пошаговым агентам: можно заменить десятки итеративных запросов одним продуманным планом осмотра и получить точность не хуже, а то и выше — при кратно меньшем расходе токенов. Это особенно важно для компаний, которые хотят встроить автопоиск багов в CI/CD-пайплайны, где цена и скорость каждого запроса критичны.

Вопросы и ответы по материалу

Что известно по теме: почему старые подходы были дорогими?

Большинство систем локализации багов работают по принципу агента: модель смотрит на код, решает, куда «пойти» дальше — в вызывающую функцию, в родительский класс, в соседний метод — и так постепенно сужает круг подозреваемых. Это гибко, но каждый шаг — отдельный запрос к модели, а значит, десятки обращений и огромный расход токенов на одну задачу. CuraLoc проверяет другую идею: а что если спланировать весь маршрут осмотра кода заранее, одним решением, вместо того чтобы принимать его заново на каждом шаге?

Что известно по теме: как работает CuraLoc?

Система действует в три этапа, с каждым разом углубляясь в код: Выбор файлов. Модель смотрит на структуру репозитория и по трём разным «углам зрения» — кто владеет логикой, кто её выполняет, кто её проверяет — предлагает список файлов-кандидатов, не более 15. Выбор символов и действий. Из отобранных файлов модель получает не сам код, а компактные описания функций и классов: сигнатуру, роль в структуре, краткое резюме поведения (из документации или от вспомогательной модели меньшего размера). На основе этого модель одним решением выбирает, с каких функций начать осмотр, каку

Что известно по теме: что показали тесты?

Метод проверяли на двух наборах реальных багов из открытых проектов — SWE-bench Lite (274 задачи) и SWE-bench Verified (454 задачи), сравнивая с тремя существующими методами: LocAgent, RepoSearcher и Agentless, с моделью GPT-5.2. На SWE-bench Verified точность попадания в точное место правки (метрика Func@1) выросла с 53,8% у LocAgent до 59,3% у CuraLoc — при этом токенов потратили на 90,3% меньше. CuraLoc также обошла RepoSearcher (56,2%) и Agentless (39,6%) по той же метрике. На SWE-bench Lite CuraLoc добилась 83,8% точности в топ-5 предсказаний, что на 15% относительно л

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ ИИ-агенты на практике · Академия & Nomad

От чтения про ИИ-агентов — к запуску своего агента за вечер

Пошаговая сборка автономных агентов и MCP-связок в Hamidun Academy (academy.hamidun.com) (72 часа бесплатно) или мгновенный запуск готовых мультишаговых агентов в облаке Nomad.

Попробовать Академию (72ч бесплатно) →Запустить Nomad Agent
Что вы думаете?
Загружаем комментарии…