Insinyur linier Mufeez Amjad wis nerbitake akun rinci babagan carane perusahaan ngolah pipa integrasi sing terus-terusan sawise agen coding AI ngowahi CI dadi bottleneck sing paling awon - ngethok wektu ngenteni panjaluk tarik saka luwih saka enem menit nganti mung luwih saka limang nalika suite tes meh tikel kaping papat wiwit wiwitan taun.
Kiriman kasebut, sing diterbitake ing blog teknik Linear tanggal 21 September, diwiwiti, kaya sing asring ditindakake, kanthi tiket sing jelas saka ndhuwur. Sadurungé taun iki, Amjad mbukak Linear kanggo nemokake yen Tuomas, CTO perusahaan, wis menehi masalah kanthi judhul "Biaya CI dhuwur" - lan njaluk dheweke nggawe CI luwih cepet nalika dheweke ana. Kanggo konteks liyane babagan crita iki, deleng [liputan industri AI] (https://aibuzzwire.news).
Nalika Agen ngluwihi Validasi
Masalah iku struktural, ora insidental. "Agen wis nggawe eksponensial luwih cepet kanggo ngirim kode," Amjad wrote, "nanging validasi owah-owahan kasebut durung tetep ing tingkat sing padha." Saben panyuwunan narik isih kudu ngliwati CI, supaya pangembangan akselerasi, CI dadi titik keselak - nyurung biaya infrastruktur lan nggawe pangembang lan agen ngenteni umpan balik luwih suwe.
Linear dioptimalake kanggo rong metrik: suwene PR ngenteni ing CI, lan pira wektu pelari sing dikonsumsi. Asil sawise sasi karya: senadyan Suite test meh quadrupling wiwit Januari, narik request wektu ngenteni ambruk saka luwih saka enem menit kanggo mung liwat limang, lan wektu runner saben test iki Cut kira-kira ing setengah.
Pakaryan kasebut umume dadi patang kategori: infrastruktur lan perkakas sing ditingkatake, ngoptimalake proyek sing bisa ditindakake kanggo karya liyane, nyuda persiyapan bola-bali, lan nggawe eksekusi tes luwih efisien. Basis kode Linear utamane TypeScript, nanging akeh optimasi ditrapake ing basa lan toolchain.
Mesin Luwih cepet lan Compiler Native
Sawetara hasil paling awal mbutuhake meh ora ngoptimalake CI dhewe. Ngalih beban kerja saka Tindakan GitHub menyang pelari pihak katelu kanthi CPU sing luwih cepet, panyimpenan kinerja sing luwih dhuwur, lan infrastruktur cache sing luwih apik langsung dibayar: ing perbandingan kaya-kanggo-kaya ing rong dina ing salah siji sisih switch, proyek mlaku rata-rata 34% luwih cepet, kanthi sawetara beban kerja kaya `tsc` mudhun 52%.
Modernisasi toolchain nambah menang. Ngalih menyang `tsgo`, kompiler TypeScript asli, ngethok rata-rata saben minggu saka typecheck nganti 73% - cukup gedhe kanggo mindhah bottleneck mati saka typechecking kabeh.
Linting Tanpa Grafik Jinis
Linting minangka target awal liyane. Sawetara aturan ESLint khusus Linear gumantung marang informasi jinis TypeScript, sing meksa saben lint kanggo mbangun grafik jinis lengkap sadurunge ngevaluasi - nggawe linting minangka salah sawijining proyek CI sing paling intensif memori.
Tim kasebut nulis ulang aturan kanggo nggunakake analisis statis ing wit sintaksis abstrak, ngenali konstruksi kaya fungsi lan pola njaga tanpa informasi jinis. Sing ngidini ESLint ngeculake TypeScript kabeh, nyuda wektu lint API nganti 68% lan wektu lint repositori kanthi 55%, kanthi panggunaan memori mudhun banget. Iki uga nggampangake migrasi mengko menyang Oxlint, sing luwih suda CI runner-menit ngginakaken linting.
Nyusut Path Kritis
Kanthi mriksa individu luwih cepet, Linear nggedhekake lan nganggep CI minangka sistem. Sing narik kawigaten ing proyek cilik sing lungguh ing ngarep kabeh - deteksi pangowahan path lan mriksa cache asil tes sing gapura ing tingkat proyek, tegese ora ana wolung pecahan tes API sing bisa diwiwiti nganti rampung.
Perbaikan kasebut granular nanging aditif. Capping njupuk ambane njupuk gapura slowest saka 94 detik kanggo 20. Mbusak checkout tanggung saka proyek sing ora perlu wit apa Cut saka 27 detik kanggo 7. A jarang, checkout blobless karo sajarah winates disimpen liyane 11 detik aneh kanggo push lan gabung-antrean acara. Secara agregat, durasi kerja deteksi owah-owahan mudhun saka 26 detik dadi 8, p90 saka 31 dadi 12, lan paling alon saka 138 detik dadi 37.
Keandalan Checkout uga mbutuhake kerja: amarga pelari pihak katelu lungguh ing njaba jaringan GitHub lan ngandelake tautan IP langsung, degradasi tautan intermiten kadhangkala mandheg. Linear ngganti `tumindak / checkout` karo tumindak gabungan dhewe sing nyoba maneh karo backoff, nyetel `GIT_HTTP_LOW_SPEED_LIMIT` lan `GIT_HTTP_LOW_SPEED_TIME` supaya sambungan macet aborts sawise udakara 30 detik tinimbang hanging, lan nggunakake cache checkout sing tetep ing pangilon disk sing tetep.
Perbaikan halus sing ngilangi wektu antrian gabungan: tandha cache ditulis minangka bagean saka pamriksaan pungkasan sadurunge gabung, supaya PR bisa lungguh ing antrian sanajan tes kasebut lulus. Ngalih sing nulis menyang proyek non-gating dicukur 42 detik saka path gabungan kanggo saben API narik request lan gabung-antrean entri. Bebarengan, owah-owahan iki njupuk kira-kira sak menit saka mriksa sing dibutuhake kanggo API PRs ing cache luput nalika ngurangi runner diwiwiti.
Kurang Detik Boros saben Proyek
Kategori pungkasan nyerang biaya persiyapan bola-bali ing saben proyek. Saben pecahan test API ngginakaken 7 kanggo 8 detik nginstal klien Postgres padha karo apt ing saben roto; obah menyang gambar cilik CI kajawi Node temenan shards bisa miwiti siap kanggo mbukak. Tim kasebut banjur nambahake header bangunan asli menyang gambar kasebut sawise nemokake manawa ndownload nalika persiyapan sok-sok bisa digantung.
Apa Iku Resonated
Kiriman kasebut kaget karo pangembang: tekan kaca ngarep Hacker News, nggambar kira-kira 250 poin lan udakara 280 komentar sajrone sedina. Reaksi kasebut gampang diterangake - Pengalaman Linear nyebutake biaya pangembangan sing dibantu AI sing saiki ditindakake dening organisasi teknik. Agen sing ngasilake panjalukan narik ing sawetara menit isih ngenteni ing pipelines validasi sing dirancang kanggo irama manungsa, lan saben menit saka ngenteni bakal dilipatgandake ing saben agen sing makarya bebarengan.
Piwulang saka rework Linear yaiku yen bottleneck bisa dipindhah, nanging mung liwat akumulasi sing ora nyenengake saka akeh perbaikan cilik - pelari sing luwih cepet, check type sing luwih murah, aturan lint level sintaksis, njupuk sing ditutup, checkout sing tahan banting, gambar sing wis dibangun - tinimbang peluru perak siji.
---
Tetep Ahead of AIEntuk warta, analisis, lan terobosan AI paling anyar - kabeh ing sak panggonan.
Waca liyane AI warta →