Myslitelé

Umí AI psát kód, ale může vaše infrastruktura držet krok?

mm
Přidejte Unite.AI mezi své preferované zdroje na Google

Procházíme jeden z nejpodivnějších převratů v historii softwarového inženýrství. Po desetiletích, kdy byl cílem determinismus; budování systémů, které se chovají stejně pokaždé. Nyní vrstvíme probabilistické AI agenty na tento základ, generujeme kód v ohromujícím měřítku a rychlosti. A upřímně? Naše většina infrastruktury nebyla pro tohle postavena.

Pracoval jsem roky na DevOps nástrojích, spoluučinkoval v výzkumu a pomáhal inženýrským týmům dosáhnout jejich nejvyšších výkonů. To, co teď vidím s AI-poháněným vývojem, je více než jen evoluce. To odhaluje každou trhlinu v našich stávajících pracovních postupech.

Problém je již zde

Studie GitClear z roku 2025 zjistila, že téměř 7 % commitů nyní obsahuje AI-generovaný kód. Jejich dřívější analýza 153 milionů řádků změněného kódu odhalila náklady: “code churn” – kód přepsaný nebo smazaný do dvou týdnů – se zdvojnásobil do roku 2024 ve srovnání s předchozími údaji před AI.

Důsledky pro bezpečnost jsou stejně dramatické. Nedávná analýza 80 vybraných úloh programování napříč více než 100 velkými jazykovými modely zjistila, že AI-generovaný kód zavádí bezpečnostní zranitelnosti v 45 % případů. Skutečný dopad? Jedna z pěti CISO nyní hlásí majoritní incidenty přímo způsobené AI-generovaným kódem.

Rychlostní zisky jsou skutečné, ale tak jsou i stability náklady.

Amplifikační efekt

Jedna věc, kterou jsem se naučil, je, že AI zesiluje všechno. Pokud máte dobré postupy, AI je dělá lepší a rychlejší. Pokud jsou vaše procesy zmatené, AI zhoršuje ten zmatek také. To odráží vzorec, který se objevuje rok co rok v DORA ročníkových DevOps zprávách: méně proměnných vede k lepšímu výsledku. Úspěšné týmy standardizují na méně operačních systémů, méně programovacích jazyků, méně způsobů, jak dělat věci. Úmyslně snižují složitost.

AI agenti následují stejný vzorec. Dejte jim konzistentní prostředí, kde Python znamená stejnou verzi na každém vývojářském stroji, kde jsou závislosti uzamčeny a sledovány, a vynikají. Donutí je navigovat 17 různých konfigurací, z nichž každá má jemné rozdíly, a budete spalovat tokeny, abyste zjistili environmentální kuriozity místo řešení skutečných problémů.

Paradox determinismu

To vytváří fascinující napětí. Po letech, kdy počítačová věda sledovala determinismus jako konečného cíle, nyní běžíme probabilistické úlohy, AI modely, které doslova nemohou zaručit stejný výstup dvakrát, na systémech navržených pro předvídatelnost.

Moje odpověď? Udržujte co nejvíce zásobníku deterministického, jak je to možné. Pokud můžete udržet 80 % své infrastruktury na deterministickém úrovni, vaše AI agenti mají méně proměnných, které musí spravovat. Nevynakládají kontextové okna na “Proč se tato závislost nainstalovala?” nebo “Zkusím tento build příkaz znovu.” Soustředí se na skutečnou práci, o kterou je žádáte.

Zamyslete se nad tím: když se agent pokusí zkompilovat něco a nativní vazby selžou, protože ImageMagick není nainstalován, je to token-drahá odbočka. Pokud vaše prostředí již zahrnuje vše, co je potřeba (překladače, knihovny, celý strom závislostí až po libc), agent jednoduše funguje. Žádné ladění, žádné pokusy a omyly, jen pokrok.

Specifikace a validace jsou klíčové

Stává se zřejmým, že AI-poháněný vývoj nás nutí přemýšlet tvrději o dvou historicky podceňovaných dovednostech: specifikaci a validaci. Musíte артиkulovat, co vlastně stavíte, a mít robustní způsoby, jak ověřit, zda jste to dostali.

Zaznamenal jsem něco zajímavého: lidé s pozadím produktového managementu nebo produktového inženýrství jsou často více úspěšní s AI agenty právě teď. Jsou již vycvičeni myslet v termínech požadavků, kritérií úspěchu a kompromisů. Jsou pohodlně ptají se “Proč jste udělali ten výběr?” a upravují na základě důvodu.

