Масштабная миграция кода с помощью ИИ: опыт Anthropic и перенос Bun на Rust

Как ИИ-агенты меняют экономику переноса кодовых баз на новые языки программирования. Опыт Anthropic по миграции миллиона строк кода за две недели.

Обновлено:
2 мин чтения
Масштабная миграция кода с помощью ИИ: опыт Anthropic и перенос Bun на Rust

До недавнего времени перенос рабочей кодовой базы на новый язык программирования был задачей, требующей нескольких лет работы и миллионов долларов. Компания Anthropic опубликовала руководство, демонстрирующее, как использование автономных ИИ-агентов меняет эту парадигму.

В течение последнего месяца разработчики Anthropic успешно перенесли 10 пакетов кода, состоящих из сотен тысяч строк, используя модели Claude Fable 5 и Claude Opus 4.8.

Самый масштабный пример — миграция среды выполнения Bun. Сооснователь проекта Джарред Самнер перенес миллион строк кода с языка Zig на Rust менее чем за две недели. Перед интеграцией нового кода 100% существующих тестов прошли проверку. Стоимость затрат на вычислительные мощности (API) составила около 165 тысяч долларов.

Изображение из источника

Изображение из источника

Другой пример — Майк Кригер, соруководитель Anthropic Labs, за одни выходные перевел 165 тысяч строк кода внутренних инструментов с Python на TypeScript. Это позволило сократить время сборки проекта с 30 минут до двух секунд.

Ключевой вывод из этих проектов звучит контринтуитивно: инженер не должен исправлять сгенерированный код. Инженер должен исправлять процесс (цикл), который этот код создает.

Для успешной автоматизированной миграции требуется строгая система оценки. Большие языковые модели (LLM) отлично справляются с параллельной работой, но им нужен надежный «судья» — исчерпывающий набор автоматизированных тестов. ИИ может автономно подбирать правильное решение сутками, если у него есть объективный критерий проверки.

Изображение из источника

Изображение из источника

Процесс миграции состоит из нескольких подготовительных этапов. Сначала создается книга правил, определяющая, как переводить типы данных и специфические конструкции между языками. Затем строится карта зависимостей для определения правильного порядка работы.

После этого агенты приступают к параллельному переводу файлов. Если компилятор или тест выдает ошибку, она автоматически становится новой задачей в очереди для агента. Модель учится на своих ошибках: решение краевого случая добавляется в правила для последующих итераций.

Для индустрии разработки программного обеспечения это означает изменение экономики технического долга. Ранее компании избегали смены языка из-за высоких рисков и огромных затрат. Теперь худший сценарий — это просто удалить экспериментальную ветку в репозитории и попробовать снова.

В перспективе мы увидим рост числа проектов по глубокому рефакторингу и смене технологического стека. То, что раньше откладывалось годами из-за нехватки ресурсов, инструменты вроде Claude Code превращают в понятные задачи с предсказуемым бюджетом.

Изображение из источника

Изображение из источника

Изображение из источника

Изображение из источника

Изображение из источника

Изображение из источника

Изображение из источника

Изображение из источника

TL;DR

Главное

ИИ-модели радикально снижают стоимость и время переноса больших кодовых баз на другие языки программирования, делая масштабный рефакторинг экономически целесообразным.

Ключевые факты

  • /Перенос 1 млн строк кода Bun с Zig на Rust занял менее 2 недель.
  • /Затраты на токены API для проекта такого масштаба составили около 165 000 долларов.
  • /Перевод 165 000 строк с Python на TypeScript занял одни выходные.

Инсайт

При автоматизированной миграции главная задача инженера — не проверять код за нейросетью, а создать безупречную систему тестов и правил, опираясь на которые ИИ сможет сам исправлять свои ошибки.

Источник:Claude

Читайте также