Ускорение генерации кода с помощью автономных агентов обнажило суровую экономическую реальность в разработке программного обеспечения: писать код теперь можно бесплатно, но проверять его — чудовищно дорого. В то время как ИИ-инструменты и разработчики штампуют пулл-реквесты с бешеной скоростью, среды непрерывной интеграции захлебываются от объемов. Результатом стал классический инфраструктурный затор, который угрожает поглотить весь прирост производительности, обещанный революцией искусственного интеллекта.
Linear столкнулась с этой стеной лицом к лицу, когда наплыв автоматизированного кода довел их тестовую инфраструктуру до предельных возможностей, вынудив срочно перестраивать системы проверки. Согласно инженерному анализу, опубликованному Муфезом Амджадом (Mufeez Amjad) из компании Linear 21 сентября 2026 года, команда осознала, что стандартные облачные среды просто не успевают за скоростью работы машин.
Аппаратное обеспечение и смена инструментов
Чтобы устранить трение в пайплайне, Linear перенесла рабочие нагрузки со стандартных раннеров GitHub Actions на стороннюю инфраструктуру, настроенную на более быстрые процессоры, высокопроизводительные накопители и агрессивное кэширование. Однако одних аппаратных обновлений оказалось недостаточно для исправления раздутых цепочек инструментов.
"Переход на tsgo, нативный компилятор TypeScript, сократил медианное время еженедельных проверок tsc на 73%"
Модернизация инструментов принесла немедленный результат на уровне языка. Внедрение tsgo сократило медианное время прогона проверки типов настолько радикально, что его удалось полностью убрать из критического пути, как подробно описал Амджад.
Рефакторинг линтинга и выполнение проверок
Команды разработчиков регулярно саботируют статический анализ, привязывая проверки линтером к целым графам типов. Linear решила эту проблему, переписав пользовательские правила линтинга так, чтобы они опирались исключительно на статический анализ дерева абстрактного синтаксиса, что позволило ESLint работать без тяжелого разрешения типов TypeScript.
Это структурное исправление сократило время линтинга API на 68%, а линтинга всего репозитория — на 55%, заметно снизив потребление памяти во время запусков. Затем усилия по оптимизации были направлены на механизмы шлюзов, предназначенные для разблокировки последующих этапов выполнения. Linear ограничила глубину получения (fetch depth), сократив время работы самого медленного шлюза с 94 до 20 секунд, в то время как медианная продолжительность заданий по обнаружению изменений упала с 26 до 8 секунд. Замена стандартных действий проверки (checkout) на собственное композитное действие с экспоненциальной задержкой устранила периодические сетевые задержки, а перенос записи маркеров кэша сократил путь слияния для каждого пулл-реквеста API и элемента очереди слияния на 42 секунды.
Благодаря этим инфраструктурным вмешательствам Linear сократила время работы раннера на один тест примерно вдвое и снизила среднее время ожидания с более чем 6 минут до чуть более 5. Тем не менее, более широкая системная ирония остается вопиющей: автономные агенты могут за секунды генерировать бесконечные потоки готового к продакшену кода, в то время как ведущие инженеры сжигают ценные ресурсы на оптимизацию чекаутов git и флагов компилятора только для того, чтобы их CI-пайплайны не рухнули под собственной тяжестью.