Programujeme hru pomocí Chat GPT a není to vůbec růžové

Programujeme s Umělou Inteligencí
Vyzkoušeli jsme grafiku s AI, umíme generovat i text. Takže je nejvyšší čas zjistit, zda pomocí Umělé Inteligence dokážou žáci ZŠ něco smysluplného naprogramovat. Třeba hru.

Ano, využíváme chat GPT k tomu, abychom navrhli scénář, vygenerovali HTML či PHP kód a spustili funkční hru. To vše bez znalosti programování.

Opravdové programování? 

Mí žáci znají algoritmy, “programují” v dětských blokových jazycích, kamarádí se se Scratch, řeší “Hodinu kódu” a jiné výzvy adekvátní základní škole a nové koncepci informatiky. 

Co zatím nikdy nedělali, je psaní skutečného kódu v některém z programovacích jazyků. Na a v plošné výuce to ani nemá místo. Proto jsme vyzkoušeli, zda nám v takovém “skutečném programování” pomůže Umělá inteligence a konkrétně Chat GPT

Dopadlo to výborně a zároveň katastrofálně

Dobrá zpráva na začátek

Ano, během 1 vyučovací hodiny se některým žákům 7. ročníku podařilo navrhnout, vygenerovat a spustit vlastní hru. To znamená, že získali funkční kód, který úspěšně vložili do webové stránky, hra více či méně funguje a reaguje. To vše bez jakékoliv předchozí znalosti programování. 

Špatná zpráva

Bohužel, tomu, co jim chat GPT nabídl, (obvykle) vůbec nerozumněli. Pouze kopírovali a vkládali řádky kódu a metodou pokus — omyl zkoumali, “co to udělá”. Většinou to nevyšlo, občas vše fungovalo na první dobrou. 

Ještě jedna dobrá zpráva

 Ono je to bavilo! A svítily jim nadšením oči! A prý v tom budou doma pokračovat. 

Nejlepší zpráva

Naučili se při “programování s AIúplně jiné věci než psát HTML kód. A to se počítá. Co to konkrétně bylo? 

V praxi

V reálném použití Chat GPT neuspěli žáci, kteří zadávali jednoduché pokyny typu “Naprogramuj mi hru”, případně “Chci skákací plošinovku” a nic jiného. Tihle brzy pohořeli. Mysleli si, že Umělá Inteligence za ně vyřeší vše. A ejhle, takto to nefunguje

Uspěly ty týmy, které si dokázaly na počátku stanovit, co chtějí, a dobře to krok za krokem popsat v chat GPT. Například tedy: 

  1. Vytvoř html kód pro vložení do webové stránky, který bude plnit následující funkce:
  2. Vyber 20 nejpoužívanějších anglických slovíček, které by měl znát žák základní školy. 
  3. Najdi k nim český překlad a vytvoř dvojice. 
  4. Vytvoř hru, kdy se z této databáze 20 česko-anglických slovíček vybere 5 náhodných výrazů a postupně nabídne hráči.
  5. Hráči se nabídne první vybrané slovo, zobrazí se velkým písmem, tučně, červenou barvou. Pod tímto slovem je ve středu stránky textové pole, kam hráč zadává překlad. 
  6. Vytvoř počítadlo získaných bodů. Pokud se zadané slovo shoduje se správným výsledkem, počítadlo přičte bod. Počítadlo je zobrazeno červenou barvou pod textovým polem a ukazuje počet získaných bodů ku celkovému možnému bodovému zisku.
  7. Postup hrou je znázorněný pomocí progress baru. Na konci hry se hráči zobrazí blahopřání a celkový počet získaných bodů a nabídka další hry, tentokrát s opačným pořadím překladu.

Pozor, toto není ideální zadání. Na to jsme v průběhu hodiny také přišli. Rozhodně ale dá lepší výsledek než pouhé zvolání “CHCI HRU”. 

Pár takových her dávám k dispozici. Všechny jsou to žákovské projekty a vznikly v hodině informatiky s pomocí Chat GPT. Práce trvala 1 vyučovací hodinu + nějaký čas doma. 

Na kolik umíš anglicky?

Webová aplikace, která vás vyzkouší z anglických slovíček. 

Slovníček - programujeme s Umělou Inteligencí

Vyzkoušejte si zde: Na kolik umíš anglicky? nebo kliknutím na obrázek.

Na kolik umíš anglicky - programujeme s Umělou Inteligencí

 

Hádáme čísla

Prima hříčka, ve které hrajete proti počítači a hádáte číslo, které si myslí. Čím je váš odhad blíže, tím líp. Hra počítá vaše pokusy. Vyhrává hráč s nejnižším skóre. 

