Обслуживание программного обеспечения
Обслуживание программного обеспечения является неотъемлемой частью жизненного цикла разработки, где разработчики регулярно возвращаются к существующим кодовым базам для исправления ошибок, реализации новых функций и оптимизации производительности. Важной задачей на этом этапе является локализация кода, определяющая конкретные участки кодовой базы, которые необходимо изменить.
Проблемы локализации кода
Одна из самых устойчивых проблем в обслуживании программного обеспечения заключается в точном определении необходимых изменений в кодовой базе на основе проблем, сообщаемых пользователями, или запросов на функции. Часто описания проблем содержат симптомы, но не указывают на истинные причины в коде. Это несоответствие затрудняет связь между описаниями и конкретными элементами кода, требующими обновления. Традиционные методы также сталкиваются с трудностями при работе со сложными зависимостями кода.
Новые подходы к локализации кода
Команда исследователей из нескольких университетов разработала LocAgent — фреймворк для локализации кода на основе графов. Вместо того чтобы полагаться на лексическое соответствие или статические эмбеддинги, LocAgent преобразует кодовые базы в направленные гетерогенные графы. Эта структура позволяет агенту рассуждать на нескольких уровнях абстракции кода.
Преимущества LocAgent
LocAgent индексирует данные за считанные секунды и поддерживает использование в реальном времени, что делает его практичным для разработчиков и организаций. Модели, дообученные на успешных локализационных траекториях, показали отличные результаты на стандартных тестах, достигая высокой точности на различных наборах данных.
Ключевые выводы
- LocAgent преобразует кодовые базы в гетерогенные графы для многослойного рассуждения о коде.
- Достигнута точность до 92,7% на уровне файлов с использованием модели Qwen2.5-32B.
- Снижение затрат на локализацию кода примерно на 86% по сравнению с проприетарными моделями.
- Введение набора данных Loc-Bench с 660 примерами различных задач.
- Модели показали сопоставимые результаты с Claude-3.5.
- Инструменты, такие как TraverseGraph и SearchEntity, оказались критически важными.
- Улучшение показателей решения проблем на GitHub.
- Предложение масштабируемого, экономически эффективного и эффективного решения для локализации кода.
Заключение
LocAgent представляет собой мощный инструмент для организаций, стремящихся оптимизировать свои процессы обслуживания программного обеспечения. Если вам нужна помощь в управлении AI в бизнесе, свяжитесь с нами по адресу hello@itinai.ru.