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 ZŠ 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 ZŠ 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:
- Vytvoř html kód pro vložení do webové stránky, který bude plnit následující funkce:
- Vyber 20 nejpoužívanějších anglických slovíček, které by měl znát žák základní školy.
- Najdi k nim český překlad a vytvoř dvojice.
- 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.
- 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.
- 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.
- 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.
Vyzkoušejte si zde: Na kolik umíš anglicky? nebo kliknutím na obrázek.
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.
Vyzkoušejte si zde: Hádáme čísla nebo kliknutím na obrázek.
Pong game
Tohle je klasika. Tentokrát vygenerovaná kompletně s AI. Zahrajte si sami proti počítači nebo ve dvojici jako multiplayer.
Vyzkoušejte si zde: Pong game nebo kliknutím na obrázek.
Jak na to? Snadno
- Promyslete, co vlastně chcete naprogramovat.
- Zadání detailně a logicky popište.
- Vložte zadání do Chat GPT a nechte vygenerovat kód.
- Založte žákovský Google web.
- Vygenerovaný kód vložte do webové stránky pomocí funkce “Vložit/Embed”.
- Obsah publikujte a nezapomeňte nastavit správné oprávnění.
- 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:
- Naučit se formulovat myšlenku, umět ji převést do projektu
- Rozfázovat tento projekt na dílčí úkoly
- Umět tyto dílčí kroky popsat, vidět v nich zákonitou posloupnost a návaznost.
- 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 :-)