Obsah článku
Rozmohl se nám tu takový nešvar. Říká se mu vibe coding.

Dnes si může téměř každý nechat AI vytvořit web nebo aplikaci. Kde končí užitečný nástroj a začíná prodej odbornosti, kterou dodavatel nemusí mít?
Rozmohl se nám tu takový nešvar. A tentokrát nejde o sprostá slova, ale o webové stránky, aplikace a jejich samozvané tvůrce. Ještě před pár lety musel člověk, který chtěl vytvářet webové aplikace, alespoň trochu rozumět programování. Dnes stačí otevřít ChatGPT, Claude nebo jiného AI asistenta, napsat několik vět a za chvíli mít před sebou něco, co připomíná hotový produkt. A na tom by vlastně nebylo nic špatného. Technologie se vyvíjejí a umělá inteligence dokáže vývoj výrazně urychlit.
Problém nastává ve chvíli, kdy se z člověka, který včera nevěděl, co je databáze, přes noc stane „profesionální vývojář webových aplikací na míru“. Založí si portfolio, na sociálních sítích začne propagovat své služby a nabízí tvorbu webů, e-shopů nebo rovnou kompletních informačních systémů. Často se přitom prezentuje jako levnější a rychlejší alternativa k zavedeným vývojářům či agenturám. Jenže zákazník zpravidla nepozná, zda za přesvědčivou prezentací stojí skutečné odborné znalosti, nebo jen schopnost správně formulovat požadavky umělé inteligenci.
Nechci přitom tvrdit, že každý, kdo při vývoji používá AI, je špatný programátor. To bych ostatně kritizoval i sám sebe. Jsem webový a softwarový vývojář a umělou inteligenci při své práci pravidelně používám. Pomáhá mi s návrhy řešení, psaním kódu, hledáním chyb nebo automatizací rutinních činností. Rozdíl ale vidím v tom, co následuje potom, co AI nějaký kód vygeneruje. Rozumím tomu, co vytvářím, výsledky kontroluji, testuji a v případě potřeby opravuji. A především za svou práci nesu odpovědnost.
Web na míru. Jenže na míru komu?
Možná jste si toho také všimli. Otevřete stránky firmy nabízející vývoj softwaru, potom web marketingového specialisty, následně prezentaci nějakého startupu a nakonec web úplně nesouvisejícího podnikatele. Přesto máte pocit, že se pořád díváte na jednu a tu samou stránku. Velký nadpis uprostřed obrazovky, nad ním malý štítek, takzvaný eyebrow, pod ním obecná marketingová fráze. Výrazné gradienty, zaoblené karty, průsvitné prvky, rozmazaná barevná pozadí, animace při posouvání stránky a nezbytné tlačítko vyzývající k nezávazné konzultaci. Často se mění jen logo, barvy a texty.
Podobná estetika bývá spojována s fenoménem označovaným jako AI slop, tedy s masově produkovaným generovaným obsahem, kterému často chybí originalita a skutečná tvůrčí práce. Samozřejmě netvrdím, že každý web s gradientem nebo animací je automaticky nekvalitní. Tyto prvky existovaly dávno před rozmachem generativní umělé inteligence a při vhodném použití mají své opodstatnění. Problém je v jejich mechanickém opakování bez ohledu na charakter značky, její zákazníky a účel webu. Výsledkem je vizuální stereotyp, který se prezentuje jako moderní a individuální design, ačkoli jednotlivé stránky bývají téměř zaměnitelné.
A tady už nejde jen o můj osobní vkus. Představme si dvě konkurenční firmy, které nabízejí podobné služby. Obě si zaplatí nové webové stránky a očekávají profesionální prezentaci svého podnikání. Jenže obě dostanou prakticky totožné rozložení, podobné vizuální efekty, stejné typy sekcí a zaměnitelné marketingové texty. Liší se pouze barevnou paletou, logem a několika fotografiemi. A co hůř, podobně vypadají také desítky dalších webů firem, které s jejich oborem vůbec nesouvisejí.
Jak si má zákazník některou z těchto značek zapamatovat? Webové stránky nejsou pouze elektronickou vizitkou, ale také součástí identity firmy. Jejich vzhled ovlivňuje, jak značku návštěvníci vnímají, zda si ji zapamatují a čím si ji odliší od konkurence. Pokud web působí jako další variace na tutéž generickou šablonu, může značce její odlišitelnost spíše ubírat. Něco, co mělo podnikatele prezentovat jako moderního a profesionálního, tak může v konečném důsledku jeho značce i uškodit.
Neznamená to, že každá malá firma potřebuje revoluční design za statisíce korun. Stejně tak netvrdím, že web vytvořený ze šablony nemůže být kvalitní. Rozdíl je ale v tom, co dodavatel skutečně nabízí a za co si nechává zaplatit. Pokud někdo otevřeně prodává úpravu existující šablony, není na tom samo o sobě nic špatného. Jestliže ale zákazníkovi slibuje originální web na míru a dodá jen další barevnou variantu téhož AI výstupu, považuji to přinejmenším za problematické.
IT podnikatelů přibývá. Ale kolik z nich skutečně rozumí své práci?
Že se technologický trh rozšiřuje, ukazují také statistiky. Podle analýzy společnosti Dun & Bradstreet vzniklo v České republice během roku 2024 celkem 1 561 nových firem a 3 168 nových OSVČ v oblasti informačních technologií. Za první polovinu roku 2025 následovalo dalších 612 firem a 1 551 OSVČ. Ke konci června 2025 v tomto odvětví působilo již 16 636 právnických osob a 50 025 OSVČ. Jde přitom o širší skupinu IT činností vedených pod klasifikací CZ-NACE 62, nikoli pouze o tvůrce webových stránek.[1]
Zajímavá jsou také novější data z roku 2026. Podle portálu Česko přehledně vzniklo v širší kategorii IT a telekomunikací během srpna 547 nových podnikatelských subjektů, v září dalších 632 a v říjnu 467. Jen během těchto tří měsíců tedy přibylo 1 646 subjektů. Zářijový počet byl o 28 procent vyšší než ve stejném měsíci předchozího roku. Tato statistika používá širší oborové vymezení než předchozí analýza, a proto nelze jejich absolutní počty přímo srovnávat.[2][3][4]
Samotná čísla samozřejmě nedokazují, že za růstem stojí vibe coding. IT sektor zahrnuje mnoho specializací a zvýšený zájem o podnikání může souviset s poptávkou po softwaru, kybernetické bezpečnosti, digitalizaci nebo IT poradenství. Stejně tak by bylo nesmyslné tvrdit, že nově založená živnost automaticky znamená nezkušeného vývojáře. Člověk může mít za sebou deset nebo třicet let praxe v zaměstnání a teprve následně začít podnikat.
Právě proto považuji za mnohem důležitější skutečné schopnosti než datum založení firmy nebo sebevědomá tvrzení o dlouholeté praxi. Jestliže se někdo prezentuje jako seniorní vývojář s desítkami let zkušeností, mělo by to být na jeho práci nějak poznat. Délka praxe sama o sobě není zárukou kvality a profesní titul uvedený na webu ještě není důkazem odbornosti. Rozdíl mezi zkušeným vývojářem a člověkem, který pouze zadává požadavky AI, se obvykle projeví až ve chvíli, kdy nestačí vygenerovat další obrazovku nebo přidat novou funkci.
Profesionální vývoj, verze čtyřicet
Vzhled je totiž jen jedna část problému. Druhá, pro běžného zákazníka často zcela neviditelná, se ukrývá ve zdrojovém kódu. Právě tam se může ukázat rozdíl mezi člověkem, který skutečně rozumí vývoji softwaru, a někým, kdo pouze postupně přidává další a další úpravy, dokud výsledek na obrazovce nezačne přibližně odpovídat představám.
Při procházení veřejně dostupných zdrojových kódů webových prezentací jsem narazil i na případy, kdy se jednotlivé úpravy vrstvily jedna přes druhou. Opakovaně přepisované CSS, stovky deklarací !important, nové soubory s dalšími verzemi stejných stylů a JavaScriptové zásahy, které obcházely problémy způsobené předchozími úpravami. Místo aby se původní řešení sjednotilo, vznikala další záplata. A když nestačila jedna verze, přibyla další. Potom další. A další. Až se člověk dostal někam ke čtyřicítce.
Samotné !important samozřejmě není žádný zločin. V CSS má své legitimní využití a ani vysoký počet výskytů automaticky nedokazuje, že celý web funguje špatně. Podobně mohou mít verzovaná označení technický smysl. Jenže pokud se takové zásahy dlouhodobě vrství bez zjevné snahy o sjednocení, vzniká technický dluh, který každou další změnu komplikuje. Navenek může stránka působit moderně a profesionálně. Uvnitř však kód místy připomíná archeologické naleziště postupných oprav.
A právě tady vidím jeden z problémů, které může nekontrolované generování kódu ještě zhoršovat. Když se něco nezobrazuje správně, uživatel požádá AI o opravu. Model přidá nové CSS pravidlo nebo upraví JavaScript. Pokud tím vznikne další problém, následuje nový prompt a další zásah. Po několika podobných kolech může aplikace obsahovat množství úprav, jejichž vzájemným vztahům už nikdo pořádně nerozumí. Netvrdím, že každý podobně chaotický projekt vytvořila umělá inteligence. Takový kód dokázali programátoři psát dávno před jejím nástupem. AI však může tento přístup výrazně urychlit a umožnit ho i lidem, kteří by bez ní potřebné úpravy vůbec nedokázali provést.
Profesionálně se prezentovat a profesionálně vyvíjet jsou zkrátka dvě rozdílné věci.
Když se bezpečnostní chyba opravuje dalším promptem
Bezpečnosti webových aplikací se věnuji i prakticky. Opakovaně jsem testoval weby a aplikace vytvořené s pomocí umělé inteligence a při kontrolách jsem narazil na chyby, které rozhodně nepatřily mezi drobné kosmetické nedostatky. Pokud jsem nějakou zranitelnost objevil, upozornil jsem na ni autora, popsal její příčinu a navrhl, jak by se měla opravit. Nešlo mi o veřejné zesměšňování ani o zneužívání nalezených nedostatků, ale o jejich odstranění.
Zajímavé pro mě bylo sledovat, co následovalo. Z charakteru některých oprav a fragmentů upraveného kódu jsem měl opakovaně dojem, že autor moje vysvětlení jednoduše předal umělé inteligenci a nechal si vygenerovat potřebnou změnu. Samotné použití AI při opravě bezpečnostní chyby přitom nepovažuji za špatné. Takový postup používají i zkušení vývojáři a při správném ověřování může být velmi efektivní. Problém nastává, pokud člověk nerozumí původní zranitelnosti ani následně vygenerované opravě.
V takové situaci může oprava pouze zakrýt původní problém, aniž by odstranila jeho skutečnou příčinu. Model například upraví jednu podmínku, přidá kontrolu do formuláře nebo zablokuje konkrétní způsob provedení požadavku. Aplikace potom při opakování původního testu vypadá jako opravená. Jenže stejná chyba může zůstat přístupná jinou cestou, případně může nová úprava vytvořit další zranitelnost. Bez porozumění celé aplikaci, její architektuře a souvisejícím bezpečnostním mechanismům se tak z opravování může stát nekonečný cyklus dalších záplat.
Aby nedošlo k nedorozumění, netvrdím, že každá oprava vytvořená pomocí AI je nebezpečná. Stejně tak z výsledného kódu nelze vždy s jistotou určit, jaký nástroj autor použil. Mám ale problém s představou, že stačí vložit bezpečnostní hlášení do chatbota, zkopírovat odpověď a prohlásit problém za vyřešený. Zejména pokud jde o aplikaci, kterou někdo prodává zákazníkům jako profesionální a bezpečné řešení.
Nezaplacená objednávka, ale přístup už funguje
Aby bylo jasné, že nemluvím jen o hypotetických problémech, při jednom z předchozích bezpečnostních testů jsem narazil na závažnou chybu v systému prodávajícím přístup k digitálnímu obsahu. Při kontrolovaném testu bylo možné získat přístup k placenému obsahu, přestože platba nebyla dokončena a objednávka zůstávala v neuhrazeném stavu. Systém tedy nedostatečně odděloval vytvoření objednávky od skutečného oprávnění zpřístupnit zakoupený obsah.
To už není problém několika špatně napsaných CSS pravidel. Jde o chybu v samotné obchodní logice aplikace, která může provozovateli způsobovat přímé finanční ztráty. A podobně závažný problém představují platební integrace, které důvěřují údajům přicházejícím z uživatelova prohlížeče. Pokud například frontend dokáže odeslat informaci, že platba byla úspěšně ověřena, a server tuto informaci přijme bez nezávislého potvrzení od platební brány, vzniká zásadní bezpečnostní riziko. Údaj pocházející ze zařízení zákazníka totiž sám o sobě není důkazem, že skutečně došlo k úhradě.[5]
U podobných chyb už skutečně nejde o to, zda programátor používá ChatGPT, Claude nebo jiný nástroj. Jde o základní principy bezpečného návrhu aplikací. Stav platby, oprávnění k přístupu nebo cena objednávky nemohou být považovány za důvěryhodné jen proto, že je takto označil frontend. Pokud dodavatel takové principy nezná, může snadno vytvořit systém, který při běžném používání působí naprosto funkčně, ale při sebemenší odchylce od očekávaného postupu selhává.
A právě proto považuji za nebezpečné, když někdo bez odpovídajících znalostí začne nabízet kompletní e-shopy, platební systémy nebo webové aplikace na míru. Zákazník zpravidla nemá možnost posoudit bezpečnost zdrojového kódu. Spoléhá na odbornost dodavatele, kterému za výsledek zaplatil. A pokud samotný dodavatel neví, co jeho aplikace skutečně dělá, jak má poznat, že je bezpečná?
Funguje to. Ale znamená to, že je to správně?
Jedním z největších problémů nekontrolovaného vibe codingu je podle mě zaměňování viditelného výsledku za skutečnou kvalitu. AI dokáže během krátké doby vytvořit atraktivně vypadající administraci, rezervační systém nebo e-shop. Stránky se zobrazují, tlačítka reagují, formuláře odesílají data a zákazník má pocit, že dostal hotový produkt. Jenže to, že něco na první pohled funguje, ještě neznamená, že je to bezpečné, spolehlivé nebo připravené na reálný provoz.
Webová aplikace není jen soubor obrazovek. Za jejím fungováním stojí databáze, zpracování uživatelských vstupů, správa přístupových oprávnění, komunikace s externími službami a celá řada dalších mechanismů. Co se stane, když dvě osoby současně objednají poslední kus zboží? Když platební brána pošle potvrzení platby opakovaně? Když se někdo pokusí získat přístup k cizí objednávce? Nebo když aplikace přestane fungovat po aktualizaci některé ze svých závislostí? To nejsou hypotetické problémy vymyšlené proto, aby programování působilo složitěji. Jsou to běžné situace, se kterými musí profesionální vývoj počítat.
Umělá inteligence samozřejmě může pomoci řešit i tyto problémy. Dokáže navrhnout bezpečnostní opatření, vytvořit testy nebo upozornit na potenciální chyby. Jenže také může některé problémy přehlédnout, navrhnout neúplné řešení nebo sebevědomě tvrdit, že je všechno v pořádku, přestože není. Pokud člověk na druhé straně nerozumí tomu, co model vygeneroval, nemusí mít vůbec šanci poznat rozdíl. A právě tady vidím hranici mezi používáním AI jako profesionálního nástroje a pouhým spoléháním na její výstupy.
Umělá inteligence mi práci usnadňuje. Nenahrazuje ale moje znalosti.
Někdo by mohl namítnout, že jako vývojář pouze kritizuji konkurenci, která díky AI dokáže pracovat rychleji a levněji. Jenže já sám umělou inteligenci používám. A rozhodně se za to nestydím. Nevidím žádný důvod ručně vykonávat každou rutinní činnost, pokud mi s ní vhodný nástroj dokáže pomoci. Stejně jako programátor nemusí psát vlastní databázový server nebo kryptografickou knihovnu, nemusí dnes nutně ručně vytvářet každý řádek kódu.
Rozdíl je v tom, že za výsledným řešením stojí konkrétní člověk, který mu musí rozumět. Když mi AI vygeneruje funkci, potřebuji vědět, co dělá, proč je napsaná právě takto a jak se zachová v situacích, na které při generování nemusela myslet. Pokud navrhne nevhodnou architekturu, musím být schopen ji odmítnout. Pokud vytvoří bezpečnostní chybu, je mojí odpovědností ji odhalit a opravit. A když se zákazník za několik měsíců ozve s požadavkem na rozšíření aplikace, nemohu se vymlouvat, že původní řešení navrhla AI a já vlastně nevím, jak funguje.
Vibe coding jako způsob experimentování, prototypování nebo učení mi sám o sobě nevadí. Naopak může lidem umožnit realizovat nápady, ke kterým by se jinak vůbec nedostali. Je však podstatný rozdíl mezi tím, když si někdo pro radost vytvoří jednoduchou aplikaci, a tím, když začne za peníze dodávat software, na jehož fungování závisí podnikání jiných lidí.
Klient si neobjednává prompt
Rád bych zdůraznil ještě jednu věc. Nemám nic proti samostatným vývojářům ani proti lidem, kteří nabízejí tvorbu webových stránek bez agentury. Sám pracuji jako samostatný vývojář a dobře vím, že kvalitní řešení nemusí vznikat v kanceláři s desítkami zaměstnanců. Malý dodavatel může zákazníkovi nabídnout osobnější přístup, pružnější komunikaci a v řadě případů i lepší výsledek než velká společnost.
Co mi ale vadí, je prodej odbornosti, kterou dodavatel ve skutečnosti nemá. Na sociálních sítích dnes není problém narazit na sebevědomé nabídky profesionálních webů, aplikací na míru nebo kompletní digitalizace podnikání. Výrazy jako „bez agentury“, „rychleji“, „levněji“ či „s využitím nejmodernější AI“ mohou znít lákavě. Samy o sobě však nic nevypovídají o tom, zda autor zvládne řešení dlouhodobě spravovat, zabezpečit nebo opravit, až se objeví problém. Přitom právě na těchto schopnostech často záleží mnohem více než na tom, za jak krátkou dobu vznikla první verze.
Aby bylo jasno, ani zkušený vývojář není neomylný. Chyby vznikají v malých projektech i v systémech velkých technologických společností. Rozdíl nespočívá v tom, že profesionál nikdy chybu neudělá. Spočívá v přístupu k práci, schopnosti rozpoznat vlastní omezení, systematicky ověřovat výsledky a převzít odpovědnost, když se něco nepovede.
Zákazník si totiž neobjednává prompt. Neplatí za počet vygenerovaných řádků ani za to, kolikrát dodavatel požádal jazykový model, aby něco opravil. Platí za výsledek, který odpovídá jeho potřebám a na který se může spolehnout. A pokud mu někdo slibuje individuální návrh, profesionální vývoj a dlouhodobě udržitelné řešení, měl by být schopen tyto sliby také naplnit.
Problém není AI. Problém je, co si o sobě díky ní někteří lidé začali myslet.
Umělou inteligenci považuji za jeden z nejvýznamnějších nástrojů, které dnes vývojáři mají k dispozici. Dokáže urychlit práci, zpřístupnit programování širší veřejnosti a umožnit vznik projektů, které by jinak možná nikdy nevznikly. Nemyslím si, že by každý, kdo s její pomocí vytvoří web, musel nejprve absolvovat několik let studia informatiky. A už vůbec si nemyslím, že používání AI jakkoli automaticky snižuje hodnotu odvedené práce.
Vadí mi ale, když se schopnost používat nástroj zaměňuje za odbornou kvalifikaci. Když se generické stránky vydávají za originální design, nekontrolovaný kód za profesionální software a sebevědomá marketingová prezentace za důkaz technických schopností. Umět napsat dobrý prompt je užitečná dovednost. Není to však automaticky náhrada za znalost programování, návrhu systémů, bezpečnosti nebo práce s klientem.
Možná bude za několik let většinu rutinního kódu skutečně vytvářet umělá inteligence. Možná se zásadně změní způsob, jakým dnes software vyvíjíme. Tím spíše ale bude důležité rozlišovat mezi člověkem, který ví, co vytváří, a člověkem, který pouze doufá, že to AI vytvořila správně.
Protože až zákazníkovi přestane fungovat e-shop, začnou mizet objednávky nebo se objeví závažná bezpečnostní chyba, nebude ho zajímat, jak moderní nástroje dodavatel použil. Bude chtít vědět, kdo problém vyřeší.
A nebude volat ChatGPT.
Bude volat člověku, kterému za ten software zaplatil.