Validace, znalost, zda věc je skutečně správná, vždy byla nejobtížnější problém softwarového inženýrství. QA byla zločinně podceňována po desetiletí, a přesto je to nejobtížnější část: určení, zda software řeší skutečnou uživatelskou potřebu. AI to nevyřeší. Pokud cokoliv, činí to ještě kritičtějším, protože nyní ověřujete probabilistické výstupy proti deterministickým požadavkům.

Důvěřujte, ale ověřte (a kontrolujte)

Existuje názor, který začínám přijímat: měli bychom předpokládat, že kód generovaný AI je nepřátelský, dokud nebude prokázán opak. Ne proto, že AI je zlomyslný, ale protože prostě nevíme. Nemůžeme prozkoumat každou řádku, když agenti generují tisíce řádků denně.

To znamená posunutí kontrolních bodů. Pokud nemůžeme bránit vše během vývoje, potřebujeme silnější kontroly během runtime. Operátoři, SRE, platformní týmy, kdokoliv, kdo je zodpovědný za produkci, potřebují lepší viditelnost do toho, co běží, kompletní sledování závislostí a jasnou provenienci pro každý artifact.

To je místo, kde se reprodukovatelnost stává nezbytnou. Když můžete matematicky prokázat, že artifact, který jste otestovali lokálně, je identický s tím, co běží v produkci – stejné vstupy, stejné výstupy, stejné uzavření závislostí – můžete začít dělat inteligentní rozhodnutí. Možná nemusíte znovu spustit unit testy v CI, pokud jste je již spustili lokálně a nic se nezměnilo. Možná můžete mapovat testovací pokrytí na změny kódu a vynechat irelevantní testovací sady.

Co dál

Jsme na zlomovém bodě. Týmy, které již měly dobré postupy, nyní vidí masivní produktivní zisky s AI. Týmy, které se potýkaly, nyní zápasí rychleji.

Infrastruktura, která pohání AI-poháněný vývoj, musí být postavena pro reprodukovatelnost od základu. Ne namontována později se skenovacími nástroji a audity, ale vtlačena do toho, jak vývojáři pracují od prvního dne. Když je vaše vývojové prostředí identické napříč Mac a Linux, když každá závislost je sledována a uzamčena, když máte kompletní provenienci pro každý artifact, AI agenti se stávají násobiteli síly místo chaos generátorů.

Tady je můj největší rádce pro týmy, které se snaží uspět v éře AI:

  • Standardizujte bez slitování. Méně proměnných koreluje s vyšším výkonem. Uzamkněte svůj technologický zásobník, vynutěte konzistentní prostředí napříč všemi platformami a eliminujte konfigurační drift, než AI to zesílí. Pokud verze Pythonu způsobují problémy nyní, budou způsobovat 10x více problémů, když AI bude generovat kód v měřítku.

  • Postavte validaci do svého pracovního postupu, ne na konci. S AI generujícím kód rychleji, než lidé mohou přezkoumat, nemůžete spoléhat pouze na manuální kódový přezkum. Implementujte automatizované testování, které ověřuje, zda kód nejen běží, ale zda řeší skutečný požadavek. Učiňte ze svého CI/CD potrubí svou bezpečnostní síť, se silnými bránami během runtime pro produkční nasazení.

  • Investujte do reprodukovatelnosti jako infrastruktury. Zacházejte s konzistencí prostředí jako s první třídou infrastrukturní starostí. Když můžete matematicky prokázat, že vaše místní prostředí, CI prostředí a produkční prostředí jsou identická, eliminujete celou třídu “funguje na mém stroji” problémů. Tento deterministický základ je to, co vám umožňuje bezpečně vrstvit probabilistické AI úlohy na vrchol.

Otázka není, zda AI napíše většinu našeho kódu. Již to dělá pro mnoho týmů. Otázka je, zda naše infrastruktura může držet krok.

Michael Stahnke je zkušený výkonný ředitel pro inženýrství, který strávil posledních 15+ let prací v oblasti vývojářských a provozních nástrojů, kde také prováděl výzkum a byl autorem zpráv o stavu DevOps od Puppet.

Michael je目前 VP of Engineering ve společnosti Flox. Předtím působil ve seniorních inženýrských vedoucích pozicích v CircleCI a Puppet, kde rozšiřoval inženýrské týmy o 5x nebo více. Strávil čas budováním vysoce výkonných týmů, organizací a zkoumáním efektivity inženýrství, além toho, že pracoval na balíčkovacích a vydávacích systémech. Mluví na akcích DevOps a Automation od roku 2007. Založil repozitář balíčků Extra Packages for Enterprise Linux (EPEL) a napsal knihu o OpenSSH v roce 2005.