Hlavní obsah
Internet, technologie a elektronika

Jak jsem programoval s umělou inteligencí

Foto: AI Sora

Programování je zdlouhavé.

Všude čtu, že je umělá inteligence skvělá a jak urychlí práci. Rozhodl jsem se to vyzkoušet tak, že použiji pouze zdarma dostupné nástroje a vytvořím web. Trvalo to čtrnáct dnů.

Článek

Vytipoval jsem si tři nástroje. Klasický ChatGPT, který je podle mne ideální spíše na povídání. Ve verzi zdarma mne vždy dostal tím, že vyřeší jednu věc, ale zlikviduje tři jiné, které už jsem měl v projektu vyřešené. Podávat velké kusy kódu je zjevně chyba. „Promiň, vynechal jsem to.“ Ale proč?

Dělá změny pro změny, aby se něco dělo. Problém je, když projekt kyne, tak všechno souvisí se vším a nelze podat jen dílčí věc. Pokud jsou změny rozsáhlé, tak je snazší požadovat a přemluvit nástroj, ať vypíše změny jako kompletní kód. Ale to je pro AI práce navíc. Tak často něco vynechá, zjednoduší a pak už se jen divíte.

Dva kroky dopředu, pak naráz deset dozadu. Jediná šance je neustále si ukládat verze projektu před změnou, po změně, po testech. A nebýt moc zoufalý, že se stále vracíte na začátek. Pokud tomu člověk rozumí a ví, co se děje, pak zvládne opravovat chyby a nedodělky umělé inteligence a vracet ji, když se vydá nesmyslným směrem. Ale jako laik nemáte vůbec šanci.

Začátek projektu byl jednoduchý. Jak se bude web jmenovat? No přeci Jiří Koudela. Jenže doména CZ byla obsazená, takže to skončilo na jirikoudela.eu za 200 Kč, ale asi jen první rok. Pak přišly na řadu certifikáty, hostování, ale to všechno alespoň mělo nějaká pravidla. Co přišlo poté, to mne opravdu překvapilo.

Snažil jsem se být precizní, nakreslil jsem si vzhled webu a strukturu projektu na papír. Udělal vzorové vizualizace a vybral si na hlavní práci programátorskou AI Claude. Ta dovolí ve free verzi za den jen několik dotazů, ale za to je precizní a nevymýšlí si tak, jako ostatní. Prý dělá jen přesně to, co má a udrží kázeň.

Jako pomocníka, který je podle mne sice poměrně prostý, ale zase zná skvěle všechny učebnice, syntaxi a jednořádkové věci dodrží přesně, tak jsem vybral Copilota.

A pak to začalo.

Myslel jsem, že to bude trvat tak pět dnů, ale protože jsem nezaplatil za nástroje ani korunu, trvalo to 14 dnů a byl to opravdu velmi náročný proces. Hlavně psychicky.

Vždy už to vypadalo na průlom, když najednou se v Claude objevila hláška, že jsem vyčerpal 90 procent kreditu a pokračování bude možné za několik hodin. Sem tam se to zaseklo, sem tam se pustil do věcí, které byly nepodstatné. Nešel zastavit a vyčerpal na tom kredit. Ale i tak musím uznat, že byl nejpreciznější a že to podle mne byl jediný „skutečný programátor“, který projekt opravdu posunul. Problém byl v tom, že každý den byl posuv jen o kousek. A pokud chtěl člověk pokračovat i po zablokování, tak se trápil s Copilotem v něčem, na co podle mne nemá. A pak v ChatGPT, které změnilo hromadu věcí kolem, někdy k lepšímu, ale většinou projekt po pár krocích složilo. Fungovalo podávání jen dílčích problémů, nikdy ne celek.

Vysledoval jsem zajímavou věc, kdy si myslím, že nehalucinuje AI, ale spíše já. Asi byly lepší a horší dny. Jeden den vám podá AI velký kus kódu jen s vizuálními chybami a funkční. Jiný den vše, co jí pečlivě připravíte a zadáte, tak totálně zazdí a nefunguje nic, ani to, co fungovalo. Prý zlepšila kód. Sama i přes zákaz. Zapomněla příkazy a omezení, protože kontextové okno je malé a o deset postů dál už zase nic neví. Nebo se mi to alespoň tak jeví. Pouze ten Claude se choval rozumněji, ale podobné „vady v komunikaci“ měl také.

Při programování s umělou inteligencí je hlavní věc poznat, že „tudy to nepůjde“. Chtěl jsem formulář, který mi ulehčí vyplňování a bude obsahovat nějaké paměti a pomůcky. Vyhořely na tom tři dny, než jsem to vzdal. Kvůli několika tlačítkům navíc nástroj naprosto zničil celý systém. Tlačítka tam byla sice nakreslená, ale nedělala nic z toho, co bylo v zadání. Navíc přestalo fungovat vše, co již pracovalo a považoval jsem to za hotové. Proč? To nikdo neví. AI se asi špatně vyspala.

