«Яндекс» представил открытое решение на базе LLM для ускорения миграции iOS-кода на Swift
Разработчики «Яндекса» выложили в открытый доступ первое решение на базе LLM для автоматизации миграции iOS‑проектов с Objective‑C на Swift — современный язык Apple. Оно решает проблему длительной миграции в крупных проектах, накопивших сотни тысяч строк устаревшего кода, ускоряя процесс в 2,5 раза и позволяя разработчикам переключиться с монотонной рутины на проверку качества, рассказали Хабру в пресс‑службе компании.
Решение разработали при миграции кодовой базы «Яндекс Браузера». Команда столкнулась с проблемой переписывания кода: огромные затраты времени и ресурсов, неизбежные при ручной работе ошибки, а также необходимость параллельно развивать проект.
Внедрение нового подхода на базе LLM не только ускорило миграцию, но и позволило сместить фокус разработчиков с монотонного переписывания кода на валидацию корректности миграции и выполнение сложного рефакторинга. За два месяца команда интегрировала 106 pull requests, переписав около 97,5 тыс. строк устаревшего кода и более 2 тыс. файлов — объём, который при ручной работе занял бы больше года.
В отличие от существующих инструментов‑конвертеров, не учитывающих контекст проекта, разработанная система использует LLM, способную понимать не только грамматику языка, но и архитектуру конкретного проекта. В основе подхода — система из четырёх специализированных промптов, каждый из которых отвечает за определённый этап. Первый определяет оптимальный порядок миграции файлов, переписывает код и проверяет результат через компиляцию и тесты. Второй адаптирует полученный код под лучшие практики Swift. Третий проводит автоматическую проверку по чек‑листу: заголовки файлов, корректность замены типов, соответствие стандартам. Четвёртый очищает код от устаревших аннотаций, когда
Читать на habr.com