AI Vibe kódování
V naší společnosti jsme s tímto stylem vývoje experimentovali. Chtěl jsem se s vámi podělit o vlastní zkušenosti - kde to funguje dobře a kde se to nedaří.
Když vibe kódování funguje, působí téměř magicky: umělá inteligence zná kontext projektu, dotýká se správných souborů a dokáže poměrně rychle navrhnout nový kód. Pro malé věci - interní skripty, jednoduché webové stránky, profily nebo lehké automatizace - je to ideální. Použil jsem ji například k vytvoření prototypu nápadu pro zákaznické demo mnohem rychleji, než kdybych vše psal ručně.
Existují však kompromisy. Umělá inteligence má tendenci „sahat“ do kódové základny. Někdy zasahuje do souborů, o které jste ji nepožádali, nebo dokonce přepisuje funkční kód. I když výslovně řeknete, aby se modulu X nedotýkala, někdy to udělá. To znamená, že musíte bezpodmínečně zkontrolovat každou změnu krok za krokem. Rozbít věci potichu je stále příliš snadné.
Kdy to funguje ?
Umělá inteligence rozumí kontextu projektu, navrhuje správné rozdíly a zprovozní něco během několika minut. U malých projektů - interních skriptů, jednoduchých stránek, lehkých automatizací - je to obrovská úspora času.
Dokonce jsem vytvořil prototypy pro zákazníky za méně než hodinu - což je něco, co by statická maketa zdaleka neukázala. Právě v tom AI vyniká: šířka nad hloubkou, čerpání z veřejných vzorů k rychlému vytvoření funkčního kódu.
Pro mě jsou nejsympatičtější:
Vytváření prototypů: rychlá přeměna nápadů na živé ukázky.
Interní nástroje: např. jednoduché registrační aplikace pro události Teams.
Malé moduly: změny v rozsahu, které můžete zkontrolovat během několika minut.
Velmi pomáhá rozdělení práce na malé, modulární úkoly. Když požádáte umělou inteligenci o rozsáhlou funkci najednou, často skončíte se špagetami nebo neočekávanými úpravami v celém repozitáři.
Kde má problémy ?
Kouzlo mizí na hloubce. Specifická firemní logika, jako je například vylepšení shody v aplikacích Forge, často umělou inteligenci zklame. Mezi další výzvy patří např:
Výrobní aplikace: Ladění je bolestivé, pokud AI rozprostře změny napříč vrstvami backendu, frontendu a DB. Bez přehledných protokolů se nenápadné chyby snadno skryjí.
Týmové workflow: Více vývojářů, kteří „jedou jen podle pocitu“ bez koordinace, rychle vede ke konfliktům při mergování a regresím.
AI často duplikuje logiku, mění strukturu projektu nebo zavádí technický dluh. Pokud celý tým slepě přijímá výstupy umělé inteligence, mohou se kódové základny rychle stát nepřehlednými.
Překročení pravomocí: I když je AI instruována, aby se určitých modulů nedotýkala, někdy to udělá. Kontrola krok za krokem je neoddiskutovatelná.
Problémy s balíčky/verzemi: AI může navrhovat knihovny se zastaralými verzemi nebo známými zranitelnostmi, což vytváří skrytá rizika v dodavatelském řetězci.
Právní a IP rizika: Kód generovaný AI může vycházet z autorsky chráněných zdrojů; legislativa i judikatura se stále vyvíjejí, což znamená, že můžete čelit nárokům nebo komplikacím s licencováním.
Bezpečnostní rizika: Automaticky navržené závislosti mohou obsahovat CVE nebo nezabezpečené verze, což zhoršuje celkovou bezpečnostní pozici dodavatelského řetězce.
Nástroje, které jsem vyzkoušel
Windsurf - Skvělé zkušenosti vývojáře, chápe kontext projektu a dobře funguje pro modulární úlohy. Stále však musíte vědět, co chcete, a strukturovat práci do menších kroků. Velké funkce najednou často vedou k chaotickým výsledkům.
Rovo Dev Agents (beta) - nástroj pro kódování s umělou inteligencí - v praxi se mi zatím nezdál příliš specifický pro Atlassian - spíše jako další asistent pro kódování s umělou inteligencí, i když se zajímavým potenciálem uvnitř prostředí Atlassian (Rovo agents → automatizace).
Moje spodní hranice
Vibe kódování je jako práce s bystrým, ale nepředvídatelným stážistou: skvělé nápady, pochybné provedení.
Ano, používejte ji pro prototypy, interní nástroje a malé změny.
Ne, ne slepě ve výrobě. Pouze v omezené míře a s přísnou kontrolou (protože by to mohlo vést k právní nejistotě, rizikům v dodavatelském řetězci, bezpečnosti a obavám z dlouhodobé udržovatelnosti). U složitých aplikací by umělá inteligence měla podporovat - nikoli nahrazovat - lidský návrh, testování a revize.
Při správném postupu se může zrychlit až 2x. Při špatném provedení vás čeká regrese, technický dluh a právní nejistota.
Klíčové kontakty:
Matej Štrba