Что произошло
С внедрением ИИ-инструментов для генерации кода в Linear столкнулись с парадоксом: чем быстрее создаётся код, тем дольше он проходит CI-проверки. Типичный pull request тратил свыше 6 минут на ожидание, а инфраструктурные затраты росли. Команда пересмотрела весь CI-конвейер, добившись устойчивого результата даже при увеличении тестовой базы.
«Агенты ускорили генерацию кода, но валидация изменений не поспевала за этим темпом» — отмечает Mufeez Amjad из Linear.
Детали
Инфраструктурные изменения:
- Переход с GitHub Actions на сторонние раннеры с быстрыми CPU дал +34% скорости
- Замена TypeScript-компилятора сократила проверки типов на 73%
- Оптимизация линтинга через статический анализ (без TypeScript) ускорила процесс на 55-68%
Работа с тестами:
- Разделение монолитных тестовых файлов и увеличение шардов с 4 до 8
- Настройка Vitest для повторного использования модулей между тестами (экономия 17% ресурсов)
- Автоматическая загрузка снимков БД вместо полных миграций (ускорение с 12 до 1-2 сек)
Системные улучшения:
- Умная загрузка только нужных частей репозитория (сокращение checkout с 94 до 20 сек)
- Пакетный запуск мелких проверок вместо отдельных джобов (экономия 87k runner-минут/мес)
Почему это важно
Для команд, использующих ИИ-разработку, CI становится «узким горлышком» — агенты могут генерировать код быстрее, чем система успевает его проверять. Опыт Linear показывает:
- Экономия времени разработчиков — минута ожидания CI при 100 PR в день = 1.5 человеко-часа простоев
- Снижение затрат — оптимизация runner-времени прямо влияет на облачные счета
- Масштабируемость — решения работают даже при добавлении 2000+ тестов еженедельно
Многие методы (шардирование, умный кэшинг, статический анализ) применимы вне зависимости от стека технологий.
Что дальше
Тренд очевиден: с ростом ИИ-ассистентов нагрузка на CI будет только увеличиваться. Ключевые направления развития:
- Динамическое шардирование — автоматический подбор количества параллельных тестов
- Предсказательное кэширование — ИИ может заранее определять, какие проверки точно понадобятся
- Интеграция с агентами — как в Linear, где ИИ обучен учитывать CI-оптимизации при генерации тестов
Главный вывод — CI больше не может быть «статичным» процессом. В эпоху ИИ-разработки он требует такой же гибкости и адаптивности, как и инструменты генерации кода.
Источники
- Оригинал: linear.app — © linear.app
