Разработчик и популярный YouTube-автор Тео Браун заявил, что получил почти полностью совместимый TypeScript на Rust, поручив перенос ИИ-агентам. На работу ушло около $24 тыс. в эквиваленте API-токенов, а итоговая сборка, по словам автора, работает вдвое быстрее официальной реализации TypeScript 7 на Go. Для команд, которые считают стоимость агентных сред и смотрят в сторону WebAssembly, это не просто эффектный эксперимент с большим счётом за токены.
Проект TS_Rust переносит на Rust не только компилятор, но и проверку типов и language server — часть экосистемы, отвечающую за диагностику и автодополнение в редакторах. Как сообщает The Register, реализация проходит набор тестов совместимости TypeScript почти со стопроцентным результатом. Браун утверждает, что она также в 12,5 раза быстрее предыдущей версии TypeScript 6, однако эти показатели пока остаются заявлением автора, а не независимым бенчмарком.
Изначально задача задумывалась как намеренно чрезмерный эксперимент: Браун хотел потратить оставшиеся токены на работу, которую модели объективно не должны были довести до конца. Первая попытка с OpenAI GPT-5.6 Sol и GPT-6 Astra съела эквивалент более $400 тыс. API-токенов и остановилась примерно на 84% совместимости. После выхода Claude Opus 5.5 в прошлом месяце разработчик вернулся к проекту. Новый запуск, выполненный через подписки Claude, обошёлся примерно в $24 тыс. в пересчёте на API и дал рабочий результат.
Самая показательная деталь — стратегия агента. Вместо буквального перевода исходного TypeScript с JavaScript на Rust модель взяла за основу уже существующий порт Microsoft: команда TypeScript ранее переписала кодовую базу на Go. Браун узнал об этом лишь после замечания со стороны. Агент фактически повторил инженерный маршрут Microsoft, только на следующем участке — Go → Rust. Заодно он перенёс и несколько ошибок из Go-версии, что звучит почти как доказательство верности исходнику, но для production-проекта, конечно, выглядит скорее как повод усилить ревью.
Этот нюанс важнее красивой истории о том, как «ИИ сам написал компилятор». Модель не изобрела архитектуру с нуля: она использовала зрелую кодовую базу и многолетнюю работу инженеров Microsoft как промежуточное представление задачи. Для разработки это вполне практичный сценарий. LLM уже способны ускорять миграции между языками и платформами, особенно когда есть тесты, эталонное поведение и понятный исходный код. Но они не отменяют обязанность проверить лицензирование, различия рантаймов, производительность на реальных нагрузках и каждый неочевидный компромисс, который был сделан в исходной реализации.
У TS_Rust есть и более приземлённая цель, чем соревнование компиляторов. Браун предполагает, что TypeScript на Rust может помочь запускать агентные рабочие окружения легче и дешевле. Сейчас автономным агентам нередко выделяют контейнеры Docker или виртуальные машины: так проще изолировать файловую систему, процессы и зависимости. Но инфраструктура обходится недёшево, особенно если модель генерирует код быстро, а окружение приходится держать для тысяч параллельных задач.
В его схеме TypeScript-код мог бы работать в движке V8 вместе с компактным окружением вроде in-memory shell. Сам JavaScript после удаления аннотаций типов V8 исполняет без проблем. Трудность возникает на этапе компиляции: официальный TypeScript на Go требует упаковать в WebAssembly сборщик мусора Go, а это усложняет и утяжеляет рантайм. Rust не нуждается в собственном сборщике мусора, поэтому для WebAssembly он потенциально удобнее. Браун указывает на опыт Cloudflare, где множество пользовательских окружений изолируют на базе V8, экономя сотни мегабайт на каждое окружение по сравнению с более тяжёлыми подходами.
Пока это архитектурная гипотеза, а не готовая замена контейнерам. Песочница V8 не автоматически решает вопросы сетевой изоляции, доступа к файловой системе, нативных зависимостей и воспроизводимости сборок. Кроме того, скорость компилятора — лишь один из параметров: разработчикам нужны предсказуемые диагностики, совместимость с инструментами и понятный процесс обновления вслед за официальным TypeScript. Именно здесь эксперименту предстоит самый скучный и самый дорогой этап — эксплуатация.
История укладывается в более широкий тренд: Microsoft уже переписывала рантайм Copilot на Rust, а Google применяет агентов для переноса крупных C/C++-проектов, включая RE2, libgav1 и части ядра Zircon из Fuchsia. Главный вопрос теперь не в том, сможет ли ИИ создать впечатляющий порт за десятки тысяч долларов. Вопрос в том, появится ли у таких переносов владельцы, тестовая дисциплина и экономика сопровождения — без них даже быстрый TypeScript на Rust останется дорогим демо.