Motto mojej diplomovej práce bolo: Učiteľ, ktorého možno nahradiť počítačom, si nič iné nezaslúži.
Obhajoval som ju v roku 1988 a vtedy sa mohlo zdať, že nahradenie učiteľa počítačom je fantasmagória. Vývoj AI medzitým pokročil natoľko, že skutočne by sme dnes mohli zlých učiteľov nahrádzať počítačmi. Verím, že dobrý učiteľ je nenahraditeľný, lebo okrem vedomostí by sa mal vedieť do žiaka vcítiť, inšpirovať ho, formovať ho ako ľudskú a nie strojovú bytosť.
Parafrázujúc moje vtedajšie motto, by sme mohli povedať: Programátor, ktorého možno nahradiť počítačom, si nič iné nezaslúži.
Na rozdiel od tých učiteľov, empatia u programátora nie je až natoľko dôležitá, ale dobrý programátor by sa mal vedieť budúcich používateľov pýtať, pretože veľmi často, ak naprogramuje presne to, čo používateľ požadoval, tak to vôbec nie je to, čo si používateľ predstavoval.
Kým nebolo vyhľadávanie na internete natoľko dokonalé, ako je dnes, ak som čosi programoval, ak som nejaké príkazy programovacieho jazyka nepoznal, buď som zbytočne čosi naprogramoval, hoci na to zabudovaný príkaz existoval, alebo som lúskal papierovú dokumentáciu a príkaz/príkazy, ktoré priamo riešili môj problém.
Keď bolo vyhľadávanie zdokonalené, tak som napísal problém a základné riešenia problému mi vyhľadávač ponúkol, samotné programovanie som však musel urobiť sám.
S nástupom AI sa situácia výrazne zmenila. Kým vo vyhľadávači som dostal príkazy, ktoré riešili problém všeobecne a naprogramovať konkrétne riešenie som musel sám, AI problém popíšem a ona sama navrhne riešenie, ak riešenie nie je dokonalé, upresním podmienky a vyhodí mi takmer dokonalé riešenie.
V programovacom jazyku Python som chcel naprogramovať nasledujúcu vec. Na stránke nášho bridžového klubu sú zverejňované výsledky, ale html stránka má pomerne zložitú štruktúru, pričom som z nej potreboval dostať do databázy umiestnenie jednotlivých hráčov v jednotlivých turnajoch. Najprv som to začal programovať klasicky asi po hodine programovania som zo stránky vyextrahoval riadky tabuľky, kde bolo umiestnenie páru a mená hráčov páru a už by dlho netrvalo a vyextrahoval by som aj mená hráčov páru.
Medzičasom ma napadlo, zadať problém AI, konkrétne Gemini od Googlu. Tá mi v priebehu dvoch minút urobila to, čo som riešil hodinu.
Čo som jej povedal:
na tejto stranke https://www.bridgewebs.com/cgi-bin/bwor/bw.cgi?pid=display_rank&event=20251212_1&club=kbk je tabulka vysledkov turnaja, v stlpci poradie je umiestnenie páru v stĺpci hrači sú mená hráčov. Napíš program v pythone, ktorý vytvorí zoznam s umiestnením a menami hráčov
Gemini mi vygenerovala program, ktorého výstupom bolo:
Chyba: Tabuľka s triedou ‚bwtables‘ nebola nájdená.
❌ Nepodarilo sa získať žiadne výsledky.
Pozrel som sa do zdrojového kódu stránky s výsledkami a otázku som upresnil:
tabulka je brx_table a v riadku sú vždy dvaja hráči oddelení znakom and
Výstup bol už oveľa lepší:
## 🏆 Výsledky turnaja (Umiestnenie a Hráči) ##
Umiestnenie: 1 | Hráči: Georges DeClercq & Mikulas Pankovic
Umiestnenie: 2 | Hráči: Alica Simonova & Viera Novakova
Umiestnenie: 3 | Hráči: Janette Porebova & Ivanka Kolesarova
Umiestnenie: 4 | Hráči: Michal Vodicka & Zoran Psenica
Umiestnenie: 5 | Hráči: Tibor Menyhert & Jana Simkova
Umiestnenie: 6 | Hráči: Peter Skalka & Hedviga Skalkova
Umiestnenie: 7 | Hráči: Marko Vasil & Ludovit Kovanic
— Štruktúra výsledného zoznamu v Pythone —
{‚umiestnenie‘: ‚1‘, ‚hraci‘: [‚Georges DeClercq & Mikulas Pankovic‘]}
Znova som zadanie uprenil:
hracov paru oddeluje znak & čiže nech je v zozname zvlášť prvý a druhý hráč, inak je to výborné
Výstup bol oveľa lepší:
# 🏆 Výsledky turnaja (Umiestnenie, Hráč 1, Hráč 2) ##
Umiestnenie | Hráč 1 | Hráč 2
————————————————————
1 | Georges DeClercq | Mikulas Pankovic
2 | Alica Simonova | Viera Novakova
3 | Janette Porebova | Ivanka Kolesarova
4 | Michal Vodicka | Zoran Psenica
5 | Tibor Menyhert | Jana Simkova
6 | Peter Skalka | Hedviga Skalkova
7 | Marko Vasil | Ludovit Kovanic
— Štruktúra prvého záznamu v Pythone —
{‚umiestnenie‘: ‚1‘, ‚hrac_1‘: ‚Georges DeClercq‘, ‚hrac_2‘: ‚Mikulas Pankovic‘}
Ďalšie upresnenie bolo:
nech su hraci paru samostatne čiže dva riadky v zozname, ak je to parak a jeden riadok ak je to individual
Výstup:
## 🏆 Výsledky turnaja (Umiestnenie a Hráč) ##
Umiestnenie | Hráč
————————————————————
1 | Georges DeClercq
1 | Mikulas Pankovic
2 | Alica Simonova
2 | Viera Novakova
3 | Janette Porebova
3 | Ivanka Kolesarova
4 | Michal Vodicka
4 | Zoran Psenica
5 | Tibor Menyhert
5 | Jana Simkova
6 | Peter Skalka
6 | Hedviga Skalkova
7 | Marko Vasil
7 | Ludovit Kovanic
————————————————————
— Ukážka dátovej štruktúry prvého záznamu —
{‚umiestnenie‘: ‚1‘, ‚hrac‘: ‚Georges DeClercq‘}
Potom som mu zadal družstevný turnaj, s tým sa trocha potrápil a až po niekoľkých upresneniach zadania sme dospeli do štádia:
pre turnaj https://www.bridgewebs.com/cgi-bin/bwor/bw.cgi?pid=display_rank&event=20251118_1&club=kbk
🏆 Výsledky turnaja (Umiestnenie, Typ Hry, Hráč) ##
Umiestnenie | Typ Hry | Hráč
——————————————————————————–
1 | Družstvo | Zelmira Ferkova
1 | Družstvo | Marta Sinicakova
1 | Družstvo | Georges DeClercq
1 | Družstvo | Mikulas Pankovic
2 | Družstvo | Tibor Menyhert
2 | Družstvo | Ivanka Kolesarova
2 | Družstvo | Alica Simonova
2 | Družstvo | Viera Novakova
——————————————————————————–
— Ukážka dátovej štruktúry prvého záznamu —
{‚umiestnenie‘: ‚1‘, ‚hrac‘: ‚Zelmira Ferkova‘, ‚typ_hry‘: ‚Družstvo‘}
Táto verzia programu už vie spracovať párové, individuálne aj družstevné turnaje.
Keď som po Gemini chcel, aby hromadne spracovala výsledky turnajov za celý mesiac, tak tam sa už zasekla.
Záver
Pomocou umelej inteligencie možno celkom efektívne programovať napohľad zložitú problematiku. Ten kto jej zadáva pokyny musí mať dobrú predstavu, čo to vlastne chce naprogramovať a keď vyskočí problém, mal by vedieť detegovsať čo daný problém spôsobilo, napríklad vedieť sa orientovať v html kóde. Komplexnejšie úlohy by mal používateľ rozmeniť na čiastkové úlohy, s ktorými si AI vie veľmi dobre a rýchlo poradiť.


++++++++++++++ ...
Celá debata | RSS tejto debaty