Vibe coding je trend AI‑asistovaného programování, kdy vývojář popisuje záměr v přirozeném jazyce a LLM generuje kód. Termín zpopularizoval Andrej Karpathy v roce 2025 a bývá spojovaný s rychlým prototypováním a „flow“ stylem práce, kde se méně řeší vnitřní struktura kódu a více výsledek. V praxi to znamená prompt → generace kódu → spuštění → zpětná vazba → iterace.

Jakmile se tento styl začal používat mimo prototypy, narazil na limity: nejednotná architektura, technický dluh, rizika bezpečnosti a obtížná údržba. Z toho vyrostl pojem vibe engineering: vědomé spojení rychlosti AI generace s inženýrskými postupy (architektura, testování, code review, bezpečnost, CI/CD). V roce 2026 se mluví i o agentic engineeringu – evoluci směrem k autonomním agentům, kteří plánují a iterují změny v repozitáři, zatímco člověk nastavuje cíle, mantinely a kontrolní mechanizmy.
1. Vibe coding – trochu podrobněji
Definice a základní mentalita
Vibe coding je přístup, který staví na rychlém převodu úmyslu do okamžitě použitelného výstupu. Důraz je na rychlosti, lehkosti a experimentování – cílem není finální dokonalost, ale rychlé „nahmatání“ možného směru. Typicky se používá při tvorbě UI prototypů, drobných skriptů, jednoduchých interních nástrojů, automatizací nebo MVP, kdy je nejdůležitější získat hmatatelný artefakt co nejdříve. Mentalita vibe codingu podporuje iteraci, testování nápadů v praxi a flexibilní přepisování všeho, co se ukáže jako slepá cesta. Je to způsob práce, který umožňuje pracovat s AI jako s kreativním partnerem a rychle proměnit nápad v něco, co lze vidět, ohmatat nebo rovnou spustit.
Mikro‑workflow (konverzační smyčka)
- Popiš cíl (co má vzniknout, jaké vstupy a výstupy očekáváš)
- AI vygeneruje kód
- Spusť a pozoruj
- Uprav prompt podle reality (chyby, edge‑cases, změna požadavku)
Kde vibe coding exceluje
- Prototypy a experimenty (rychlé ověření nápadu)
- „Software for one“: malé nástroje pro konkrétní potřebu
- Glu‑code (lepidlo mezi komponentami), boilerplate
- Explorace API a knihoven
Typické slabiny a rizika
- Kód „funguje“, ale není udržovatelný
- Nekonzistentní pojmenování, struktura, duplicity
- Skryté bezpečnostní problémy (validace vstupů, autorizace, injection)
- Chybějící testy a regresní ochrana
- Nekompatibility a nejasná závislostní politika
Praktické prompty pro vibe coding (příklady)
PROMPT #1 (rychlá utilita):
Napiš Python skript, který projde složku, najde všechny .log soubory, vyfiltruje řádky obsahující slovo ERROR a uloží výstup do errors.txt.
PROMPT #2 (frontend prototyp):
Vytvoř jednoduchou HTML stránku s login formulářem (email, heslo) a validací na klientovi. Použij čisté CSS bez frameworků.
PROMPT #3 (WordPress helper):
Navrhni Python script, který velký json soubor rozdělí na několik částí pro lepší a snadnější manipulaci. Zachovej vnitřní strukturu a obsash.
Ukázka kódu:
import json
import math
import os
# Nastavení
INPUT_FILE = "enGB.json" # velký JSON
OUTPUT_DIR = "parts" # složka pro výstup
ITEMS_PER_PART = 1000 # počet položek v jedné části
os.makedirs(OUTPUT_DIR, exist_ok=True)
# 1) Načti velký JSON
with open(INPUT_FILE, "r", encoding="utf-8") as f:
data = json.load(f)
# 2) Získej skutečné texty uvnitř "strings"
strings = data["strings"]
# 3) Převod na list dvojic (GUID, text)
items = list(strings.items())
total = len(items)
# 4) Spočítej počet částí
parts = math.ceil(total / ITEMS_PER_PART)
# 5) Rozdělení
for i in range(parts):
start = i * ITEMS_PER_PART
end = start + ITEMS_PER_PART
chunk_items = dict(items[start:end])
# Každá část musí mít stejnou strukturu jako originál
chunk = {
"$id": f"part_{i+1}",
"strings": chunk_items
}
filename = os.path.join(OUTPUT_DIR, f"part_{i+1:03}.json")
with open(filename, "w", encoding="utf-8") as f:
json.dump(chunk, f, ensure_ascii=False, indent=2)
print(f"Hotovo! Vytvořeno {parts} souborů v '{OUTPUT_DIR}/'.")
2. Vibe engineering – profesionální revoluce
Co vibe engineering řeší
Vibe engineering si klade za cíl propojit rychlost a kreativitu umělé inteligence s principy odpovědného návrhu. Nejde jen o to, aby AI generovala řešení rychle – důležité je, aby tato řešení byla dlouhodobě udržitelná, bezpečná pro uživatele i organizaci a snadno integrovatelná do existujících procesů a systémů. Vibe engineering tedy hlídá nejen kvalitu a tón výstupu, ale i jeho strategický dopad: od srozumitelnosti a relevance až po správnou implementovatelnost v praxi.
Principy vibe engineeringu
- Architektura před implementací: kontrakty, moduly, datové toky
- Mantinely pro AI: konvence, styl, dependency policy, bezpečnostní pravidla
- Definice hotovo (DoD): testy, review, dokumentace, logging/metrics
- Automatické guardraily: lint, unit/integration, SAST/SCA, CI pipeline
- Průběžný refaktor: sjednocení stylu, odstranění duplikací, simplifikace
Reálný workflow
- Požadavky + nefunkční kritéria (NFR)
- Architektonický návrh (diagramy, kontrakty, rozhraní)
- Prompting s kontextem (repo struktura, konvence)
- Generace inkrementu (malé změny)
- Spuštění testů + manuální kontroly
- Code review (člověk) + refaktor
- CI/CD + observabilita
- Iterace
Vzor „architektonického promptu“
Role: Jsi senior backend engineer.
Cíl: Implementuj endpoint POST /users/ ve FastAPI.
Kontext: Projekt používá vrstvy model → repository → service → API.
Omezení: Žádné nové závislosti. Dodrž konvence názvů a strukturu složek.
Bezpečnost: Validuj vstupy, ošetři duplicity, vrať správné HTTP kódy.
DoD: Unit testy, negativní testy (duplicitní email), krátká dokumentace.
Výstup: Diff změn + seznam souborů + instrukce spuštění testů.
Ukázka kódu
# Python (pseudo‑struktura): service + repository kontrola duplicity
class UserRepository:
def __init__(self, db):
self.db = db
def get_by_email(self, email: str):
return self.db.query(User).filter_by(email=email).first()
def create(self, user):
self.db.add(user)
self.db.commit()
self.db.refresh(user)
return user
class UserService:
def __init__(self, repo: UserRepository):
self.repo = repo
def create_user(self, email: str):
if self.repo.get_by_email(email):
raise ValueError("duplicate email")
user = User(email=email)
return self.repo.create(user)
A pro úplnost praktický checklist
- Každá AI změna musí projít testy
- Zakázat „velké jednorázové“ změny bez plánu
- Povinné review u auth, PII, plateb, rolí
- CI musí blokovat merge při selhání SAST/SCA
- Logování a error handling jako součást DoD
3. Z druhé strany – co na to UX?
V technickém smyslu řeší vibe engineering kvalitu kódu, architekturu a procesy. V produktově‑designovém smyslu však „vibe“ vyjadřuje, jak software PŮSOBÍ: jak snadno se používá, jak srozumitelně komunikuje, jaké vyvolává emoce a zda se do něj chce uživatel vracet. Jinými slovy: nestačí „aby to běželo“, musí to „ladit“ — na úrovni estetiky, interakcí, jazyka, tempa a osobní relevance.
Základní principy UX‑vibe engineeringu
- Konzistence a rozpoznatelnost: jednotné vzory ovládání, typografie, barevnost a gesta napříč celou aplikací.
- Kognitivní šetrnost: minimalizace zbytečné volby a hluku; každý krok má jasný účel; texty jsou krátké a srozumitelné.
- Plynulost (flow): rychlé odezvy rozhraní, prediktelné přechody, jemná animace jako orientační vodítko (ne okrasa).
- Emoční rezonance: tón komunikace (mikrocopy) odpovídá situaci — jistý při chybě, vřelý při úspěchu, neutrální při rutině.
- Relevance a personalizace: kontextové doporučení dalšího kroku, připomenutí rozpracovaných úloh, adaptivní pořadí prvků.
- Důvěra a bezpečí: transparentní práce s daty, jasná oprávnění, reverzibilita (undo/rollback), přístupnost pro všechny.
Praktická metodika krok za krokem
- Vibe brief: sepiš cílový pocit („jistota při nákupu“, „plynulost při psaní“, „radost z dokončení“), cílové momenty (první spuštění, první úspěch, návrat po pauze) a tone‑of‑voice.
- Kritické cesty: zmapuj top 3 flow (onboarding, hlavní úkol, sdílení výsledku) a navrhni „ideální emotivní křivku“ (od nejistoty k jistotě).
- Mikro‑interakční skripty: pro každý krok definuj „co uvidím/slyším/pocítím“, jaká hláška se zobrazí, jaký přechod proběhne.
- Guardraily: definuj pravidla (max. délky hlášek, konzistence tlačítek, limity doby odezvy, fallbacky offline).
- Měření: stanov UX metriky (viz níže) a minimální prahy pro nasazení.
- Experimenty: připrav A/B testy mikrocopy, uspořádání prvků, animací a personalizace.
- Kontinuální učení: zapoj NPS/CSAT, volitelné jednověté ankety, heatmapy a session replays (GDPR‑safe), vyhodnocuj měsíčně.
A teď prakticky – vzor „vibe“ promptu
Role: UX návrhář s praxí 10 let
Úkol: Navrhni mikrocopy pro úspěšné uložení (tón jistý, stručný, bez výkřičníků), nabídni další relevantní krok.
Kontext: Uživatel právě vytvořil nový projekt. Cíl: pokračovat k přidání prvního úkolu.
Výstup:
Hláška: „Projekt uložen.“
Doplňující text: „Přidej první úkol, ať se můžeš pustit do práce.“
Tlačítko primární: „Přidat úkol“
Tlačítko sekundární: „Zobrazit projekt“
.. nebo
Role: UX návrhář s praxí 10 let
Úkol: Navrhni mikro‑interakci pro „uloženo“ (trvání animačního potvrzení do 250 ms, přístupné i bez animace).
Kontext: Uživatel klikne na „Uložit“.
Výstup:
Ikona: přechod z hodin do fajfky (fade+scale 180 ms)
Barva: z neutrální na jemně zelenou (#16a34a, kontrast 4.5:1)
Fallback: bez animace zobraz toast „Uloženo“ na 1,5 s
Design‑ops a governance pro udržení „vibe“
- Designový systém jako zdroj pravdy (komponenty, tokeny, příklady mikrocopy, patterny chyb/úspěchů).
- Content guide (tone‑of‑voice, slovník, capitalization, interpunkce) a pravidelné content‑review.
- Checklist přístupnosti (kontrast, focus, ARIA, klávesové zkratky, „reduced motion“), povinný gate v CI.
- UX research kadence (měsíční triáž problémů z anket a session replay), roadmapa zlepšování micro‑flow.
- Incidenty UX kvality (např. matoucí hlášky) – evidovat jako bugy s vlastní prioritizací a SLA.
UX‑vibe engineering zajišťuje, že software nejen „běží“, ale také „ladí“ s uživatelem. Přenáší profesionální disciplínu vibe engineeringu i do oblasti jazyka, interakcí a emocí: definuje cílový pocit, navrhne kritické cesty, popíše mikro‑interakce, nastaví měřítka a iteruje na základě zpětné vazby. Výsledkem je produkt, který je rychlý, srozumitelný, sebevědomý, osobní a udržitelný — tedy plně v souladu s cílem moderního AI‑asistovaného vývoje.
4. Agentic engineering – stav, kdy agenti dělají většinu práce
Krátká definice
Agentic engineering je posun od „promptování“ k „orchestrace“. Člověk nastaví cíle, omezení, standardy kvality a agenti plánují a iterují změny, dokud cíle nesplní.
Praktický prompt pro agentní režim
Cíl: Migrace modulu účtování na mikroservisy
Omezení: Kompatibilita s API 2024, žádné breaking changes
Kvalita: 85%+ test coverage, regresní testy kritických toků
Bezpečnost: authZ kontrola, audit log, validace vstupů
Výstupy: plán kroků, PR per krok, report testů, rollback plan
Self-check: po každém kroku ověř testy a metriky
A teď, místo praxe zkusme pár otázek (a odpovědí), o kterých jsem nedávno přemýšlel:
Pár slov na závěr
Vibe coding přinesl revoluci v rychlosti prototypování a zásadně zkrátil cestu od nápadu k funkční verzi softwaru. Umožnil vstoupit do světa programování i těm, kteří nemají hlubokou znalost syntaxe či konkrétních technologií, a otevřel prostor pro rychlé experimentování, objevování nových konceptů a tvorbu interních nástrojů bez tradičních bariér. Právě tato dostupnost a rychlost však zároveň odhalila jeho limity – kód byl často nekonzistentní, obtížně udržitelný a náchylný k chybám, což z něj činí rizikovou volbu pro dlouhodobé produkční použití ve větších systémech.
Vibe engineering na tyto problémy reaguje tím, že do AI‑asistovaného vývoje vnáší strukturu, stabilitu a profesionální disciplínu. Zachovává výhodu vysoké rychlosti, ale přidává architekturu, testování, kontrolu kvality, bezpečnostní guardraily a procesy, díky kterým se AI generovaný kód dá dlouhodobě udržovat. V praxi to znamená přesun těžiště práce: méně času na psaní boilerplatu, více času na rozhodování, návrh kontraktů, tvorbu správných mantinelů a ověřování výsledků. Vývojář se stává aktivním kurátorem kódu a garantem kvality.
Agentic engineering představuje další evoluční krok: AI už nepomáhá jen s jednotlivými úlohami, ale agenti koordinovaně plánují, implementují, testují a iterují změny. Člověk se posouvá do role architekta, který definuje cíle, standardy, hranice a kontrolní mechanismy, a následně dohlíží na průběh a výsledky. Tento model je mimořádně silný u rozsáhlých změn, modernizací legacy systémů a úloh, které se skládají z mnoha kroků. Zároveň zvyšuje důležitost testů, dokumentace a jasných pravidel – bez nich se autonomie agentů může změnit v rychlé generování technického dluhu.
Společně tvoří vibe coding, vibe engineering a agentic engineering ucelenou osu moderního vývoje: od rychlého objevování přes disciplinovanou tvorbu až po agentně řízené prostředí. Každý přístup má své místo: vibe coding pro rychlé nápady, vibe engineering pro produkční kvalitu, agentic engineering pro komplexní a dlouhodobé systémové změny.
PS: chcete si přečíst o tom, jestli ai coding nahradí všechny SaaS služby? S chutí do toho 🙂

