Vibecoding: Jak pomocí AI naprogramovat dobrou aplikaci
13. srpna 2026S umělou inteligencí aktivně pracuji od roku 2023 jako uživatel, používám ji v aplikacích a poslední rok s pomocí AI i programuji. A v tomto článku se podělím o své zkušenosti s AI a hlavně se chci podělit o reálné zkušenosti z vývoje softwaru za pomoci AI.
V roce 2023 jsem AI, konkrétně ChatGPT, původně používal pouze pro zábavu nebo jako vyhledávač, který mi dokázal dát rychle odpověď na stručnou otázku.
Dneska už však AI umí dobře zpracovat i delší podklady.
Obrázky, které AI generovala v roce 2023, byly komické, dneska v roce 2026 AI vygeneruje obrázky, které se kvalitou vyrovnají grafikovi nebo realitě.
Všechny tyto minulé zkušenosti jsem zaznamenal v článku o AI z roku 2023
Už tenkrát se dalo programově napojit na AI a jejich jazykové modely. Jak na to je popsáno v mém článku s návodem pro použití OpenAI API v programovacím jazyce Python. Je tak možno využívat AI vlastní nebo AI modely třetích stran. I díky tomu jsem realizoval ukázkovou realizaci projektu s AI: Automatické generování srozumitelných lékařských zpráv
Dneska v roce 2026 je možno AI provozovat i lokálně, i když takové modely jsou pomalejší a jejich výstupy jsou méně kvalitní. Velké modely s dalšími nástroji však dneska umožňují efektivně programovat. Proces, kdy kód nepíše programátor, ale AI, se označuje jako vibecoding.
Co je to vibecoding
Vibe coding nebo zkráceně psáno vibecoding, je způsob programování, kdy programátor již nepíše kód řádek po řádku a místo toho se stává zadavatelem, režisérem a editorem, který své vize komunikuje v přirozeném jazyce s pokročilými AI nástroji (jako jsou Cursor, Claude nebo Replit Agent). Celý proces stojí na schopnosti popsat co a jak se má vytvořit a AI generuje konkrétní kód a často vytváří i konkrétní architekturu, logiku a vzhled. Je to proces, kdy konkrétní technická realizace ustupuje do pozadí a důležitější je umět dobře zadat požadavek co a jak se má udělat. Člověk se tak může více soustředit na kreativitu, vymýšlení nových funkcí a nezabývat se tolik konkrétní implementací. Dokonce je možné, že i neprogramátoři dokážou vytvořit jednoduché aplikace nebo prototypy.
AI nástroje
Jaký AI nástroj použít? V první řadě nástroj budete volit podle toho jestli jste skutečný programátor nebo jste neprogramátor a chcete vytvořit program.
Pro neprogramátory jsou nástroje, které se soustředí na vzhled a technické řešení mají předvolené a předpřipravené a nechávají ho na pozadí, protože laik tomu nerozumí a ani ho to nezajímá. Můžete vyzkoušet například https://stitch.withgoogle.com. Osobně jsem zkoušel projekt https://lovable.dev, který pomocí AI vytváří projekt napsaný v JavaScriptu/TypeScriptu a jako úložiště je použitá databáze Supabase. Rychle mi to dle zadání vygenerovalo aplikaci, kterou jsem mohl rovnou používat a byla přístupná na Internetu. Některé její funkce fungovaly, některé ne. Ovšem detailněji jsem nezkoumal v kvůli čemu to nefungovalo a jestli by to šlo jednoduše nebo těžce opravit.
Pro programátory a techniky pak jsou vhodné nástroje Claude Code nebo Cursor. Pro vyzkoušení je výhoda, že Cursor má i free režim. Já jsem si Cursor předplatil, takže ho nyní používám každý pracovní den na vývoj a programování aplikací.
Jak vypadá Cursor při reálném použití můžete vidět zde:
Claude Code je konzolový nástroj. Cursor je grafická aplikace, která funguje jako IDE. I Claude code jsem si nakonec předplatil a primárně používám nyní hlavně Claude Code.
Takto se pracuje s Claude Code:
Programování pomocí AI používám i pro existující projekty. Dneska se věnuji výhradně vývoji kvalitních projektů s dobrou architekturou a minimem legacy kódu. Pokud jde o webové aplikace, tak ve většině případů jsou naprogramované v robustním PHP frameworku Symfony. A díky tomu se AI ve zdrojovém kódu projektu dobře zorientuje a AI je schopno projekt kvalitně upravit.
Realizoval jsem i jeden projekt kompletně na zelené louce a vývoj jsem dělal od začátku pomocí AI. Jedná se o moji video e-learningovou platformu itdevlearn.cz.
Pro běžnou práci s textem, pro dotazy a pro generování obrázků používám Gemini, protože má dobré rozhraní a mám tak jedno AI pro desktop i pro mobil. Gemini má dneska integrované i generování obrázků, takže obrázky generuji přes něj.
Čeho jsem si všiml u kódu vygenerovaného pomocí AI
Kód od AI na první pohled vypadá dobře, funguje a má i komentáře. Když ho ale čtete jako vývojář, který ho bude několik let udržovat, narazíte na opakující se nešvary:
- AI duplikuje kód. Místo aby AI použila existující službu nebo metodu, napíše si stejnou logiku znovu na dalším místě. Dobrými příkazy jde však AI donutit, aby se tento klasický nešvar omezil.
- AI generuje moderní složité konstrukce, ve kterých se pak dá špatně vyznat. Můj názor je, že lepší tvořit lehce čitelný kód. Takový těžko čitelný kód proto nechávám přepsat do něčeho jednoduššího.
- AI se snaží přidávat spoustu nových technologií a závislosti, které projekt nepotřebuje a které pak někdo musí udržovat a aktualizovat.
- Nebo AI naopak píše všechno vlastní. Tam, kde existuje dobrá, jednoduchá a odladěná knihovna je typicky dobré použít knihovnu, než nechat AI tvořit další vlastní kód, který pak budete muset udržovat.
- AI generuje komplikované testy nebo testuje hlouposti Ve výsledků je testů hodně, běží dlouho, ale reálnou chybu neodhalí. Proto je potřeba i testy analyzovat a cíleně definovat co se má testovat.
- AI nevyužívá možnosti frameworku. Typicky vygeneruje vlastní kód pro validaci, přitom by stačilo použít anotaci (atribut). V případě PHP frameworku Symfony se pomocí anotací dá vlastnost entity přenést až do formuláře a tam se díky anotaci vtupní formulářová políčka pak automaticky validují.
- AI se inspiruje kódem z projektu i tam, kde to nedává smysl. Vytvoří kód, který je podobný okolnímu kódu, ale v dané funkci to není potřeba, například předává proměnné, které jsou normálně přímo dostupné.
A hlavně: AI je ochotná naprogramovat cokoliv. Takže vám klidně naprogramuje něco, co je špatně nebo nedává smysl, pokud jí to tak zadáte. Neřekne vám „tohle je nesmysl“, ale poslušně to udělá.
Co je potřeba, aby AI odvedla dobrou práci
AI nedělá zázraky, ale násobí to, co už v projektu je. Na dobrém základu je výsledek výborný, na špatném základu se problémy jenom rozmnoží. Potřebujete tedy:
- Kvalitní návrh architektury aplikace a dobrý zdrojový kód.
- Robustní technologie Například PHP framework Symfony, který drží vývojáře i AI v jasných mantinelech.
- Schopného vývojáře, který umí verzovat (tedy git), má technické a logické myšlení a rozumí použitým technologiím.
AI potřebuje přístup k tomu, s čím má pracovat: přístup ke zdrojovému kódu, k souborům a ideálně databázi. K produkčnímu serveru zásadně AI přístup nedávám. Ostatně vývoj dělám na lokálním počítači s aplikaci provozuji v dockeru. Je třeba používat git, díky kterému se můžete vrátit k funkční verzi a porovnávat změny. Je nutnost mít testy, které se ideálně budou spouštět automatizovaně. Díky testům totiž ověří, že aplikace pořád funguje stejně.
Moje doporučení
Zde je moje doporučení jak zadávat úkoly AI agentovy, který vám programuje aplikaci.
- Zadávejte malé, přesně definované úkoly. Čím větší a vágnější zadání, tím větší pravděpodobnost, že výsledek budete zahazovat.
- Nestačí popsat jen jaký má být výsledek, ale i jak to má technicky fungovat.. Logiku může klidně vymyslet AI, ale vy by jste měli rozumět a následně potvrdit jak se daná funkčnost má fungovat.
- Verzujte a commitujte často. Před každým větším zásahem AI mějte čistý stav repozitáře, ať se máte kam vrátit.
- Používejte opensource technologie. Projekty založené na opensource technologiích mají výhodu, protože jim AI díky dostupné dokumentaci a příkladům mnohem lépe rozumí.
- Nepouštějte AI na špatný projekt. Upravovat pomocí AI špagetový kód, například web napsaný v PHP bez frameworku, je jisté riziko.
- Nechte si od AI psát unit testy. To je práce, která je pro AI vděčná a ušetří vám dost času.
- Vždy kód po AI přečtěte a zrevidujte. Zodpovědnost za výsledek má pořád člověk.
Pokud máte dobře udržovaný projekt v PHP/Symfony a držíte přísné standardy, tak vám AI základ podobné funkcionality kompletně vytvoří za 15 minut, zatímco vy jste to jindy dělali třeba dva dny. Pak už stačí to jen program doladit a zkontrolovat. To sice taky zabere nějaký čas, ale pokud chcete mít jistotu, tak ten čas musíte investovat.
Rizika
Bezpečnost
AI dokáže provést analýzu typických chyb v programu, které mohou ohrozit stabilitu nebo bezpečnost aplikace. Ovšem bezpečnost je také určena správným definováním a implementací rolí a přístupových práv. AI vám to naprogramuje tak, jak to potřebujete, a tak, aby to fungovalo. Jenže jste si jistí, že nikdo a v žádné situaci nemá přístup k datům, která nemá vidět? Různá omezení se dělají z důvodu bezpečnosti, ale na druhou stranu omezují uživatele. Často je pak jednodušší data zpřístupnit více, než přesně jak je definováno pro proces, podle kterého se má přístup k datům řídit.
Výkon
Výkon závisí na kvalitě kódu a na výkonu serveru. Servery můžete posilovat hodně, ovšem ne do nekonečna a bude vás to stát peníze. Lepší je investovat do kvalitního kódu. AI dokáže dodat kvalitní kód, ovšem ne vždy, a proto by měl zkušený vývojář kód revidovat. Zkušený IT specialista navíc dokáže vytipovat místa, která se dají zjednodušit bez omezení funkčnosti a dalšího úprav aplikace, a tím i urychlit vývoj urychlit. Zároveň zkušený IT vývojář naprogramuje výkonnostně optimalizovaný kód tam, kde to má smysl.
Škálovatelnost
Myslíte si, že nasadíte aplikaci do cloudu a najednou ji budete moci škálovat? Tak to se mýlíte. Aby šla aplikace škálovat, musí k tomu být dobře navržená. Typicky takovou aplikaci navrhnete jako mikroslužby, ale s mikroslužbami vám roste složitost a přibývají nové potenciální problémy. A v tu chvíli opět přichází byznysová otázka: chcete rychle dodat funkční aplikaci, která plní hlavní potřeby, nebo chcete vybudovat něco škálovatelného? Všechno najednou chtít nemůžete a se složitostí rostou rizika, včetně rizika neúspěchu.
Praktické využití AI i mimo psaní kódu
- Korektura textu, ať už jde o dokumentaci, e-mail nebo článek.
- Vysvětlení pojmu nebo zkratky, na kterou narazíte v cizím projektu.
- Brainstorming nad myšlenkami. Výstup je ale potřeba kriticky analyzovat a zhodnotit, protože AI vám ochotně nabídne i cesty, které nedávají smysl.
- Generování obrázků a grafických podkladů.
Limity nástrojů a organizace práce
Claude Code má limit v podobě pětihodinového okna a k tomu denní limit. Pro toho, kdo pracuje v režimu klasické kancelářské osmihodinovky v kuse, to může být problém. Já osobně vstávám brzo ráno. Kus práce udělám ráno. Před polednem se k práci vrátím a okno se mi během toho vyresetuje. Následně pak podvečer. Pokud večer pracuji hodně a dlouho a tím pádem limit přesáhnu okno limitu se mě opět stihne vyresetovat.
Jak hodnotím vstup AI do segmentu vývoje softwaru
AI vývoj změní trh. Přijdou programátoři o práci? Pokud něčí prací bylo jenom bušit kód, pak takový člověk přijde o práci. Pracovní náplní vývojáře však není pouze produkovat kód, ale analyzovat zadání, navrhovat architekturu a hlavně rozhodovat o tom co a jak se má udělat a přímá zodpovědnost za kvalitu kódu, který pak používá reálný člověk a na jehož běhu závisí celá firma nebo dokonce celý stát.
Kvalita kódu vygenerovaného pomocí AI je často velmi dobrá obzvlášť pokud to jsou úpravy na dobře udržovaném projektu. Problém však může být špatně vytvořené zadání nebo nedostatečná přesnost ve specifikaci jak má aplikace fungovat.
Kvalita budoucích aplikací, které se mezi nás uživatele dostanou, tak bude hlavně záviset na manažerských rozhodnutích, jestli bude preferována rychlost, cena nebo bezproblémová funkčnost.
Pro začátečníka může AI znamenat produkování lepšího kódu, než jaký by napsal sám. Pro zkušeného programátora bude AI naopak znamenat produkci kódu, který nebude tak dobrý, jaký by napsal on, ale pořád bude dostatečný.
Očekávám, že nocode a lowcode nástroje budou na ústupu, protože je dneska pro laika jednoduché udělat rovnou aplikaci pomocí AI. Pokud jde o kvalitu z pohledu bezpečnosti , tak podle mě to bude problém. Né protože AI nebere ohled na bezpečnost, ale protože lidi nechtějí řešit bezpečnost. Bezpečnost je totiž většinou omezuje. Další výhodou je, že programování za pomoci AI jste schopni dodat mnohem složitější funkcionalitu než na předpřipraveném řešení. Aplikaci realizovanou laikem za pomoci AI nakonec může převzít zkušený programátor, aby z bastlu postupně udělal funkční a bezpečné řešení, které se dá udržovat a rozvíjet.
Závěr
Vibecoding je reálný způsob práce, který používám každý pracovní den, a šetří mi spoustu času. Neznamená to ale, že by programátor přestal být potřeba, jen se mění jeho role a požadavky na něj. AI je výborný a rychlý vykonavatel, ale rozhodnutí o tom, co a jak se má udělat, a zodpovědnost za výsledek zůstávají na člověku.
Články na podobné téma
Jak zrychlit web
Rector: upgrade PHP aplikace
Programovací jazyk Go
Analýza zadání a nacenění vývoje softwarového projektu
Python program na ovládání Dockeru pomocí API
Jak použít aplikaci MailCatcher pro testování emailů
Návod: Python OpenAI API
Vytvoření WebSocket webové aplikace a nastavení proxy
Řízení projektů: Agilní vývoj softwaru
Jak provozovat staré PHP aplikace
Co by měl umět dobrý programátor
Programovací jazyk Rust
NodeJS: vývoj, konfigurace serveru
Nette security bug CVE-2020-15227
Jak porovnat dvě stejné databáze?
REST API: API platform
Vlastní web a mail hosting se softwarem ISP Config
Programovní v SQL: PostgreSQL, MySQL/MariaDB
HTTPS: zabezpečený web
NoSQL databáze Mongo DB
Připojení k Microsoft SQL Serveru z Linuxu
Co je pracovní náplň programátora
Lokalizace aplikací v jazyce Python
Jaký mail a web hosting vybrat
How to make wireless low power Arduino
Digispark - Programujte mikrokontrolér Atmel ATtiny pomocí Arduino IDE
Program Roulette
Vývoj pro procesory ARM s Arduino IDE
Wireless low power Arduino
Pyradio - Python program for receive Internet radio with text user inteface
UPS monitor pro Android
Bezdrátový bateriově napájený WiFi teploměr
Jak programovat WiFi procesor ESP8266
Porovnání IQRF vs bezdrátové Arduino
Jakou platformu zvolit pro eshop? Například Prestashop
Development kits and gateways for wireless platform IQRF
OpenStreetMap a GPS trasy v mapě na webu
Quickplay
Java program pro přehledné monitorování záložních zdrojů
Čipové kontaktní a bezkontaktní karty Java Card OpenPlatform
Otevřený chytrý telefon s Linuxem - Openmoko Neo FreeRunner
Vývoj pro bezdrátové moduly s procesorem PIC pod GNU/Linux - IQRF
Grafický program pro embeded/mobilní zařízení na vyhledávání dopravního spoje.
O programování a ruzné programy v jazyce Java, Python a dalších
Java program a applet Kalkulačka
Java program na výpočet kvadratické rovnice
Odběr novinek
Pokud máte zájem dostávat příležitostně na email novinky.
Můžete se vyplněním emailu registrovat k
odběru novinek.
+