Машины выходят вперёд, оставляя ручное программирование далеко позади.
Google активно использует свои собственные инструменты на базе искусственного интеллекта для модернизации внутренних кодовых баз. В недавней научной статье специалисты компании описали, как крупные языковые модели (LLM) помогли в сотни раз сократить время миграции кода на крупных проектах. Эти процессы включали сложные задачи, такие как переход на 64-битные идентификаторы в системе Google Ads, обновление библиотеки JUnit3 до JUnit4 и замену библиотеки Joda на Java Time.
Задача по переходу на 64-битные идентификаторы охватила более 500 миллионов строк кода в десятках тысяч файлов. Ручная реализация потребовала бы сотни человеко-лет работы и сложной координации между командами. Однако благодаря LLM-системам Google смог значительно сократить объем ручного труда. Инструменты искусственного интеллекта автоматически вносили изменения, которые затем проверялись инженерами и проходили ревью. Итоговые данные показали, что 80% модификаций были выполнены ИИ, а 87% из них приняты без изменений.
Для перехода с JUnit3 на JUnit4 потребовалось всего три месяца. За это время было обновлено 5 359 файлов и изменено около 150 тысяч строк кода. Аналогичным образом, переход с Joda на Java Time позволил сэкономить 89% времени, которое потребовалось бы для ручного выполнения задачи.
Авторы подчёркивают, что LLM не только ускоряют модернизацию, но и дополняют традиционные методы миграции, такие как использование синтаксических деревьев и поисковых скриптов. Тем не менее, из-за высокой стоимости обработки больших объёмов данных, ИИ рекомендуется использовать совместно с другими инструментами.
Google отмечает, что использование ИИ для таких задач уже изменило подход к разработке: объём кода, созданного с помощью ИИ, теперь превышает объём вручную написанного кода. Это свидетельствует о значительных возможностях технологий для автоматизации сложных задач в крупных компаниях.
В Матрице безопасности выбор очевиден