DXHEROES Logo
Co děláme

/

#ai
#vyvoj

Velké refaktoringy s AI — co to reálně stojí

Délka: 

9 min

Publikováno: 

25. dubna 2026

Deset let obor říkal vývojářům: nedělejte velké refaktoringy. Malé PR, continuous delivery, trunk-based development. Pak dorazila práce s AI asistencí a matematika se změnila. V dubnu 2026 inženýr DX Heroes sloučil 82 komitů na jedné větvi do produkční aplikace za zhruba šest hodin soustředěné práce. Bez AI by podle něj stejná práce trvala „klidně měsíc". Refaktoring pokryl migraci kontraktů na Zod jako single source of truth, canvas refactor sweep, nové email templates a rozdělení Stripe lifecyclu. Když se sloučil, prošlo 4 216 web testů, 2 119 API testů a 128 nových kontraktových testů.

Otázka, kterou enterprise klienti pokládají pořád dokola, není „umí AI psát kód?", ale „můžeme pustit AI přes strukturální refaktoring naší produkce?". Odpověď není binární. Dá se k ní dojít. Disciplína okolo AI je důležitější než model uvnitř.

Proč se velké refaktoringy zase počítají

Dějí se tři věci naráz. Tech debt z let 2020–2024 se nasčítal do bodu, kde inkrementální úklid nestačí. Legacy knihovny, se kterými týmy roky žily, narážejí na end-of-life a tlačí na migrace. A AI mění cenu průzkumu. Dříve byl drahý moment, kdy člověk objevoval, co se kde rozbije. Agent, který má přístup ke codebase, testům a jasnému plánu milníků, to dokáže prozkoumat rychleji než lidský pár.

Co se nezměnilo, je rizikový model. Strukturální refaktoring pořád sahá do kódu, na který aktivně nemyslíte. Rozdíl je jen v tom, že AI se dotkne víc míst za kratší čas. A to funguje oběma směry.

Případ 1: 82 komitů, jeden pull request

Refaktoring v Plantory.ai vypadá zvenku jako 82 komitů na jedné větvi sloučené do mainu. Zevnitř to byla sekvence milníků. Claude Code každý z nich commitoval ve chvíli, kdy jeho testy dopadly zeleně.

Širší produktový kontext najdete v případové studii Plantory.ai a architekturu AI-native buildu rozebíráme v Plantory playbooku.

„Reálně to zabralo tak šest hodin čistého času, a bez AI by mi to trvalo výrazně déle, řekl bych klidně měsíc. Proč se to rozbilo na osmdesát dva komitů? Protože AI, konkrétně Claude Code, commitoval každý jeden milník, podle kterých si to refaktoroval a rozdělil. Vždycky právě moje sada testů — unit, integrační, i end-to-end — testovala, aby se nic nerozbilo. Dokonce jsem i testy předtím dopisoval, abychom po refaktoru věděli, že všechno funguje stejně jako má."

— Prokop Simek, Co-founder DX Heroes

Rozhoduje tvar práce. Osmdesát dva komitů nejsou osmdesát dva rozhodnutí. Je to jedno rozhodnutí, migrace kontraktů a canvas sweep, vyjádřené jako osmdesát dva bezpečných checkpointů. Každý se dá vrátit. Každý má za sebou zelené testy. Větev se nakonec sloučila rovnou z lokálu, protože v tu chvíli už nezbývala žádná nejistota, kterou by mělo rozseknout CI.

Tohle je opak „AI napsala 1 000 řádků v jednom PR, prosím o review". Agent tu byl postavený jako dlouho běžící, disciplinovaný vykonavatel plánu, ne jako autonomní autor.

Případ 2: AI-asistovaná přesnost na klasifikačním systému

Náš tým v Třineckých Železárnách staví systém pro technickou klasifikaci průmyslových poptávek. Systém čte obrázky a PDF a vrací hodnoty čtyřiceti parametrů pro každou poptávku. End-to-end přesnost drží kolem 99 %. To číslo nevzniklo náhodou.

„Když AI navrhne úpravu scoring logiky, děláme lidské review. Hledáme příznaky overfittingu na konkrétní chybu, kterou se snažíme odstranit. Často čteme celý upravený prompt a hledáme v něm rozpory. A i na to používáme AI. E2E testy dokážou chytat regrese — ukážou nám, když jsme opravili jednu třídu vstupů a rozbili jinou."

— Jakub Vacek, Developer DX Heroes

Za jeho druhou odpovědí je vzorec, na který se klienti ptají pořád dokola: kolik z téhle práce je AI a kolik člověk?

„Na začátku vývoje to bylo 50/50. Čím blíž jsme k produkci, tím víc roste podíl lidské práce. A mění se to i podle části codebase — složitou business logiku AI nezvládá, ale UI změny ano."

— Jakub Vacek, Developer DX Heroes

To rozložení, silný AI podíl na začátku a silný lidský podíl s blížící se produkcí, odpovídá tomu, co vidíme na každém seriózním projektu. AI je nejrychlejší tam, kde je problém pochopený a testy jsou výstižné. Zpomaluje nebo regreduje tam, kde je problém nedostatečně specifikovaný a testy nepokrývají byznys omezení, na kterém doopravdy záleží.

Co drží systém pohromadě

Napříč oběma projekty dělají těžkou práci tři věci: testy, kontrakty a review gate.

Testy. Ne „testy existují", ale výstižné testy, které selžou hlasitě na tom, co vám leží na srdci. Větev v Plantory se sloučila bezpečně, protože kombinovaná sada 4 216 web testů, 2 119 API testů a 128 nových kontraktových testů reálně sahala na refaktorované plochy. TRZ drží 99% přesnost, protože E2E testy chytají regrese napříč prostorem parametrů, ne jen na happy path.

