Яндекс представил открытое ИИ-решение для автоматического перевода iOS-кода на Swift

Яндекс опубликовал в открытом доступе первое специализированное решение на базе LLM для автоматизации миграции iOS-проектов. Инструмент позволяет быстро и с минимальным участием разработчиков переводить старый код с Objective‑C на современный Swift.

Проблема знакома тысячам компаний: приложения, созданные до 2018 года, содержат сотни тысяч строк устаревшего кода. Ручной перевод занимает годы и тормозит развитие продукта. Команда Яндекс Браузера столкнулась с этим напрямую: за пять лет им удалось сократить технический долг лишь наполовину.

Новый подход ускорил миграцию в 2,5 раза. За два месяца разработчики интегрировали 106 pull requests, переписав около 97,5 тысяч строк кода и более двух тысяч файлов. Объtм работы, который раньше занял бы больше года, был выполнен с помощью ИИ.

В отличие от простых конвертеров, не понимающих контекст проекта, система Яндекса использует LLM, которая учитывает архитектуру конкретного приложения. В основе — четыре специализированных промпта:

  1. Определяет порядок миграции файлов, переписывает код и проверяет результат через компиляцию.

  2. Адаптирует код под лучшие практики Swift.

  3. Проверяет по чек-листу (заголовки, типы, стандарты).

  4. Удаляет устаревшие аннотации.

Чтобы доказать универсальность, команда применила технологию к стороннему открытому проекту — приложению Wikipedia для iOS. Один из пакетов (форматирование wiki-разметки) был успешно мигрирован, а pull request направлен в репозиторий.

Любой разработчик может повторить результат: достаточно скачать с GitHub или SourceCraft конфигурационный шаблон, заполнить его под свой проект (архитектура, сборка, стандарты кода, словарь типов) и определить правильный порядок миграции

Для удобства ИИ-решение совместимо со всеми популярными агентскими IDE: промпты автоматически подгружаются в контекст диалога.

Напомним, ранее Яндекс подвел итоги акселератора Yandex AI Startup Lab.

Оригинал новости на SEOnews

Источник: пресс-релиз Яндекса

(Голосов: 3, Рейтинг: 5)