Перейти к содержимому
Медиа Про Айти
Меню
  • Зеленые технологии
  • Технологии
  • Гаджеты
  • Нейросети
  • Роботы
  • Интернет
Меню

Яндекс представил LLM-решение для автоматизации миграции iOS-кода

Опубликовано в 05.05.2026 от Редакция

Разработчики «Яндекса» выложили в открытый доступ первое решение на базе LLM для автоматизации миграции iOS‑проектов с Objective‑C на Swift — современный язык Apple. Оно решает проблему длительной миграции в крупных проектах, накопивших сотни тысяч строк устаревшего кода, ускоряя процесс в 2,5 раза и позволяя разработчикам переключиться с монотонной рутины на проверку качества, рассказали Хабру в пресс‑службе компании.

Решение разработали при миграции кодовой базы «Яндекс Браузера». Команда столкнулась с проблемой переписывания кода: огромные затраты времени и ресурсов, неизбежные при ручной работе ошибки, а также необходимость параллельно развивать проект. Внедрение нового подхода на базе LLM не только ускорило миграцию, но и позволило сместить фокус разработчиков с монотонного переписывания кода на валидацию корректности миграции и выполнение сложного рефакторинга. За два месяца команда интегрировала 106 pull requests, переписав около 97,5 тыс. строк устаревшего кода и более 2 тыс. файлов — объём, который при ручной работе занял бы больше года.

В отличие от существующих инструментов‑конвертеров, не учитывающих контекст проекта, разработанная система использует LLM, способную понимать не только грамматику языка, но и архитектуру конкретного проекта. В основе подхода — система из четырёх специализированных промптов, каждый из которых отвечает за определённый этап. Первый определяет оптимальный порядок миграции файлов, переписывает код и проверяет результат через компиляцию и тесты. Второй адаптирует полученный код под лучшие практики Swift. Третий проводит автоматическую проверку по чек‑листу: заголовки файлов, корректность замены типов, соответствие стандартам. Четвёртый очищает код от устаревших аннотаций, когда необходимость в них отпадает.

Для проверки универсальности подхода команда применила его к стороннему проекту — приложению Wikipedia для iOS. Был успешно мигрирован один из пакетов, отвечающий за форматирование wiki‑разметки, и открыт pull request в репозиторий проекта. Эксперимент показал, что подход не привязан к специфике монорепозитория «Яндекса». Чтобы внедрить подобное решение в своём проекте, достаточно заполнить конфигурационный шаблон, который также выложили в открытый доступ. В него нужно внести архитектуру проекта, систему сборки, стандарты кода, структуру тестов, а также словарь типов и паттернов для замены. Далее важно определить правильный порядок миграции: начинать с компонентов, которые не зависят от старого кода — так называемых «листьев» графа зависимостей. Это позволит писать чистый Swift без промежуточных слоёв совместимости.

Для сохранения качества кода в процессе миграции можно использовать дополнительный промпт для генерации интеграционных тестов. Готовые промпты автоматически подгружаются в контекст диалога в большинстве современных агентских IDE, поэтому решение совместимо с популярными инструментами для работы с кодом. Все промпты, скрипты и шаблоны доступны на GitHub и SoucreCraft, подробнее об ИИ‑решении можно узнать в статье. «Яндекс» представил открытое решение на базе LLM для автоматизации миграции iOS-проектов с Objective-C на Swift. Инструмент ускоряет процесс в 2,5 раза и позволяет разработчикам переключиться с монотонного переписывания кода на проверку качества. Подход будет полезен любым iOS‑проектам, столкнувшимся с задачей миграции больших объемов устаревшего кода.

Навигация по записям

← BenQ представляет игровой монитор Mobiuz EX271QZ с частотой 500 Гц
Создатель Notepad требует изменить название и логотип macOS порта →

Популярное за неделю

Учредитель ООО "Клуб регионов", ИНН 6685155934

Генеральный директор: Чернокоз Ольга Валерьевна

info@gosrf.ru

+7 (495) 920-51-49

Политика в отношении обработки персональных данных

Согласие на обработку персональных данных

© 2026 Медиа Про Айти
Мы используем куки для наилучшего представления нашего сайта. Если Вы продолжите использовать сайт, мы будем считать что Вас это устраивает.