Co je to Vibe coding?

14. května 2025
Article cover image - co je to vibe coding

Úvod


Co je to vibe coding? Kromě nové polarizace společnosti? Už jste ten název určitě zaregistrovali někde na LinkedInu, Youtubu či nějakém fóru. Plus už je to na Wikipedii, takže se musíme připojit i my.


Vibe coding je způsob tvoření aplikací skrze AI, kde se místo manuálního psaní kódu využívá prompting. Vibe coding se spoléhá na nástroje jako GitHub Copilot, Cursor, Replit Agent nebo ChatGPT, které interpretují prompty a vytvářejí kód - od jednoduchých prototypů až po webové aplikace.


To sice může vývoj urychlit, ale zatím pouze pod dohledem zkušeného programátora. Těm by to však mohlo uvolnit ruce pro důležitější činnosti – jako je testování nebo zajištění bezpečnosti aplikace.


Jak to začalo?

Termín “vibe coding” pochází z tweetu Andreje Karpathyho, prominentního AI výzkumníka a bývalého spoluzakladatele OpenAI z února 2025.


Tweet začíná takto: “There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists.”


V překladu: “Existuje nový druh kódování, kterému říkám „vibe coding“, kde se plně poddáte pocitům (vibes), přijmete exponenciály a zapomenete, že kód vůbec existuje.”


K čemu může být vibe coding dobrý?


Rychlost a produktivita

Seniorním vývojářům to může šetřit čas. Ti se nyní díky AI mohou soustředit na řešení komplexnějších problémů, namísto boilerplate (opakující se kód, který je většinou stejný napříč projekty) kódu nebo syntaxu. AI se postará o rutinní úkoly, jako je vytváření formulářů nebo menší refactoring, což vývojářům umožňuje soustředit se na věci, které vyžadují složitou logiku.


Prototypování

Pro netechnické či designové pozice se nabízí možnost rychle prototypovat aplikace nebo její části. Například Figma také nabízí prototyping, ale interaktivní stránka může být daleko zajímavější a užitečnější (například pro vylepšení UX).


Explorace

Konverzační povaha vibe codingu podněcuje kreativitu a umožňuje vývojářům prozkoumat nápady, které by dříve možná ani nezvažovali. Existují dokonce i hlasově ovládané nástroje, jako je SuperWhisper, které umožňují hands-free zážitek z kódování.


Kde může nastat problém?

Kvalita kódu

Kód vygenerovaný AI může obsahovat chyby, být neefektivní nebo nemusí být zcela bezpečný. LLMs mohou produkovat kód, který funguje povrchně, ale skrývá problémy, které nemusí být ihned zřejmé. Známá firma , že kód generovaným AI je často zranitelný vůči problémům, jako je SQL injection (zranitelnost, kdy uživatel může poslat na server SQL a změnit/smazat tam data) a měl by tak vždy projít kontrolou. 


Spaghetti code

Pod rukama nezkušených vývojářů může vznikat tzv. “spaghetti code”, další momentálně často používaný pojem. Spaghetti code je jednoduše špatně napsaný či vygenerovaný a nekonzistentní kód, který pak musí zkušení programátoři opravovat. 

Pokud AI nemá velmi specifický prompt a úpravy se dělají na velké části kódu a v mnoha souborech, tak si AI často nedokáže uvědomit spojitosti a komponenty nebo soubory spolu nemusí fungovat. Zároveň má AI tendenci produkovat složitější kód, než je potřeba. Pokud po AI něco chcete, měli byste vědět, jak toho chcete dosáhnout a do promptu to zadat. Například: “Udělej X za použití Y funkcionality (i.e. map v JavaScriptu)”.


Závislost na AI

Vývojáři, zejména začínající, riskují, že se stanou příliš závislými na AI, což může zpomalit jejich učení. Hrozí, že jejich znalosti základních programátorských dovedností, jako je debugging, budou nedostatečné a nebudou schopni se posouvat na vyšší úroveň. To může vést k problémům, hlavně když AI nástroje nejsou zrovna k dispozici nebo obsahují a způsobují chyby.


