Jarred Sumner, создатель Bun — быстрого JavaScript runtime на Zig — переписал весь проект на Rust за 11 дней при помощи AI-агентов. Основа процесса: conformance suite из TypeScript-тестов и adversarial code review. Итог — PR с добавкой более миллиона строк кода, суммарной стоимостью около $165 000 по API-ценам. С 17 июня 2026 года Claude Code v2.1.181 работает на Rust-версии Bun. На Linux старт стал быстрее на 10%. Всё остальное пользователи не заметили — авторы называют это победой.
Контекст
Bun с самого начала ставил на производительность: Zig давал низкоуровневый контроль, который позволил выжать из runtime максимум. Но у Zig есть фундаментальная проблема при смешивании ручного управления памятью и сборщика мусора — use-after-free, double-free, забытые free в error-path. Это не баги Zig как такового: другие проекты на нём работают стабильно. Просто такая комбинация редкость, и язык не проектировался под неё. Rust закрывает эту дыру компилятором: ownership-система и RAII через Drop гарантируют правильное освобождение памяти на этапе сборки, а не в production.
Переписывать работающий, активно используемый проект с нуля — это то, о чём Джоэл Сполски предупреждал ещё в 2000 году. Правило простое: никогда не останавливай мир ради полного переписывания. До недавнего времени выбор языка для такого проекта, как Bun, был односторонним решением. Сейчас — нет. Агентные инструменты на базе современных моделей изменили уравнение.
Аналитика
Ключ к успеху — не сами AI-агенты, а архитектура процесса. TypeScript-тесты Bun, написанные независимо от реализации, стали conformance suite: миллион утверждений о том, как система должна себя вести, а не о том, как написан код. Агентный харнесс гонял их автоматически после каждой итерации порта. Высокий процент прохождения тестов стал измеримым сигналом «можно мёрджить» — не субъективная оценка кода, а объективная метрика.
«Как проверить PR с добавкой больше миллиона строк? Как набрать уверенность, чтобы ответственно мёрджить большие объёмы LLM-authored кода? Языконезависимая тест-сьюта с миллионом утверждений, adversarial code review — а когда что-то идёт не так, чинить процесс генерации кода, а не править код вручную.» — Jarred Sumner
При обнаружении ошибки исправлялся процесс генерации, а не отдельный фрагмент кода. Это масштабируемо: починить шаблон один раз — значит починить тысячи мест сразу. Суммарные расходы: 5,9 млрд uncached input токенов, 690 млн output, 72 млрд cached reads — около $165 000 по API-ценам. Для сотрудника Anthropic это бесплатно. Для внешнего разработчика — реальные деньги, но уже реальная возможность.
Это кейс, который сдвигает границу между «слишком сложно автоматизировать» и «можно поручить агентам». Масштабные рефакторинги — смена языка, архитектуры, runtime — перестают быть многолетними проектами с туманным исходом. Условие одно: тесты, описывающие поведение, а не реализацию.
Кейсы применения в бизнесе
B2B-SaaS стартап с legacy-кодом. Если у вас Python 2, старый JS без типов или монолит на устаревшем фреймворке — начните с написания поведенческих integration-тестов: что система делает, а не как реализовано. Затем запустите агента на порт одного модуля. Не весь проект — один модуль. Если тесты зелёные, мёрджите. Эффект: рефакторинг за недели вместо кварталов, предсказуемый риск.
Корпорация с критичным C++ или Java. Тест-сьюта как «эталон поведения» позволяет отделить вопрос «правильно ли работает» от «как написан код». Агент конвертирует, инженер мониторит вывод и правит инструкцию агента при ошибках. CI падает на любое регрессионное поведение — не на изменение стиля. Это управляемо.
SMB в Кыргызстане и СНГ. Устаревший код на PHP, 1С или самописных фреймворках, который дорого поддерживать. Паттерн «сначала тесты, потом агентный рефакторинг» масштабируется даже на небольшие объёмы. Порог входа снизился: не нужна команда из пяти архитекторов — нужны тесты и Claude Code.
Кейсы в личной жизни
Разработчик с pet-проектом или техдолгом. Напиши 30–50 тестов на критичные сценарии, потом попроси Claude Code сделать порт или рефакторинг. Проверяй тесты — не каждую строку кода. Если тесты зелёные — значит, поведение сохранено. Экономия: не нужно разбираться в каждой строке сгенерированного кода.
Фрилансер на аутсорсе. Conformance suite — это артефакт для заказчика: «мы гарантируем поведение, а не реализацию». Переписать быстрее с агентом — сдать раньше и взять следующий контракт. Или продать тесты как отдельный deliverable: «вот спецификация поведения вашей системы в виде тестов».
Студент или джун, изучающий новый язык. Попроси Claude Fable транспилировать знакомый код (JavaScript → Rust, Python → Go) и разбери разницу. Это объяснит ownership или систему типов плотнее, чем большинство учебников: видишь конкретный перевод своего кода, а не абстрактные примеры.
Как применить сегодня
- Выбери один модуль — не весь проект — и напиши 20–50 поведенческих тестов: что система должна делать, без привязки к реализации.
- Запусти Claude Code с задачей «портируй этот модуль на [язык], все тесты должны проходить» — посмотри, сколько пройдёт с первой попытки.
- Настрой adversarial review: отдельный prompt в изолированном контексте попросить найти ошибки в сгенерированном коде.
- При обнаружении паттерна ошибок — правь инструкцию агента (процесс), а не код вручную: одно исправление закрывает тысячи мест.
- Мониторь вывод, а не пиши код сам: основной рабочий режим при агентном рефакторинге — читать результаты и корректировать процесс.