Když to nemáte pod kontrolou a sype se to, dvakrát jí vynadáte. Někdy se po sérii vykřičníků umoudří a vše opraví a najednou vše funguje. Jindy tvrdí, že vše opravila, ale je to katastrofa a nefunguje nic. Pak přichází okamžik rozhodnutí. Vrátit se na včerejší nebo předvčerejší verzi. Zapsat si, že toto se opravdu nedařilo a propříště osekat požadavky na minimum. Ideálně vybrat jinou technickou cestu a začít znovu a jinak. Opět podat starou verzi a začínáme znovu a znovu od posledních věcí, které alespoň trochu fungovaly.

Úspora času při této práci je velmi relativní pojem. Možná je to rychlejší, ale bolí to. Občas se podaří, že AI udělá samostatně podle zadání kus práce bez větších chyb. Většinou se to nevyplatí a je to příliš velký risk. Jak nad tím nemáte kontrolu, netušíte, co vlastně udělala přesně a pak už se jen divíte.

Najednou, z ničeho nic, AI usoudila, že ten projekt nevypadá jako z učebnice a udělala změny. A ani o nich nepípla. Nasázela mi tam na sto míst bez varování a bez upozornění opatrnické záplaty pro exotické jazyky, jako je například čeština. Všechno přestalo fungovat, všude byl rozsypaný čaj místo písmen. Chci se vrátit zpět, ale AI už neví, co je zpět. Netuší, co dělala před pěti kroky. Žije jen přítomností. Chci to opravit, ale ona ani neví přesně, kam a do čeho sáhla. Mezitím dělala další věci. Smůla.

Vracíme se na včerejšek a znovu na začátek. Kde že jsem měl to ranní zadání? A to bylo osm večer po celodenním boji. Kdy měl člověk naději, že to třeba proběhne jako včera, kdy jsme se nakonec někam dosunuli.

Ze zoufalství se AI ptám, zda když zaplatím, tak budou výsledky lepší. Moc přesvědčivá není. Peníze chce, ale nic neslibuje. Popisuje principy, které jsou prý shodné i pro bezplatnou verzi.

Najednou se jedna z AI „zbláznila“ a do projektu mi pod každý řádek doplnila tři prázdné řádky. V zadání jasně bylo, že má provést korekci až výsledný program se soubory. Ale nástroj odhaduje a zjevně nad tím „nemá úplně kontrolu“. Tedy program úpravu řádků sice dělá, ale zároveň ji dělá i ta AI. Převzala úkol dvakrát a začala mi podávat jako soubory kódu rozbité nesmysly, které nejdou číst. Nakonec jsem řádky odmazával ručně. Další den jsem raději začal nové vlákno komunikace s tím, že zase první hodinu musím otrocky předávat všechny stránky a podklady projektu. Popisovat kudy ne a kudy ano, i když už to dělám poosmé během několika dnů to samé. Provaří se na tom strašně času a sil.

Když člověk programuje sám, je to zdlouhavé. Ale je jasné, co se dělá. Jde to pomalu, ale někam se to posouvá. S jistotou a doopravdy. S umělou inteligencí je to přetlačovaná a všechno odhadem, kdy neuhodnete, co ze zadání bez varování vynechá.

Máte proti sobě někoho, kdo všechno ví, všechno umí, ale dělá úplné nesmysly, špatně vám rozumí a nic si nepamatuje.

Po 14 dnech jsem došel k závěru, že potřebuji měsíc dovolenou. Potřebuji zapomenout na tu hrůzu a marnost, kdy nástroj nutíte k něčemu, na co vlastně asi není. Aby vás poslouchal a dodržoval vaše pravidla. Je to skleróza, za pár příspěvků už zase nic neví. Z toho, co jste napsali, dvě třetiny vynechá a ani nepípne. Nikdy nic netušíte, co vám vlastně podal se sebevědomím, jak je to hotové a je to perfektně.

Vezmete to, spustíte to a jen zíráte. Musíte dělat dokolečka znovu a znovu všechny testy. I ty, které už dávno fungovaly, protože vše souvisí se vším a nikdy nevíte ani minuty, kdy AI udělá řez a je po projektu.

U každého souboru si musíte ukládat sto kopií s čísly a psát si, co bylo ok a kde byly „mouchy“. Někdy se oprava povede, někdy ne. Občas se nepovede ani na 10 pokusů a vždy se tvrdí že vyřešeno. A zase nic. V takovém okamžiku je dobré to vzdát a jít jinudy. Nebo to řešit místo Claude s Copilotem, který sice často nevyřeší problém, ale pomůže s tím. Popíšu o co jde a on mi ukáže místo v kódu, kde se to řeší. A já pak mažu řádky a měním řádky pokus omyl. Nebo si nechám napsat proces podle českého zadání a ten tam dosadím.

