Článek
Programování se věnuji na amatérské úrovni. Právě z této pozice mě současný rozvoj nástrojů založených na umělé inteligenci zaujal.
Nejsem profesionální softwarový vývojář a následující text proto nevzniká z této pozice. Vychází z vlastní praktické zkušenosti s tvorbou menších aplikací, studia dostupných odborných a technických zdrojů a zkoumání možností, které současná generativní AI nabízí.
Možná je ale právě pohled člověka, který se programování věnuje neprofesionálně, pro téma vibe codingu zajímavý. Jednou z jeho nejvýraznějších vlastností totiž je, že dokáže výrazně snížit bariéru mezi nápadem a fungujícím programem.
Neznamená to, že z každého člověka udělá profesionálního vývojáře. Umožňuje mu však dostat se mnohem dále.
Když programujeme rozhovorem
Pojem vibe coding se začal výrazně šířit poté, co jej v únoru 2025 použil Andrej Karpathy, počítačový vědec známý svou prací v oblasti umělé inteligence.
Popsal způsob tvorby programu, při kterém člověk přestává psát většinu zdrojového kódu přímo a místo toho komunikuje s modelem přirozeným jazykem. Říká mu, co chce změnit, předává mu chybová hlášení a postupně se snaží dostat k požadovanému výsledku.
Karpathy ve svém původním popisu zašel poměrně daleko. Uváděl například, že už příliš nečte jednotlivé změny v kódu a chybová hlášení jednoduše předává modelu. Sám přitom tento přístup spojoval především s menšími projekty.
Právě zde je vhodné rozlišovat mezi původním, velmi volným pojetím vibe codingu a širším způsobem práce s AI při současném vývoji softwaru.
Empirická studie Microsoft Research publikovaná v roce 2025 sledovala několik hodin reálných relací programátorů využívajících podobný způsob práce. Výzkumníci zjistili, že proces typicky probíhal v opakujících se cyklech. Uživatel formuloval požadavek, AI vytvořila nebo změnila kód, člověk výsledek rychle zkontroloval nebo spustil a podle výsledku pokračoval dalším zadáním.
Při ladění se přitom AI kombinovala s klasickými manuálními postupy.
Nejde tedy nutně o jednoduché:
„Napiš mi aplikaci.“
A následně:
„Hotovo.“
Mnohem realističtější je postup:
Požadavek. Výsledek. Kontrola. Další požadavek. Oprava. Test.
Programování se začíná v určitém smyslu podobat rozhovoru.
Jak může takový rozhovor vypadat?
Princip si můžeme ukázat na velmi jednoduchém příkladu.
AI bychom mohli zadat například tento prompt:
„Vytvoř jednoduchou stránku v HTML a JavaScriptu. Na stránce bude text Ahoj světe a dvě tlačítka. První tlačítko změní text na Vibe coding funguje. Druhé tlačítko vrátí původní text.“
Výsledkem může být například tento kód:
<!DOCTYPE html>
<html lang="cs">
<head>
<meta charset="UTF-8">
<title>Ukázka vibe codingu</title>
</head>
<body>
<h1 id="text">Ahoj světe</h1>
<button onclick="changeText()">Změnit text</button>
<button onclick="resetText()">Vrátit původní text</button>
<script>
function changeText() {
document.getElementById("text").textContent =
"Vibe coding funguje";
}
function resetText() {
document.getElementById("text").textContent =
"Ahoj světe";
}
</script>
</body>
</html>
Nejde samozřejmě o nijak složitý program.
Právě proto je ale na tomto příkladu dobře vidět, co se změnilo.
Uživatel nemusel znát přesný zápis funkce v JavaScriptu. Nemusel si pamatovat, jak se vyhledává HTML prvek podle jeho identifikátoru ani jak se mění jeho textový obsah.
Popsal požadované chování.
AI převedla jeho záměr do programovacího jazyka.
To je podstata změny.