Hádání čísel - programujeme s Umělou Inteligencí

Vyzkoušejte si zde: Hádáme čísla nebo kliknutím na obrázek.

Hádání čísla - programujeme s Umělou Inteligencí

Pong game

Tohle je klasika. Tentokrát vygenerovaná kompletně s AI. Zahrajte si sami proti počítači nebo ve dvojici jako multiplayer. 

Pong - programujeme s Umělou Inteligencí

Pong - programujeme s Umělou Inteligencí

Vyzkoušejte si zde: Pong game nebo kliknutím na obrázek.

Pong - programujeme s Umělou Inteligencí

Jak na to? Snadno 

  1. Promyslete, co vlastně chcete naprogramovat.
  2. Zadání detailně a logicky popište.
  3. Vložte zadání do Chat GPT a nechte vygenerovat kód.
  4. Založte žákovský Google web.
  5. Vygenerovaný kód vložte do webové stránky pomocí funkce “Vložit/Embed”.
  6. Obsah publikujte a nezapomeňte nastavit správné oprávnění.
  7. Vyzkoušejte funkčnost hry.

…a mé zamyšlení nad tím vším

Zřejmě ani vás neminuly nadšené články o tom, jak AI postupně změní svět programování a přiblíží jej obyčejným smrtelníkům, případně připraví programátory o práci. Ano, je na tom část pravdy. Povšimněte si prosím důrazu na slovo “část”. 

Když dokáží mí 13letí Script kiddies s pomocí AI navrhnout a realizovat jednoduchou hru, je to vlastně dobře. Ano, můžete namítnout, že ty hry nejsou dobré, jsou omezené, primitivní. Máte pravdu. Jedná se ale o první projekt dětí vytvořený během 1 vyučovací hodiny a k tomu malé chvilky navíc u domácího počítače.

Zřejmě takoto v budoucnu můžeme a budeme realizovat své projekty my všichni a propast mezi světem techniky/programátorů a běžných lidí se bude stírat. 

Jenže není to tak růžové

Už jsem zmínil, že žáci kódu nerozuměli. Objevily se ale i jiné výzvy, které vidím jako důležité a zásadní v souvislosti s využitím AI

Je potřeba: 

  1. Naučit se formulovat myšlenku, umět ji převést do projektu
  2. Rozfázovat tento projekt na dílčí úkoly
  3. Umět tyto dílčí kroky popsat, vidět v nich zákonitou posloupnost a návaznost. 
  4. Dokázat toto zadání předat AI

Když se nad tím zamyslíte, jde vlastně o dokonalé shrnutí principů “nové informatiky” a je jedno, zda je to ve Scratch nebo při komunikaci s AI. Myslím, si, že tyto dovednosti budou v budoucnu klíčové a v souvislosti s AI je to čím dál tím zřetelnější. 

Přidaná hodnota skutečného programátora pak bude v nadhledu nad projektem, ve schopnosti rozumnět ne kódu, ale jeho významu a ve schopnosti zadat kvalitní vstupní parametry. Někteří mí sedmáci se tomu už přiblížili. 

Buďte v klidu, o práci jen tak brzy nepříjdeme

Celé to vypadá úžasně a ideálně, že?! Ale opak je pravdou. 

Generování kódu trvalo velmi dlouho. 

Chat GPT velmi často generoval kód neúplný či úplně nefunkční. 

Kód často končil v polovině, chyběly důležité funkce.

A protože žáci kódu opravdu nerozuměli, nedokázali to odhalit. 

Nikdo z žáků nezískal funkční program podle prvního zadání. Bylo potřeba neustále opravovat a upřesňovat, co má hra dělat. Možná právě o to víc si vážím těch pár úspěšných, co dotáhli své projekty do konce

    Dvě důležité poznámky na závěr 

    Já sám nejsem programátor, neumím psát velké a úžasné a složité programy. To nechávám jiným, povolanějším. Jsem učitel, kterého zajímá, jak to uchopit a naučit mé žáky. Krok za krokem. Nyní přemýšlím, jak do výuky zařadit Umělou Inteligenci

    Jasně, za jednu hodinu mohu žákům ukázat princip programování s AI,  předat pár rad, tipů, návodů. Kam to celé povede, nevím. Třeba za pár let bude takový AI parťák, jako třeba na https://github.com/features/copilot běžným kolegou každého živého programátora. 

    Díky Jitce Rambouskové za inspiraci k této aktivitě. Ona sama čerpala z webu https://learninginhand.com. Mimochodem, tahleta učitelská vzájemná inspirace mě nepřestává fascinovat :-)