Разработка критерия качества для применения в задаче генерации русскоязычных комментариев к программному коду с использованием больших языковых моделейМоя магистерская работа посвящена решению проблемы автоматической генерации качественных русскоязычных структурированных комментариев (docstrings) к программному коду. Основная сложность в этой задаче заключается в отсутствии специализированных данных и адекватных методов оценки для русского языка.
В своей работе я, во-первых, создала первый русскоязычный бенчмарк MERA. Code и обучающий набор данных со структурированными комментариями (описывающими параметры, возвращаемые значения, исключения). Это критически важно, так как существующие англоязычные наборы непригодны для русского языка: прямой перевод искажает технические термины и смысл, а сами комментарии часто неструктурированы. Во-вторых, я разработала новый критерий качества комментариев к коду, который не требует эталонного комментария для сравнения (reference-free). Этот критерий оценивает комментарий по нескольким ключевым аспектам (релевантность, полнота, информативность, длина текстового описания) одновременно, исправляя недостатки существующих метрик.
Мое решение предлагает несколько ключевых преимуществ по сравнению с существующими подходами. Я создала компактную и эффективную модель, способную работать локально, например, на одном GPU уровня A100. Это обеспечивает:
- значительно меньшую стоимость развертывания и использования по сравнению с облачными проприетарными решениями типа GitHub Copilot (который требует подписки и передачи кода в облако),
- повышенную безопасность: код не покидает инфраструктуру разработчика, что критично для проектов с высокими требованиями к безопасности данных (госсектор, финансы),
- быстроту инференса, так как локальное развертывание обеспечивает быструю отправку ответа моделью.
Разработанный критерий качества используется для эффективной фильтрации обучающих данных. Удаление некачественных или противоречивых комментариев ведет к обучению более точных моделей, генерирующих лучшие комментарии. На отфильтрованных данных моя компактная модель превосходит по качеству генерации GitHub Copilot для русскоязычных docstrings. Критерий качества интерпретируем (оценивает отдельные аспекты) и может быть внедрен непосредственно в IDE. Это дает разработчикам мгновенную обратную связь о качестве существующих комментариев, указывая конкретные слабые места (например, «не описаны параметры», «неясное объяснение логики»), что позволяет целенаправленно улучшать документацию кодовой базы.
Результаты моей работы имеют широкий спектр применения и значительный социальный потенциал для:
- русскоязычных команд разработчиков. Основное применение — создание практичных помощников-программистов, интегрированных в IDE (аналогично Copilot, но для русского языка), которые генерируют качественные docstrings на родном языке. Это снизит когнитивную нагрузку, ускорит онбординг новых разработчиков, улучшит понимание и поддержку кода, особенно в проектах с российской спецификой (законодательство, госуслуги, локализованные продукты).
- образования. Помощь студентам в изучении программирования и лучших практик документирования на русском языке.
- повышения качества ПО. Улучшение документации ведет к более надежному, понятному и легко поддерживаемому программному обеспечению, которое создают русскоязычные команды.
- безопасности и суверенитета. Локальное развертывание решений обеспечивает независимость от зарубежных сервисов и защищает интеллектуальную собственность и исходный код.
В июле этого года мы открыто выпустили набор данных и бенчмарк MERA. Code как часть
проекта MERA. Надеемся, что это внесет значительный вклад в сообщество.
Также по результатам работы планируется несколько выступлений на конференциях. Научная статья StRuCom: A Novel Dataset of Structured Code Comments принята на Student Research Workshop конференции
ACL 2025 (ранг A*), которая в конце июля прошла в Вене, Австрия. Еще одну научную статью по MERA. Code мы подаем на конференцию EMNLP 2025 (ранг A*), которая пройдет в ноябре в Сучжоу, Китай. Также работа уже была представлена на индустриальной конференции Open Data Science DataFest 2025 в рамках трека AI4SE.