Copilot mne včera zase dostal, že jsem mu podal funkci a postup, jak ji předělat. Krásně to vyřešil, ale v závěru nepochopitelně vynechal uložení do proměnné. Takže při testech nechodilo nic a zase spousta času zbytečně vniveč. Každou úpravu si musí člověk pečlivě přečíst a kontrolovat každý řádek. Proč vynechal poslední řádku, na to nebyl schopen odpovědět. On řešil proces a zapomněl, že se má pak také odeslat a vykonat. Ta totální odtrženost od smyslu činnosti a cíle tam prostě je. A to je pořád dokola.

Tedy AI podle mne nefunguje ani jako malé děti. Sice všechno ví, ale všechno bez dozoru zkazí. Je jen o vás, zda jste natolik pevný „režisér“, že si uhlídáte „herce“ a donutíte je podat výkon, i když to sabotují, jak to jde.

Když mi konečně stránka jirikoudela.eu začala fungovat, uronil jsem po 14 dnech slzu štěstí. Bylo to opravdu strašné utrpení. Bylo to rychlejší, než kdybych to psal a nebo dohledával syntaxi. Ale bylo to zcela vyčerpávající v tom, že vám vlastně vaši práci neustále někdo sabotuje s tím, že prý pomáhá.

Tedy podle mne má umělá inteligence před sebou ještě dlouhou cestu. Nepochybuji o tom, že bude programovat skvěle. Ale zatím je to většinově podle mne spíše „nepraktický učitel sklerotik, odtržený od reality, kterého nezajímá výsledek a nechápe smysl toho, co dělá“.

Musíte ho přeprat a donutit, aby věci fungovaly. Je to jak si hodit korunou a musíte rozumět rozložení problému na kousky, plus znát základy jazyka, abyste byli schopni kontrolovat, co vzniklo.

Poměrně hodně mne znechutilo, jak v průběhu projektu nepozorovaně mizí (u ChatGPT) nebo se mění (u Claude) části, které byly skvělé a fungovaly. A už je tam nedoplníte, protože se mezitím vše změnilo a vy jste si toho, že něco potichu smázl, nevšimli. Neudělali jste celých sto testů, ale jen dvacet a pak už je pozdě. Je kruté dilema, zda se vrátit o tři dny zpět a dělat všechny ty věci s AI znovu od „bodu obnovy“. Nebo to zkousnout, že to v projektu bylo a už není a umělá inteligence to tam nedokáže vrátit. Někdy pomáhá podat dva dny starý stav projektu a říct mu, ať danou funkci doplní do nového. Ale riskujete, že zase rozbije další věci.

Programování s umělou inteligencí je vlastně nekonečné otravné testování a boj o výsledek, kdy netušíte, do čeho se právě sáhlo. Zatímco když člověk programuje sám, všechno ví, co udělal. Pak testuje jen ty věci, které se změnily nebo kde si není jist. Tady ale musíte testovat dokolečka vše znovu a znovu. AI strašně ráda mění i věci, ke kterým nebyl vůbec žádný důvod.

V okamžiku, kdy mi vyskočil tento článek na monitoru i na webu jirikoudela.eu a už tam nebyl místo češtiny rozsypaný čaj ani ruské znaky, bylo to čiré štěstí. Článek se neztratil ani po vložení dalšího. Dokonce se podařilo vynutit i fungování na mobilních zařízeních. To mi spadl kámen ze srdce. Dokázal jsem to. Bylo to strašné, ale povedlo se. Nyní potřebuji dovolenou. Něco tak vyčerpávajícího jsem před érou umělé inteligence nikdy nezažil.

Pokud použiji AI jen na generování tabulek v excelu, nesplete se. Ale podobné, i jen trošku rozsáhlejší věci, jsou strašná dřina ne proto, že by byly složité, ale proto, že s každým dalším příkazem a podaným výsledkem musíte testovat spoustu věcí. Nesmíte věřit tomu hranému sebevědomí, kdy AI tvrdí, že „to funguje“. Obvykle nefunguje. Často jen jako vtip. Mám přes 195 verzí od každého z dvaceti souborů a už to konečně běhá. Ale grafiku jsem tam editoval raději ručně, na té bych provařil měsíc času.

Tolik moje zkušenost s tím, jak se programuje s umělou inteligencí. Reálně a zadarmo. „Přeprat robota.“ To je to, o co jde.

Zdroj:

https://jirikoudela.eu

Máte na tohle téma jiný názor? Napište o něm vlastní článek.

Texty jsou tvořeny uživateli a nepodléhají procesu korektury. Pokud najdete chybu nebo nepřesnost, prosíme, pošlete nám ji na medium.chyby@firma.seznam.cz.

Související témata:

Sdílejte s lidmi své příběhy

Stačí mít účet na Seznamu a můžete začít publikovat svůj obsah. To nejlepší se může zobrazit i na hlavní stránce Seznam.cz