Jak využít AI pro analýzu, refaktoring a migraci legacy kódu. Od COBOL konverze po automatickou dokumentaci starých systémů. Reálné case studies a nástroje.
Proč legacy systémy přežívají — a proč to není špatně¶
V českém enterprise prostředí běží tisíce aplikací starších než 15 let. COBOL v bankách, Visual Basic v pojišťovnách, PHP 5 v e-commerce. Tyto systémy fungují — generují revenue, zpracovávají transakce, obsluhují zákazníky. Problém není v tom, že existují. Problém je v tom, že je nemožné je měnit dostatečně rychle.
Tradiční modernizace — přepsat od nuly — je statisticky nejrizikovější IT projekt. Podle Standish Group 72 % velkých rewrite projektů překročí rozpočet nebo selže úplně. A to z dobrého důvodu: legacy systém obsahuje dekády business knowledge zakódované v tisících podmínek, výjimek a workaroundů, které nikdo nedokumentoval.
AI mění pravidla hry. Ne tím, že by legacy systémy přepsala automaticky — to je marketingová fantazie. Ale tím, že dramaticky zrychluje každou fázi modernizace: analýzu, dokumentaci, refaktoring, testování a migraci. Nástroje jako Amazon Q Code Transformation, GitHub Copilot a specializované platformy (Bloop, Sourcegraph Cody) dokážou analyzovat miliony řádků kódu a poskytnout kontextové pochopení, na které by tým analytiků potřeboval měsíce.
V tomto článku projdeme praktický framework pro AI-driven modernizaci, konkrétní nástroje a reálné výsledky z enterprise projektů.
Fáze 1: AI-powered analýza legacy kódu¶
Než můžete cokoliv modernizovat, musíte rozumět tomu, co máte. A u legacy systémů to je ten nejtěžší krok. Dokumentace je zastaralá (pokud vůbec existuje), původní vývojáři odešli, a kód je organicky narostlá struktura bez jasné architektury.
Automatická dokumentace: LLM modely dokážou analyzovat kód a generovat dokumentaci na úrovni funkcí, modulů i celých subsystémů. Sourcegraph Cody a GitHub Copilot Chat mohou odpovídat na otázky typu „Co dělá tato funkce?” nebo „Kde se validuje zákaznická adresa?” napříč celým repozitářem.
Dependency mapping: Nástroje jako Lattix, Structure101 nebo open-source Depends dokáží vizualizovat závislosti v kódu. AI vrstva přidává sémantické pochopení — nejen „modul A volá modul B”, ale „modul A potřebuje modul B pro výpočet pojistného.”
Business rules extraction: Tohle je holy grail. Legacy kód obsahuje business pravidla, která nikdo explicitně nedokumentoval. AI může identifikovat podmínky, výjimky a edge cases a vygenerovat čitelnou dokumentaci business logiky. Příklad: z 500 řádků COBOL kódu extrahovat „pokud je klient starší 65 let a má pojistku typu B, aplikuje se sleva 15 %, ale maximálně 2000 Kč.”
Dead code detection: V legacy systémech je typicky 20–40 % kódu dead code — funkce, které se nikdy nevolají, featury, které se nikdy nedokončily. AI analýza identifikuje dead code s vyšší přesností než statické nástroje, protože rozumí runtime context (logy, traces).
Praktický tip: začněte analýzou jednoho modulu, ne celého systému. Proof of concept na 10 000 řádcích COBOL vám řekne víc než roadmapa na 2 miliony řádků.
Fáze 2: automatický refaktoring a konverze¶
Po analýze přichází transformace. AI zde nabízí dva přístupy:
Přístup 1: Inkrementální refaktoring — místo rewrrite postupně modernizujete existující kód. AI navrhuje refaktoring kroky: extrakce metod, eliminace duplicit, zjednodušení podmínek. Nástroje: Sourcery (Python), IntelliJ AI Assistant, JetBrains AI. Výhoda: nízké riziko, každý krok je testovatelný. Nevýhoda: pomalejší progres.
Přístup 2: Language conversion — automatická konverze mezi jazyky. Amazon Q Code Transformation konvertuje Java 8/11 na Java 17, AWS Mainframe Modernization konvertuje COBOL na Java. IBM watsonx Code Assistant for Z zvládá COBOL-to-Java konverzi s údajným 80% code accuracy.
Realita je střízlivější: automatická konverze produkuje funkční, ale ne idiomatický kód. Konvertovaný Java kód z COBOL vypadá jako COBOL psaný v Javě — technicky správný, ale neudržovatelný. Potřebujete druhou fázi refaktoringu, kde AI (nebo lidé) transformují kód na idiomatický styl cílového jazyka.
Workflow, který funguje v praxi:
- Automatická konverze (AI) → generuje funkční kód
- Test suite generování (AI) → ověří behavior preservation
- Idiomatický refaktoring (AI + člověk) → kód vypadá nativně
- Code review (člověk) → ověří business logiku
- Integration testing (automatické) → ověří kompatibilitu
Tento pipeline zkracuje modernizaci z měsíců na týdny pro jednotlivé moduly.
Fáze 3: Strangler Fig Pattern s AI¶
Nejbezpečnější modernizační strategie je Strangler Fig Pattern — postupně nahrazujete části legacy systému novými implementacemi, zatímco starý systém běží. AI akceleruje tento pattern několika způsoby:
API wrapper generation: AI analyzuje interface legacy systému a automaticky generuje REST/gRPC API wrappery. Legacy systém se stává „backend” za moderním API — nové aplikace komunikují přes API, legacy klienti postupně migrují.
Test harness generation: Před tím, než nahradíte modul, potřebujete testy, které ověří, že nová implementace se chová stejně. AI generuje contract testy, integration testy a property-based testy z analýzy existujícího chování.
Data migration automation: Schéma legacy databáze je často normalizované „kreativním” způsobem. AI analyzuje datové vzory, navrhuje nové schéma a generuje migrace scripts včetně data transformation logiky.
Feature flag orchestration: Postupný rollout nových modulů vyžaduje feature flags. AI může analyzovat traffic patterns a navrhnout optimální rollout strategii — které moduly migrovat první pro maximální impact s minimálním rizikem.
Case study: česká pojišťovna migrovala claims processing modul (180K řádků COBOL) na Java microservices za 4 měsíce místo plánovaných 12. AI generovala 70 % test suite, 60 % API wrapperů a 50 % data migration kódu. Lidský tým se soustředil na business logiku a edge cases.
Nástroje pro AI-driven modernizaci — přehled 2026¶
Trh nástrojů rychle roste. Tady jsou kategorie a lídři:
Code understanding & documentation:
- Sourcegraph Cody — code intelligence přes celý repozitář, context-aware Q&A
- GitHub Copilot Chat — integrovaný do IDE, rozumí project context
- Bloop — semantic code search, přirozený jazyk → code navigation
Code transformation:
- Amazon Q Code Transformation — Java version upgrades, language migrations
- IBM watsonx Code Assistant for Z — COBOL-to-Java, mainframe modernization
- Moderne — automated code refactoring pomocí OpenRewrite recipes + AI
Testing:
- Diffblue Cover — automatická generace unit testů pro Java
- Qodo (CodiumAI) — AI test generation s focus na edge cases
- Launchable — ML-based test selection (spouští jen relevantní testy)
End-to-end platforms:
- AWS Mainframe Modernization — kompletní platforma pro mainframe migraci
- Google Cloud Dual Run — paralelní běh legacy + moderní verze s porovnáváním výstupů
- Micro Focus (OpenText) — enterprise modernization suite
Výběr závisí na vašem legacy stacku a cílové platformě. Pro mainframe COBOL → Java: AWS nebo IBM. Pro Java upgrade: Amazon Q. Pro obecný refactoring: Moderne + Copilot.
Rizika a limity AI modernizace¶
AI není silver bullet. Kritické limity, které musíte znát:
Business context loss: AI rozumí kódu syntakticky a sémanticky, ale nerozumí proč byl kód napsán určitým způsobem. Workaround pro bug z roku 2008, který nikdo nedokumentoval, může AI „optimalizovat” pryč. Řešení: business analytik musí validovat každou transformaci.
Hallucination v code generation: LLM může generovat kód, který vypadá správně, ale má subtilní bugs. V legacy modernizaci je tohle obzvlášť nebezpečné — rozdíl mezi „téměř správně” a „správně” může být milionová finanční transakce.
Regression testing coverage: AI generované testy pokrývají typicky 60–80 % behavior. Zbývajících 20–40 % jsou edge cases, race conditions a implicit behavior, které vyžadují lidskou expertízu.
Regulatory compliance: V regulovaných industri (banky, zdravotnictví) musíte prokázat, že modernizovaný systém je ekvivalentní originalu. Automatizovaná konverze komplikuje auditní trail. Řešení: detailed logging každé transformace, dual-run validation.
Vendor lock-in: Cloud-native modernizační nástroje (AWS, Azure) přirozeně směřují kód k vendor-specific službám. Zvažte, zda cílová architektura má být cloud-agnostic.
Pravidlo: AI dělá 80 % práce, ale posledních 20 % vyžaduje senior engineering talent. Nenahrazujte lidi — přesměrujte je na high-value práci.
Závěr¶
Modernizace s AI: evoluce, ne revoluce¶
AI-driven modernizace legacy systémů není o přepsání všeho najednou. Je to o postupné, měřitelné, bezpečné transformaci s AI jako akcelerátorem každé fáze.
Začněte analýzou jednoho modulu. Změřte, kolik času AI ušetří. Rozšiřte na další moduly. Za 6 měsíců budete mít data pro business case na systematickou modernizaci.
Legacy systémy nezmizí přes noc. Ale s AI mohou evolvovat rychlostí, která dříve nebyla možná.