Инженеры Google использовали большие языковые модели (ИИ) для ускорения миграции кода внутри компании, добившись впечатляющих результатов. В опубликованном исследовании описывается, как применение ИИ позволило сократить время, затрачиваемое на перенос кода между различными средами, на 89%. Миграцией кода называют процесс переписывания с одного языка программирования на другой.
Об этом сообщает издание The Register.В рамках проекта были проведены несколько сложных миграций: переход с 32-битных на 64-битные идентификаторы в кодовой базе Google Ads (более 500 миллионов строк кода), обновление библиотеки тестирования с JUnit3 на JUnit4, а также замена библиотеки Joda Time на стандартный пакет Java `java.time`.
Без использования ИИ миграция 32-битных идентификаторов потребовала бы сотен человеко-лет работы и сложной межкомандной координации. Разработанный Google инструментарий на основе ИИ позволил автоматизировать значительную часть процесса. Инженер определял требующие изменения идентификаторы, затем ИИ генерировал обновленный код, проходящий юнит-тесты. Код проверялся инженером и отправлялся на рецензирование.
Хотя 80% изменений генерировались ИИ, требовалась ручная проверка и корректировка. В случае миграции JUnit3-JUnit4, за три месяца было изменено 149 000 строк кода в 5359 файлах, при этом 87% кода, сгенерированного ИИ, не требовало изменений. Самый значительный прирост эффективности (89%) показала миграция с Joda Time на `java.time`.
Авторы исследования подчеркивают, что ИИ являются дополнением к традиционным методам миграции, таким как анализ абстрактного синтаксического дерева (AST) и поиск по шаблонам (grep). Несмотря на то, что использование ИИ может быть затратным, Google отмечает существенное сокращение времени миграции (на 50% в среднем), а также значительное увеличение доли кода, написанного с помощью ИИ.
Свежие комментарии