Kontrakty. Refaktoring v Plantory stál na tom, že Zod schémata se stala jediným zdrojem pravdy pro API kontrakty. Class-validator je zakázaný. CI gate vynucuje single-source pravidlo. To je důležitější než počet řádků: po refaktoringu je kontrakt spustitelný, ne jen dokumentační. Když runtime zadrhne, CI spadne. Když se návrh změny rozejde s kontraktem, PR spadne.

Review gate. Nic se nedostane do mainu bez toho, aby člověk potvrdil strukturální záměr. AI dokáže napsat čtyřicetiparametrový klasifikátor. Neumí rozhodnout, jestli přidání čtyřicátého prvního parametru stojí za byznys složitost. To rozhodnutí zůstává u lidského reviewera, který se dívá na diff, na testy i na prompt.

Když je kterákoli z těch tří věcí slabá, refaktoring by neměl opustit váš laptop.

Kde AI reálně nestačí: učební moment

Jeden kousek z refaktoringu v Plantory stojí za to vytáhnout, protože přesně odpovídá failure módu, na který se enterprise klienti ptají. Subfeature canvasu (A2.3) prošla po refaktoringu testy, pak se v produkci objevil bug: zóny se umísťovaly stovky metrů mimo canvas.

„U canvasu A2.3 AI refaktor prošel testy, ale rozbil kontrakt. Stalo se to tím, že jsem neměl dostatečné pokrytí testy. Nechal jsem AI — konkrétně Claude Opus 4.7 — nejdřív dopsat testy a pak teprve refaktorovat. Ta část fungovala. Zajímavé je, že Opus 4.6 mi předtím tvrdil, že pokrytí je dostatečné, ale reálně bylo jenom 40 %. Nejspíš zapomněl pustit nějaké příkazy. Opus 4.7 na to přišel. Takže to selhání nebylo ‚AI refaktoroval a něco rozbil'. Bylo to ‚starší model mi řekl, že jsem v bezpečí, když jsem nebyl'."

— Prokop Simek, Co-founder DX Heroes

Poučení není, že jeden model je lepší než druhý. Poučení je, že AI-reported coverage není coverage. Pokud chcete nechat AI řídit strukturální refaktoring, potřebujete nezávislý signál: příkaz, který opravdu běží, report, který čtete vlastníma očima, a CI gate, který to číslo vynucuje. Agent, který sebevědomě prohlásí „pokrytí je dostatečné", není totéž co skutečně dostatečné pokrytí. Nechte nástroj, aby to doložil.

Pětistupňový playbook pro bezpečný big-bang refaktoring s AI

Na základě toho, co vidíme fungovat a co vidíme selhávat, doporučujeme klientům uvažujícím o strukturálním refaktoringu vedeném AI tuto sekvenci:

  1. Napište nejdřív testy, proti kontraktu, ne proti implementaci. Než se dotknete implementace, ujistěte se, že sada selže na jakékoli byznysově relevantní změně chování. Pokud neumíte pojmenovat testy, které refaktoring hlídají, nejste připraveni začít.
  2. Definujte milníky, ne úkoly. Dejte agentovi sekvenci green-tests checkpointů, každý s možností návratu. Agent commituje po milníku. Vy revidujete po milníku. Osmdesát dva bezpečných komitů poráží jeden velký, nerevidovatelný.
  3. Udělejte kontrakty spustitelné. Runtime validace, schéma jako zdroj pravdy, CI gates, které padají na drift. Když jsou vaše kontrakty dokumentační místo spustitelných, refaktoring je sázka, ne plán.
  4. Nezávisle ověřte coverage. Neberte AI za slovo u pokrytí testy. Pusťte coverage příkaz. Přečtěte číslo. Nastavte CI tak, aby ho hlídalo. Předpokládejte, že vlastní reportování modelu je na téhle jedné otázce nespolehlivé.
  5. Zkontrolujte diff i prompt. U změn byznys logiky nestačí zkontrolovat vygenerovaný kód. Přečtěte prompt, který ho vyprodukoval. Overfitting na konkrétní chybu je často vidět v promptu dřív, než se projeví v kódu.

Úrok, který se nasčítává, ne revoluce

Hlavní sdělení z větve v Plantory není „AI udělala 82 komitů za 6 hodin". Je to, že tým měl dost výstižnou sadu testů, dost striktní kontrakty a dost ostrou review disciplínu na to, aby 82 komitů vůbec mohlo bezpečně přistát. Refaktoring je symptom dobré infrastruktury. Bez ní by stejných 82 komitů byl produkční incident čekající na spuštění.

Klienti se nás ptají, jak se tam dostat. Upřímná odpověď je, že úrok z testů, kontraktů a review gates se nasčítává: zprvu pomalu, pak najednou. Týmy, které dnes dodávají šestihodinové refaktoringy, jsou týmy, které před dvěma lety zaplatily daň disciplíny.

Pokud váš tým uvažuje o strukturálním refaktoringu a chcete upřímný pohled na to, jestli máte mantinely nastavené předtím, než dáte agentovi klíče, ozvěte se. Pomáháme inženýrským týmům posunout se z „zkoušíme AI" k „zvládneme velký refaktoring před obědem", aniž by se vyhodily části, které to drží bezpečné.

Chcete být o krok napřed?

Nenechte si utéct naše nejlepší postřehy. Žádný spam, jen praktické analýzy, pozvánky na exkluzivní eventy a shrnutí podcastů přímo do vaší schránky.