Vibe coding: jak probíhá tvorba programu. Ilustrace vytvořena pomocí OpenAI.
Kód ale musí někde fungovat
Zde se někdy může vytvářet dojem, že celý proces programování probíhá uvnitř okna s AI.
Ve skutečnosti je zdrojový kód jen jednou částí aplikace.
V našem jednoduchém příkladu můžeme vytvořený kód uložit do souboru index.html a otevřít jej v internetovém prohlížeči.
Pro samotnou práci s kódem můžeme využít například Visual Studio Code.
Jde o široce používaný editor zdrojového kódu, ve kterém lze vytvářet strukturu projektu, upravovat soubory, pracovat s terminálem a využívat nástroje pro ladění programu.
Pro jednoduchou HTML stránku další přípravu téměř nepotřebujeme.
Jakmile se ale pustíme do složitějšího projektu, situace se mění.
Aplikace může potřebovat Node.js, PHP nebo Python. Může využívat databázi. Může vyžadovat další knihovny a jejich konkrétní verze. Může potřebovat webový server nebo komunikovat s externími službami prostřednictvím API.
Před samotným programováním tak někdy musíme připravit vývojové prostředí.
A právě zde se začíná ukazovat, že ani velmi schopná generativní AI automaticky neodstraňuje potřebu alespoň v základních rysech rozumět technickému prostředí.
AI může samozřejmě pomoci také s jeho přípravou.
Můžeme se například zeptat, co je nutné nainstalovat, jak projekt spustit nebo proč určitý příkaz nefunguje.
Člověk ale stále musí vědět, co vlastně spouští a zda dosažený výsledek odpovídá tomu, co zamýšlel.
Co když program nefunguje?
Tady přichází jedna z částí programování, které se nevyhnuli vývojáři před nástupem generativní AI a nevyhnou se jí ani uživatelé vibe codingu.
Program může skončit chybovým hlášením. Tlačítko nemusí dělat vůbec nic. Výsledek může být jiný, než jsme požadovali. Program může fungovat v jednom prostředí a selhat v jiném.
Vývojář potom hledá příčinu.
Tomuto procesu se říká debugging neboli ladění programu.
Klasické vývojové nástroje umožňují například zastavit program na určitém místě, sledovat hodnoty proměnných nebo procházet jeho běh krok za krokem. Visual Studio Code obsahuje ladicí nástroje pro JavaScript, TypeScript a Node.js a pomocí rozšíření lze podporu doplnit také pro řadu dalších jazyků.
AI k tomu přidává další možnost.
Můžeme jí jednoduše ukázat chybu.
Například:
„Po spuštění programu dostávám následující chybovou zprávu. Vysvětli mi, co znamená, najdi pravděpodobnou příčinu a navrhni opravu.“
Nebo:
„Tato část programu nefunguje tak, jak jsem očekával. Prohlédni kód a pokus se najít chybu.“
Model může problém analyzovat a navrhnout změnu.
Potom ovšem přichází důležitý krok.
Program musíme znovu spustit a ověřit, zda oprava skutečně funguje.
AI může navrhnout řešení. Test ukáže, zda bylo správné.
A když se zeptáme AI ještě jednou?
Zajímavé možnosti vznikají ve chvíli, kdy AI nepoužíváme pouze pro vytváření kódu.
Může fungovat také jako konzultant.
Po vytvoření aplikace jí lze například zadat:
„Prohlédni tento program jako zkušený vývojář. Najdi potenciální chyby, zbytečně komplikované části a místa, která by bylo vhodné přepracovat.“
Další prompt může znít:
„Posuď strukturu projektu. Bude vhodná, pokud budeme aplikaci později rozšiřovat?“
Nebo:
„Zkontroluj, zda se některé části zbytečně neopakují.“
Tím získáváme jiný způsob práce.
AI nejprve vytvoří řešení a následně může být požádána, aby své řešení kriticky posoudila.
Lze dokonce otevřít novou konverzaci a předložit výsledný kód modelu bez předchozího kontextu. Dostaneme tak do určité míry nový pohled na řešení.
Je však důležité nepřeceňovat, co tím získáváme.
AI není neomylný auditor.
Může problém přehlédnout. Může doporučit změnu, která není potřebná. A může vytvořit velmi přesvědčivě znějící vysvětlení, které bude chybné.
Taková konzultace může být cenným pomocným nástrojem. Nenahrazuje však profesionální kontrolu tam, kde na správnosti programu skutečně záleží.
Od funkce k architektuře
U malé ukázkové stránky nás architektura téměř nemusí zajímat.
Máme několik řádků kódu a všechno je na jednom místě.
Představme si ale, že vytváříme aplikaci pro evidenci zákazníků.
Nejdříve potřebujeme jen název firmy, kontaktní osobu a poznámku. Později přidáme obchodní příležitosti, nabídky, úkoly, historii komunikace, dokumenty, přihlášení uživatelů a různé úrovně oprávnění.
Najednou už nestačí, aby program pouze fungoval.
Musíme také rozhodnout, jak bude uspořádán.
Právě tím se zabývá softwarová architektura.
Je například potřeba rozhodnout, co bude řešit uživatelské rozhraní, co bude zpracovávat serverová část aplikace, jakým způsobem budou uložena data a jak budou jednotlivé části systému komunikovat.
U běžné webové aplikace můžeme mít samostatné uživatelské rozhraní, aplikační logiku a databázi.
Mezi jednotlivými částmi existují jasně definovaná rozhraní.
Nejde přitom pouze o akademickou čistotu.
Dobře navrženou aplikaci lze snáze opravovat, testovat a rozšiřovat.
Špatně navržená aplikace může nějakou dobu fungovat také.
Problém se často objeví až později. Každá nová změna zasahuje několik jiných funkcí. Oprava jedné chyby vyvolá jinou. Nikdo už přesně neví, která část programu za co odpovídá.
Vzniká technický dluh.
A zde má rychlost AI také svou druhou stránku.
Pokud dokážeme generovat kód mnohem rychleji než dříve, dokážeme stejně rychle vytvářet i nekvalitně strukturovaný kód.
Rychlost samotná proto není měřítkem kvality.
Začátečník může dojít podstatně dál
Právě zde je pro mě vibe coding osobně nejzajímavější.
Člověk, který ovládá základy programování, může s pomocí AI vytvářet řešení, na která by se vlastními silami možná vůbec nepustil.
Nemusí znát zpaměti každý příkaz.
Pokud něčemu nerozumí, může požádat o vysvětlení.
Pokud neví, jak určitou funkci vytvořit, může si nechat navrhnout postup.
Pokud program skončí chybou, může s AI konzultovat její příčinu.
Tím se výrazně mění možnosti člověka, který není profesionálním vývojářem.
Zároveň zde ale vzniká jedno riziko.
Člověk může vytvořit program, jehož kódu ve skutečnosti příliš nerozumí.
Čím složitější projekt je, tím závažnější tento problém může být.
Profesionální vývojář má výhodu právě v tom, že díky zkušenostem obvykle rychleji pozná neobvyklé řešení, špatně navrženou strukturu, možnou bezpečnostní slabinu nebo slepou cestu dalšího vývoje.
Výzkum Microsoft Research došel k podobnému závěru.
Programátorská odbornost při vibe codingu nezmizela. Spíše se její význam částečně přesunul. Důležitější se stává práce s kontextem, rychlá kontrola vytvořeného kódu a schopnost rozhodnout, kdy lze pokračovat prostřednictvím AI a kdy je lepší zasáhnout přímo.
Funkční neznamená bezpečné
Velmi důležitá hranice se objevuje u bezpečnosti.
Program může dělat přesně to, co po něm chceme, a přesto obsahovat závažnou bezpečnostní chybu.
Zajímavé výsledky přinesla studie publikovaná v roce 2026 v Proceedings of the 43rd International Conference on Machine Learning.
Výzkumníci vytvořili benchmark SUSVIBES obsahující 186 úloh vycházejících z reálných open source projektů a testovali dvanáct různých konfigurací programovacích agentů.
U jedné z testovaných konfigurací bylo 57 procent vytvořených řešení funkčně správných, ale pouze 11,8 procenta zároveň splnilo bezpečnostní kritéria daného benchmarku.
Toto číslo je potřeba interpretovat přesně.
Neznamená, že 88,2 procenta veškerého kódu vytvořeného AI je nebezpečného.
Jde o výsledek konkrétního experimentu, konkrétního benchmarku a konkrétní konfigurace.
Výsledek ale názorně ukazuje něco podstatnějšího.
Funkční správnost a bezpečnost nejsou totéž.
Právě ve firemním prostředí může být tento rozdíl zásadní.
Může vibe coding proniknout do firem?
U osobního projektu je možné tolerovat nedokonalosti, které by v produkční aplikaci nebyly přijatelné.
Firemní software může pracovat s osobními údaji, obchodními informacemi nebo účetními daty. Mohou jej používat desítky či stovky lidí. Výpadek může způsobit reálnou škodu.
Vedle samotné funkčnosti proto vstupují do hry další požadavky.
Aplikace potřebuje správu uživatelů a oprávnění. Data musí být zálohována. Je potřeba řešit aktualizace a provozní dostupnost. Musí být možné dohledat chyby a někdy také zaznamenávat, kdo provedl konkrétní změnu.
Zásadní význam získává zabezpečení.
V takovém prostředí může být generativní AI velmi účinným nástrojem pro vývoj.
Samotný princip bezstarostného přijímání každého vygenerovaného řešení však přestává být rozumný.
Čím důležitější je aplikace, tím významnější musí být kontrola.
Dokázali bychom s pomocí AI vytvořit vlastní CRM?
Zkusme úvahu posunout ještě dále.
CRM systém je aplikace určená pro správu vztahů se zákazníky.
V základní podobě může obsahovat firmy, kontaktní osoby, obchodní příležitosti, nabídky, historii jednání, úkoly nebo plánované termíny další komunikace.
Takový systém už je podstatně složitější než naše stránka s tlačítkem.
Přesto lze jednotlivé části rozdělit na řešitelné úkoly.
AI může pomoci navrhnout strukturu databáze, vytvořit formuláře, připravit serverovou část, navrhnout API, vytvořit přihlášení uživatelů nebo připravit části uživatelského rozhraní.
Může pomáhat také při testování a opravách.
Z čistě technického pohledu proto není představa vlastního CRM vytvořeného s významnou pomocí AI ničím nepředstavitelným.
Otázka už ale nezní pouze:
„Dokážeme jej vytvořit?“
Mnohem důležitější je:
„Dokážeme jej dlouhodobě bezpečně provozovat?“
Tím se vracíme k architektuře, zabezpečení, testování, dokumentaci a údržbě.
CRM jako součást většího systému
Firemní aplikace navíc většinou nežijí izolovaně.
CRM může potřebovat informace z ERP.
ERP neboli Enterprise Resource Planning obvykle spravuje vnitřní podnikové procesy, například finance, zásoby, nákup nebo výrobu. CRM se naopak soustředí především na zákazníky, obchod a související komunikaci.
Propojením lze omezit ruční přepisování údajů.
Obchodník například může vidět stav objednávky nebo dostupnost zboží, aniž by informace vyhledával v jiném systému.
V tomto okamžiku se však z tvorby jedné aplikace stává integrace několika systémů.
A problém začíná být podstatně zajímavější.

