Масштабная миграция кода с помощью ИИ: опыт Anthropic и перенос Bun на Rust
Как ИИ-агенты меняют экономику переноса кодовых баз на новые языки программирования. Опыт Anthropic по миграции миллиона строк кода за две недели.
Как ИИ-агенты меняют экономику переноса кодовых баз на новые языки программирования. Опыт Anthropic по миграции миллиона строк кода за две недели.
2 мин

До недавнего времени перенос рабочей кодовой базы на новый язык программирования был задачей, требующей нескольких лет работы и миллионов долларов. Компания 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 превращают в понятные задачи с предсказуемым бюджетом.
ИИ-модели радикально снижают стоимость и время переноса больших кодовых баз на другие языки программирования, делая масштабный рефакторинг экономически целесообразным.
При автоматизированной миграции главная задача инженера — не проверять код за нейросетью, а создать безупречную систему тестов и правил, опираясь на которые ИИ сможет сам исправлять свои ошибки.