Turborepo ускорили на 96%: как AI-агенты и песочницы Vercel изменили сборку

Инструмент для управления монорепозиториями Turborepo получил кардинальное ускорение: в некоторых сценариях время построения графа задач сократилось на 96%. Этот прорыв стал возможен благодаря нестандартному подходу — сочетанию AI-агентов, изолированных сред Vercel Sandboxes и ручного инжиниринга. И

Turborepo ускорили на 96%: как AI-агенты и песочницы Vercel изменили сборку

Инструмент для управления монорепозиториями Turborepo получил кардинальное ускорение: в некоторых сценариях время построения графа задач сократилось на 96%. Этот прорыв стал возможен благодаря нестандартному подходу — сочетанию AI-агентов, изолированных сред Vercel Sandboxes и ручного инжиниринга. Инженер Vercel Энтони Ши (Anthony Shew) описал процесс в блоге компании, отметив, что в монорепозитории Vercel с более чем 1000 пакетов время построения графа задач на M4 Pro Max составляло около 10 секунд. Это было неприемлемо для команды, и Ши решил радикально улучшить производительность.

Восемь дней экспериментов с AI и песочницами

Энтони Ши запустил восемь фоновых AI-агентов перед сном, каждый из которых был нацелен на разные части Rust-кода Turborepo, которые, по его подозрениям, были узкими местами. Агенты работали без детального контекста — Ши хотел увидеть, на что они способны в условиях неопределённости. К утру три из восьми агентов выдали результаты, которые можно было превратить в реальные улучшения. Однако, по словам Ши, просмотр всех восьми сессий показал, что современные AI-агенты без правильной инженерии контекста пока неспособны к устойчивой работе. Некоторые из них генерировали неэффективные или даже ошибочные изменения.

Как AI-агенты помогли ускорить Turborepo

Ключевым моментом стало использование Vercel Sandboxes — изолированных сред для запуска кода. Ши настроил агентов так, чтобы они могли тестировать свои изменения в песочницах, что позволило быстро проверять гипотезы без риска для основной кодовой базы. Агенты анализировали структуру монорепозитория, скрипты и зависимости, чтобы оптимизировать построение графа задач. В результате Turborepo стал вычислять граф задач на 81–91% быстрее в репозиториях Vercel, а на открытых проектах ускорение достигало 96%. Время до первого запуска задачи (Time to First Task) сократилось в 11 раз — с 10 секунд до менее чем секунды.

Технические детали оптимизации

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

Кого затронет ускорение Turborepo

Ускорение в первую очередь важно для разработчиков, работающих с крупными монорепозиториями. Команды, использующие Turborepo в CI/CD, увидят сокращение времени сборки, что ускорит развёртывание. Особенно это критично для проектов с сотнями и тысячами пакетов, где каждая секунда ожидания умножается на количество запусков. Для бизнеса это означает более быструю обратную связь при разработке и снижение затрат на инфраструктуру CI. Разработчики Vercel уже используют обновлённую версию в своём монорепозитории, и, по их словам, время сборки теперь ощущается как мгновенное.

Какие ещё улучшения производительности ждать от Turborepo

Энтони Ши планирует продолжить интеграцию AI-агентов в процесс разработки Turborepo. Он отмечает, что комбинация AI и песочниц позволяет быстро проверять гипотезы и находить неочевидные оптимизации. В будущем Vercel может внедрить подобные методы в другие свои инструменты. Пользователи могут ожидать, что эти улучшения войдут в стабильный релиз Turborepo в ближайшие недели. Пока изменения доступны в canary-версии.

Итог

Ускорение Turborepo на 96% — не просто цифра, а демонстрация того, как AI-агенты могут стать частью инженерного процесса. Сочетание автоматизации, изолированного тестирования и человеческого контроля позволило достичь результата, который был бы невозможен при использовании только одного подхода. Для разработчиков это означает, что даже зрелые инструменты можно значительно улучшить, если подойти к задаче нестандартно.