Vibe coding: firemní využití, CRM, ERP a EDI. Ilustrace vytvořena pomocí OpenAI.
Dokázali bychom přidat i EDI?
Dalším krokem může být EDI, tedy Electronic Data Interchange.
EDI umožňuje standardizovanou elektronickou výměnu obchodních dokumentů mezi informačními systémy různých organizací.
Může jít například o objednávku, fakturu, informace o zásobách nebo avízo o expedici.
Podstatou je automatizace.
Údaj nemusí jeden člověk přečíst v systému zákazníka a jiný člověk znovu přepsat do systému dodavatele.
Systémy mohou data předávat automaticky.
EDI integrace představuje propojení EDI platformy s interními podnikovými systémy, například ERP, SCM nebo systémy pro řízení pracovních postupů. Součástí takového propojení jsou mimo jiné převody dat mezi interními strukturami a standardizovanými formáty a komunikace s externími obchodními partnery.
Mohla by tedy AI pomoci vytvořit vlastní CRM, které bude komunikovat také prostřednictvím EDI?
Technicky ano. U skutečného produkčního nasazení už však nejde pouze o schopnost vygenerovat integrační kód.
AI může například pomoci vytvářet transformační logiku, integrační služby nebo části API.
Tím se ale dostáváme velmi daleko od původní ukázky několika řádků HTML.
Je potřeba přesně vědět, odkud data přicházejí a jaký mají formát.
Musíme určit, jak mají být jednotlivá pole mezi systémy mapována.
Je potřeba řešit, co se stane, pokud některý údaj chybí, pokud se spojení přeruší nebo pokud je stejná zpráva přijata vícekrát.
Systém musí umět zaznamenávat chyby a v některých případech opakovat přenos po dočasném výpadku.
Vedle toho je nutné řešit zabezpečení komunikace a specifické požadavky jednotlivých obchodních partnerů.
V tomto okamžiku už nehovoříme pouze o generování zdrojového kódu.
Řešíme systémovou integraci.
Vibe coding snižuje bariéru, ne složitost reality
A právě zde se podle mě nachází jeden z nejdůležitějších závěrů.
Generativní AI dokáže výrazně snížit bariéru potřebnou k vytvoření softwaru.
Neznamená to však, že automaticky snižuje složitost problému, který software řeší.
Vytvořit jednoduchý formulář je dnes snadnější.
Správně navrhnout informační systém firmy je stále složitý úkol.
Vygenerovat několik funkcí je snadnější.
Rozhodnout, jak mají mezi sebou komunikovat desítky částí rozsáhlejšího systému, už vyžaduje mnohem hlubší znalosti.
AI nám může pomáhat i s těmito otázkami.
Odpovědnost za rozhodnutí tím ale nezmizí.
Je to ještě programování?
Nakonec se nabízí poněkud filozofická otázka.
Pokud člověk nenapsal většinu zdrojového kódu vlastní rukou, skutečně programoval?
Odpověď možná závisí na tom, co slovem programování myslíme.
Pokud jde výhradně o ruční zápis příkazů v konkrétním programovacím jazyce, potom se lidská role skutečně může výrazně zmenšit.
Programování však vždy zahrnovalo také něco jiného.
Pochopení problému.
Rozdělení problému na menší části.
Návrh řešení.
Kontrolu výsledku.
Hledání chyb.
Rozhodování o tom, jak mají jednotlivé části systému spolupracovat.
Tyto činnosti zatím nezmizely.
Mění se především způsob, jakým své požadavky předáváme počítači.
Kdysi bylo nutné sdělit většinu pokynů prostřednictvím programovacího jazyka.
Dnes lze stále větší část záměru formulovat běžnou řečí.
Programátor nemusí zmizet. Může se změnit jeho práce
Vibe coding bývá někdy prezentován jako předzvěst konce tradičního programování.
Takový závěr je podle mě předčasný.
Dosavadní výzkum spíše ukazuje proměnu práce.
Část rutinní tvorby kódu lze předat AI.
O to větší význam může získat schopnost přesně definovat problém, kontrolovat výsledek, rozumět architektuře a rozhodovat, kterému návrhu lze důvěřovat.
Pro začátečníka přináší generativní AI něco mimořádně zajímavého.
Může jej dostat k výsledkům, které pro něj byly ještě nedávno velmi obtížně dosažitelné.
Pro zkušeného vývojáře může stejná technologie znamenat výrazné zvýšení produktivity.
Rozdíl mezi oběma ale nezmizí.
Začátečník s AI může vytvořit program, který by bez ní vytvořit neuměl.
Zkušený vývojář může díky svým znalostem lépe poznat, zda je vytvořený program skutečně dobrý.
A právě tato schopnost může být ve světě generativního programování stále důležitější.
Poznámka
Programování se věnuji na amatérské úrovni. Článek proto nevznikl z pozice profesionálního softwarového vývojáře. Vychází z vlastní praktické zkušenosti, studia odborných a technických zdrojů a zkoumání možností současných nástrojů umělé inteligence.
Při přípravě článku byl využit nástroj AI pro jazykovou kontrolu textu, rešeršní podporu při ověřování vybraných údajů a tvorbu ilustračních vizuálů. Obsah a vyznění textu jsou autorské.
Odkazy na použité zdroje
Andrej Karpathy: původní příspěvek, ve kterém v únoru 2025 použil označení „vibe coding“
Advait Sarkar, Ian Drosos: Vibe coding: programming through conversation with artificial intelligence, Proceedings of the 36th Annual Conference of the Psychology of Programming Interest Group, 2025
Songwen Zhao a kol.: Is Vibe Coding Safe? Benchmarking Vulnerability of Agent Generated Code in Real World Tasks, Proceedings of the 43rd International Conference on Machine Learning, 2026
Visual Studio Code: Debug code with Visual Studio Code, oficiální dokumentace
IBM: What is EDI integration?
IBM: EDI and ERP integration: best practices, benefits and challenges
IBM: CRM ERP integration: Accelerate with AI