Údržba a škálování kódu

Vibe coding projekty často postrádají modularitu, dokumentaci nebo nedodržují osvědčené postupy, což ztěžuje jejich škálování a údržbu. když se projekt musí opravit, vývojáři mohou mít potíže s pochopením kódu, což může vést k technickému dluhu a vysokým nákladům.


Právní rizika

AI může neúmyslně zahrnout kód chráněný autorskými právy nebo licencovaný kód. To může vést k právním nejasnostem ohledně vlastnictví nebo dodržování licencí pro open source. Aplikace mohou navíc postrádat kritická bezpečnostní opatření, jako správnou ochranu uživatelských dat či platebních karet. Je třeba se vyvarovat používání nekontrolovaného vibe codingu u projektů, kde je potřeba přísné zabezpečení dat (například bankovní či zdravotní software).


Zjednodušený přístup pro tvorbu aplikací pro tzv. non-coders (lidé co nekódují)
Toto je asi diskutabilní, nicméně to vnímáme spíše jako negativní stránku věci. Na jednu stranu je představa toho, že každý může tvořit aplikace, a odstraní se bariéry, hezká, ale na druhou stranu, i aplikace které už máme, nejsou v mnoha případech zcela bezpečné a dotáhnuté na 100%.


Ačkoliv lze aplikaci ‚vypromptovat‘, o to více následné péče vyžadují. Je třeba je důsledně otestovat a to už je zase technický skill. Je třeba zkontrolovat, zda kód dává smysl a jestli spolu různé části aplikace správně komunikují a na to jsou opět potřeba dobré znalosti v programování 


Přibývá případů, kdy netechnická osoba, při vibe codingu aplikace doplatila na to, že kódu nerozuměla. Hobby hackeři aplikaci pohřbili. A to skrze neošetřený rate limiting na API (kolik requestů je možné poslat v určitém časovém rozmezí), a další díry v bezpečnosti.


Vibe coding tweet about a failed app


Například , kde si vibe coding můžete zkusit, sice zmiňuje, že jejich nová verze je bezpečnější, ale nepopisují jak 🤷‍♀️. Z jejich oznámení se pouze dozvíme, že přidali Security Scan funkcionalitu.

Kód ze kterého se AI učí, je stále tvořen lidmi, a bohužel ani většina vývojářů a firem nemá vyřešenou bezpečnost na 100%.

Jak předejít problémům a využívat potenciál vibe codingu

  • Krok po kroku: Generovat a implementovat kód po malých částech. Hlavně kód testovat, aby se chyby odhalily včas.
  • Zkontrolovat a pochopit: I když vývojáři kód nepíší, měli by kontrolovat výstupy AI, aby zajistili funkčnost, správnost a bezpečnost kódu.
  • Správně promptovat: Poskytovat konkrétní a stručné pokyny ke snížení nejednoznačnosti a zlepšení kvality výstupů AI.
  • Zálohovat a verzovat: Důkladně verzovat a zálohovat kód pro případ, že změny provedené AI způsobí problémy.
  • Omezit rozsah: Používejte vibe coding pouze pro menší projekty, jako jsou prototypy nebo nástroje pro osobní využití, nikoli pro produkční software bez důkladné kontroly.


Závěr

Vibe coding je alternativní způsob vývoje softwaru, který využívá AI k převodu přirozeného jazyka na kód. Díky tomu může být programování rychlejší, dostupnější a kreativnější.


Má to ale i své háčky – generovaný kód může být nespolehlivý, hůře udržovatelný a může přinášet právní rizika. Proto je stále důležitý lidský dohled. Když vývojáři chytře spojí AI s klasickými dovednostmi a drží se osvědčených postupů, mohou z vibe codingu vytěžit maximum a přitom se vyhnout většině nástrah.

Není to náhrada klasického software inženýrství – ale skvělý nástroj, pokud se používá správně.

Author
Sabina Balejikova
Sabina Balejikova
Generalist

Generalistka se zájmem o ops, obchod, software design a programování. V současné době vytvářím aplikace v NextJS a prohlubuju si znalosti v oblasti informatiky.

Související články