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é.

AI vibe coding

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:

Picture of Martin Fischer

Martin Fischer