Архив ИТ и интернет-сервисы · Поиск и интернет-сервисы

Яндекс Браузер: LLM переписывает код на Swift, ускорение примерно в 2,5 раза

По данным Яндекса, система из четырёх LLM-промптов и скриптов для миграции Яндекс Браузера для iOS с Objective-C на Swift ускорила переписывание примерно в 2,5 раза с учётом человеко-часов. В master влито 106 pull requests, из проекта удалено 97 500 строк старого кода.

Стадия
Промышленная эксплуатация
География
Россия
Год
2026
Источники
1
CB-001720
проверено 23.10.2026

/01 · ключевые результаты

  • результат

    было 5,5 около 2,5 раза

    ускорение переписывания кода с учётом человеко-часов

    Яндекс, блог компании, 05.05.2026

    раза — наивный подсчёт без учёта человеко-часов

    за время проекта, на май 2026 года · iOS-версия Яндекс Браузера

    данные компании

  • результат

    97 500 строк

    удалено старого кода Objective-C

    Яндекс, блог компании, 05.05.2026

    за время проекта, на май 2026 года · iOS-версия Яндекс Браузера

    данные компании

  • масштаб

    106 PR

    pull requests влито в master

    Яндекс, блог компании, 05.05.2026

    за время проекта, на май 2026 года · iOS-версия Яндекс Браузера

    данные компании

оценка strategai

Оценку не приводим: источник не называет денежный эффект, затраты человеко-часов и их стоимость.

По данным Яндекса, система из четырёх LLM-промптов и скриптов для миграции Яндекс Браузера для iOS с Objective-C на Swift ускорила переписывание примерно в 2,5 раза с учётом человеко-часов. В master влито 106 pull requests, из проекта удалено 97 500 строк старого кода.

Стадия
Промышленная эксплуатация
География
Россия
Год
2026
Источники
1
CB-001720
проверено 23.10.2026

/02 · паспорт кейса

/ паспорт кейса · CB-001720Яндекс

Бизнес

Компания
Яндекс
Отрасль
ИТ и интернет-сервисы · Поиск и интернет-сервисы
Функция
ИТ, разработка ПО и кибербезопасность
Задача
Генерация кода и модернизация ПО

Технология

Класс AI
Генеративный ИИ: LLM, ассистенты, RAG
Тип решения
Собственная разработка
Данные
Конфигурационный файл rules.md с архитектурой, системой сборки, code style и словарём замены типов; граф зависимостей из файлов BUILD.gn; существующий код Objective-C и тесты.

Внедрение

Стадия
Промышленная эксплуатация, на 05.05.2026
География
Россия

/03 · описание кейса

Бизнес-задача

Яндекс Браузер вышел в 2013 году и был написан на Objective-C. После объединения кодовых баз Браузера и приложения Яндекс в 2020 году компания запретила писать новый код на Objective-C, но ручная миграция шла медленно: за пять лет, к второй половине 2025 года, было переписано чуть более 50% кода, а в проекте было 10 038 файлов и 541 856 строк Objective-C. Старый язык плохо сочетается со Swift Concurrency и SwiftUI, замедляет разработку, а найти разработчиков с опытом Objective-C сложнее с каждым годом. К моменту проекта оставалось переписать около 3700 файлов.

Решение

Команда iOS-разработки Яндекс Браузера построила процесс миграции на LLM. Для каждого модуля работает система из четырёх промптов: Swift-conversion переписывает код и проверяет его компиляцией и тестами, Refactoring приводит код к практикам Swift, Review проверяет результат по чек-листу, ObjC-removal удаляет лишние @objc-аннотации. Промпты генерируются из файла rules.md, в котором описаны проект, система сборки, code style и словарь замены типов. Дополнительные скрипты до компиляции правят импорты и имена классов, а анализатор строит граф зависимостей и выбирает модули с «листьев». Команда использует SourceCraft Code Assistant.

Внедрение

Модули переписывают целиком, в среднем по 2000–3000 строк. Для модулей с недостаточным тестовым покрытием LLM сначала составляет тест-план, разработчик его проверяет, затем модель пишет Swift-тесты, и они вливаются отдельным PR до самой миграции. Внутренние MCP-серверы позволяют модели получать комментарии ревьюеров и исправлять минорные замечания; финальная валидация остаётся за разработчиком. Каждый переписанный файл получает пометку об автоматическом переписывании, таких файлов уже больше 700. Подход проверили на открытом приложении Wikipedia для iOS: мигрировали один пакет и открыли PR. Промпты, скрипты и шаблон конфигурации опубликованы на GitHub и SourceCraft.

/04 · источники и проверка

Что подтверждено

  • По данным Яндекса, с учётом затраченных человеко-часов переписывание кода Яндекс Браузера для iOS ускорилось примерно в 2,5 раза; наивный подсчёт даёт ускорение в 5,5 раза.
  • В master влито 106 pull requests, удалено 97 500 строк старого кода и 2167 файлов.
  • Процесс требует участия разработчика: он проверяет план тестов и итог миграции, а рутинное переписывание делегировано LLM.

Ограничения

  • Ускорение в 2,5 раза получено аппроксимацией динамики сокращения Objective-C-кода; метод оценки человеко-часов и их объём в статье не приведены.
  • Цифры описывают объём и скорость миграции. Статья не показывает число дефектов после миграции, стоимость LLM и деньги, сэкономленные компанией.
  • Миграция не завершена: на момент публикации в проекте оставались файлы Objective-C, а 700 переписанных файлов ещё ждут дополнительной валидации и рефакторинга.
  1. [1] Яндекс

    За два месяца вместо года: как мы переписали 97 тысяч строк кода с Objective-C на Swift

    компания · 05.05.2026

    Открыть источник

Архив Сообщить о неточности

АрхИИВ /strategai · CB-001720 · Версия 1 · 23.10.2026 · /c/CB-001720/