Programozók aggódnak jövőjükért a mesterséges intelligencia miatt. Kipróbálták ELON MUSK CHAT GPT-jét. Megdöbbentek. Szerintetek is már csak 1-2 év és amatőrök is kiszoríthatják a felkészült profi programozókat?
Ez a luddista AI ellenes kérdések kiírása most a mániád?
Nem, nincs új a nap alatt. Nem lesz világvége, se tömeges munkanélküliség, mert jön egy új, sokadik modernizáció, ami sok monoton munkát szükségtelenné vagy sokkal egyszerűbbé tesz.
Én programozó vagyok, egy ideje már mondogatom a kollégáknak félig viccesen, hogy ez lesz :D eddig csak röhögtek rajta :D
Mondjuk a jövő miatt nem aggódok, mert olyan már nincs, 2030 környékére az emberi civilizációnak a mai formájában vége, de ha kitör előtte egy harmadik vh, akkor hamarabb is :D
Abban a világban pedig édesmindegy lesz, ki mennyire jó programozó, senki le se fogja szni a programozást, az fog számítani, hogy van-e legalább egy kis földed, ahol tudsz valamennyi kaját termeszteni, és van-e elég lőszered és fegyvered, hogy meg tudd védeni :D
Hát ... elsőre megdöbbentett és éppen ezért lekezdtem a mindennapokban használni és a limitációit nézegetni.
Még elég kezdetleges.
5-10 év múlva várható maximum az a szint, amikor elképzelhető, hogy kiváltják az abszolút kezdőket.
Szeritem még nagyon távol van az, hogy a tapasztalat, jó fejlesztők is bajba kerüljenek. Meg nem minden területet fog egyszerre automatikzálni vagy amit kevésbé tudna.
Aki jó, az így is rettenetesen be lesz betonozva a munkahelyére és még jobban fogják keresni.
Itt inkább a kezdőkkel lesz probléma. A sok bootcampessel vagy pár év tapasztalattal rendelkező junior/mediorokkal.
Programozó vagyok. Így van némi fogalmam, hogy hogyan működik a ChatGPT. Ez egy szöveg generátor. Nagyon nagy leegyszerűsítéssel abból generál válaszokat, amit a tanulása során betáplált beszélgetésekből, meg az adott beszélgetés kontextusából össze tud montírozni. A videó elején pl. azt kérik tőle, hogy írja ki az 10001. prímeket. Nos, nem az MI írta meg a programot. A programot egy ember írta meg, ami aztán – mint beszélgetés, pl. a Stackoverflow-ról – bekerült az MI tudásanyagába, és az nagyon helyesen látva azt, hogy ezt most kell beidéznie, beidézi ezt a programot. Mivel az ilyen ujjgyakorlat programok optimalizálásáról is vannak beszélgetések, így nyilván ezt is be tudja idézni.
De ha olyan probléma megoldására kérném fel, ami nincs a tudásbázisában, azzal nem fog tudni mit kezdeni. Illetve ha valamiért egy hibás program kerül bele az adatbázisába, akkor nem fogja tudni, hogy az hibás, nem fogja tudni kijavítani, mert valójában nem tud programozni. (Nota bene most megkérdeztem tőle, hogy mely prímszámok azok, amelyeknek a számjegyei növekvő sorrendben vannak. Szépen elmesélte, hogy mik azok a prímszámok, és adott egy listát – „Here is a list of some prime numbers whose digits are in ascending order” –, amiben benne volt pl. a 41, 71, 73, 97, 181, 191… Erről egy kisiskolás is látja, hogy hibás válasz. Megkérdeztem, hogy a 181 számjegyei növekvő sorrendben vannak-e. Azt válaszolta, hogy a igen, a 181 számjegyei az 1, 8 és 1, és ezek növekvő sorrendben vannak. Arra a kérdésre, hogy a 121 számjegyei növekvő sorrendben vannak-e, arról helyesen azt mondta, hogy nem.)
Nem tudom, hogy egy igazi programozónak, akinek van valami halvány fogalma az MI-ről, min kellene, hogy megdöbbenjen. Maximum a tudástár alkalmazásának a hatékonysága, vagy a tudástár mérete az, ami megdöbbentő, de az már nem az MI-nek, hanem a fejlesztőinek az érdeme. (Persze némi nézettség generálásért lehet, hogy megéri eljátszani a megdöbbenést.)
Amúgy ez arra jó (lesz idővel), hogy újonc programozóknak kiadott ujjgyakorlat nehézségű feladatokat megoldjon, egy „bitszalaggyári munkás” kiváltható vele, de egy profi programozót nem egyhamar. Az sem lehetetlen persze, de ettől még igen messze vagyunk.
"Nagyon nagy leegyszerűsítéssel abból generál válaszokat, amit a tanulása során betáplált beszélgetésekből, meg az adott beszélgetés kontextusából össze tud montírozni."
Az eber is pont így fejlődik kiskorától fogva.
Bizony. És mégis megkülönböztetjük az embert az ő programjaitól. Vajon miért?
Kérdésedben szereplő állításra azt válaszolom: elhiszem, hogy aggódnak, amit nem hiszek el, hogy ők programozók. Az viszont lehet, hogy ők annak tartják magukat.
A véleménykéréssel összefüggésben: egy két év nem nagy idő. Ha letelt és kiszorították, jelentkezz a teljes vagyonomért. A tiéd lesz. Ám ha mégis szorították ki, 10-20 év múlva se, akkor mi legyen? Azt nem kérdezem, hogy mi legyen, ha 100-200 év múlva se, mert akkor már egyikünk se fog élni.
Ja, megjegyzem: nálunk már kiszorították az amatőrök a profikat. Igaz, nem programozásban, s főleg nem szakmai szinten, de hát ilyen a diktatúra.
Igen, de az ember nem szövegeket lát maga körül. Nem csak az „alma” szót látja és azt, hogy milyen szövegkörnyezetben szerepel az alma szó. Az almáról sokkal bővebb, érzékszervi tapasztalatai vannak. Az ember érti a világot, modellt alkot róla. A ChatGPT egy olyan vak, béna, ízeket, szagokat nem ismerő gyerekre hasonlít, aki kizárólag elbeszélésből ismeri a világot, és 5 éves korági kérdéseket sem tehetett fel róla. Az ő „fejében” a fogalmak nem olyan összefüggések mentén rendeződnek el, mint az ember fejében. És ez igencsak komoly probléma.
~ ~ ~
Most egy fejvakarósabb feladatot adtam neki, hogy írjon egy olyan programot, ami 10 számsort generál. Bármelyik két számsornak pontosan egy közös eleme legyen. Írt egy programot, ami a következő számsorokat generálta:
1, 11, 21
2, 12, 22
3, 13, 23
…
Szépen leírta, hogy a program háromelemű számsorokat generál, az elemek 1-től, 11-től és 21-től indulnak, ez biztosítja, hogy bármelyik két sorozatnak pontosan egy közös eleme legyen. Nos. Így két sorozatnak pontosan nulla és nem egy eleme lesz.
Gondoltam megfogalmazom neki újra a kérdést, de akárhány számsorra, azaz azt kapta feladatul, hogy ne 10 számsort generáljon, hanem csak hogy generáljon valahányat. Generált egy olyan programot, ami két olyan 10 elemű számsort generált, amiben a számok 1-től 10-ig véletlenszerű sorrendben voltak, ergo mindegyik szám szerepelt mindkét számsorban. Mondtam neki, hogy ez nem jó. Erre kaptam egy átírt kódot, amiben csak annyit biztosított, hogy a két számsor első eleme közös. De továbbra is 1-től 10-ig szerepeltek benne a számok, az első számot leszámítva véletlen sorrendben.
Most újra megkérdtem, hogy generáljon 10 számsort, bármelyik két számsornak pontosan egy közös eleme legyen. Most az előző kódnak a továbbgondolásával írt kódot. De ugyanúgy hibás. A számsorok ha kissé nyakatekert módon is vannak legenerálva, tízelemű számsorok, amikben 1-től 10-ig szerepelnek véletlenszerűen a számok. Volt egy kódrészlet, ami a jelek szerint azt biztosította volna, hogy a számsorok első eleme ugyanaz legyen, de rossz helyre került, így nem lett a számsorok első eleme ugyanaz.
Írtam neki, hogy ez nem jó. A számsorok első eleme most már azonos lett, de a tíz elemű számsorok továbbra is 1-től 10-ig tartalmazzák a számokat, véletlenszerű sorrendben, tehát minden elem közös bármelyik két számsorban.
Írtam neki, hogy ez még mindig nem jó. Erre már egy nettó 35 soros programot generált, ami lényegében ugyanolyan számsorokat állít elő, mint az előbb, mindegyikben 1-től 10-ig vannak a számok véletlenszerű sorrendben.
Eleve nem „jött rá”, hogy az alapkoncepció hibás. Ha 10 elemű számsorokat generál, amiben a számok 1-től 10-ig szerepelnek mindenféle sorrendben, akkor minden szám mindegyik számsorban benne lesz.
Viszont itt egy csattanó, most is ott az a kódrészlet, ami biztosítaná, hogy a számsorok első eleme közös legyen, de most újra rossz helyre került és emiatt nem is működött.
Az újabb „ez még mindig hibás” reakcióra már egy nettó 34 soros kódot, ami roppant nyakatekerten 10 számsort állít elő, amiben minden szám 1 és 10 közötti véletlen szám. A még mindig hibás felkiáltásra javítás címszóval legenerálta *ugyanazt* a kódot.
~ ~ ~
Nem is az a gond, hogy nem sikerült megoldani a problémát. Az még hagyján. A gond az, hogy van egy olyan triviális és buta megoldása a problémának, amire némi nógatással egy jobb képességű elsős gyerek is rájön:
1, 2, 3
1, 4, 5
1, 6, 7
1, 8, 9
…
Bármelyik két számsorban az 1 lesz a közös elem.
És akkor egy másik megközelítés. Kértem, hogy írjon egy programot, ami megállapítja egy számról, hogy prím-e. Ez eléggé ujjgyakorlat program, meg is írta jól.
De én azt válaszoltam neki, hogy „ez hibás”. Elnézést kért, hogy a megoldása nem felelt meg az igényeimnek, így írt egy optimalizáltabb programot.
Az ember nem így reagál. Az ember úgy reagál, hogy „Azt mondod, hogy hibás a kódom? Ellenőriztem, a kód jó.”. Vagy az ember úgy reagál, hogy „melyik számra adott rossz eredményt?”. Vagy úgy, hogy „miből gondolod hogy hibás?”. A ChatGPT nem kérdőjelezte meg azt a hamis állításomat, hogy a megoldása hibás. Nem próbált együttműködni, rájönni, hogy mi a probléma, hol a hiba. Ha nekem lenne hibás elképzelésem a prímszámokról – mondjuk azt gondolnám hibásan, hogy az 1-es is prím –, akkor beszélhetnék vele napestig, akkor sem derülne ki ez a félreértés.
Márpedig programozás során van egy csomó ilyen helyzet. Vannak rosszul meghatározott feladatok, van, hogy mást ért egy adott szó alatt az, aki a kód megírását feladatul kiadta és mást, amit a programozó ért rajta.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!