Andrej Karpathy, bývalý manažer v OpenAI, na začátku roku přišel s termínem "vibe coding" (kódování podle pocitu), což znamená rychlé vytváření softwaru pomocí přirozených jazykových příkazů pro umělou inteligenci. Tento přístup měl usnadnit vývoj, ale postupně se objevily vážné nedostatky. Například velké bezpečnostní problémy vedly k únikům citlivých osobních dat a navíc halucinace umělé inteligence (chyby v generovaném kódu) mění projekty v chaotický nepořádek, který musí opravovat lidští programátoři.
Sám Karpathy se zdá, že ztratil důvěru v tento vlastní nápad. Jeho nejnovější projekt se jmenuje Nanochat a jde o jednoduché rozhraní, které napodobuje ChatGPT v základní podobě. "Spustíte cloudový box s grafickým procesorem, spusťte jediný skript a za čtyři hodiny můžete mluvit s svým vlastním velkým jazykovým modelem ve webovém rozhraní podobném ChatGPT," chválil se Karpathy v nedávném příspěvku síti X.
Přesto tento projekt nevznikl pomocí vibe kódování. "Je to v podstatě celé ručně napsané," přiznal Karpathy v následném komentáři. "Zkusil jsem použít agenty Claude a Codex několikrát, ale prostě nefungovaly dost dobře a byly spíš na obtíž, možná proto, že repozitář je příliš mimo distribuci dat." To znamená, že i sám tvůrce nedůvěřuje technologii natolik, aby ji použil na svém vlastním díle.
Původní záměr a realita vibe kódování
Karpathy nikdy nechtěl, aby vibe kódování nahradilo lidské programátory natrvalo. V únorovém příspěvku, kde termín poprvé použil, napsal: "Někdy LLM (velké jazykové modely) nedokážou opravit chybu, takže ji jen obejdu nebo žádám náhodné změny, dokud nezmizí. Není to špatné pro jednorázové víkendové projekty, ale pořád docela zábavné." Tento přístup měl sloužit jen pro rychlé experimenty, ne pro seriózní vývoj.
Firmy ale často přehánějí s používáním této metody, aby ušetřily náklady a investovaly do umělé inteligence. Podle zprávy z 404 Media se stále více programátorů zabývá opravami kódu, který umělá inteligence vygenerovala s chybami. V nejlepším případě projekty nedosáhnou potřebné kvality. V horším případě takový kód může smazat celé databáze.
Další problémy odhalené výzkumy
Výzkumníci zjistili, že kódování s pomocí umělé inteligence ve skutečnosti zpomaluje lidské vývojáře místo toho, aby zvyšovalo jejich produktivitu. V nedávné zprávě od konzultační firmy Bain & Company se uvádí, že i když programování bylo jednou z prvních oblastí, kde se generativní umělá inteligence nasadila, úspory byly nevýrazné. "Generativní umělá inteligence přišla s obrovskými očekáváními a mnoho firem se vrhlo do pilotních projektů. Výsledky ale nesplnily očekávání," stojí ve zprávě.
Platforma Fastly provedla průzkum mezi 800 vývojáři a zjistila, že nejméně 95 % z nich muselo trávit extra čas opravami kódu generovaného umělou inteligencí. Experti varují, že přílišné spoléhání na tento přístup brání mladým programátorům v učení základů. Daniel Jackson z MIT řekl pro Wired, že to může vést k "masám nefunkčního kódu plného bezpečnostních děr" a k nové generaci programátorů, kteří nebudou schopni tyto díry opravit.
Zkušenosti vývojářů s vibe kódováním
Vývojáři, kteří vibe kódování vyzkoušeli, popisují směs emocí: radost, zklamání, frustraci a stres. Časté potíže zahrnují špatné interpretace výstupů, nepochopení jasných příkazů i přes přirozený jazyk a rychlé spotřebovávání kreditů při opravách chyb. Jeden vývojář ohodnotil svou první zkušenost známkou D+ a dodal, že to má využití pro koncepty nebo hračky, ale "není připravené na hlavní nasazení".
Objevuje se i fenomén "Dory loops" (smyčky zapomnění), kdy umělá inteligence sebevědomě tvrdí, že opravila chybu, která přetrvává, a přitom spotřebovává kredity bez pokroku nebo dokonce rozbije fungující kód.
Kde vibe kódování najde uplatnění
Přesto má vibe kódování své místo. Hodí se pro malé rychlé prototypy k ověření nápadů, jednoduché ladění běžných chyb a automatizaci opakujících se úkolů, jako je generování základního kódu nebo převod starého kódu do moderních frameworků. Experti ale zdůrazňují, že výstupy je nutné vždy kontrolovat, protože umělá inteligence často přehlíží specifika projektu.
