Végül is, érti, vagy nem érti a kódot?
Bemásoltam a chatgptbe egy kisebb programot (670 sor), hogy végezzen rajta analízist és megtette. Totál meg voltam döbbenve, mert olyan mély utalásokat tett, amire csak értelemmel rendelkező ember képes. Javaslatott tett még bizonyos megoldások cseréjére is. 670 sor, 47 függvény! Ezt csak úgy lehet, ha valaki az elejétől végéig érti is azt, amit a kód tartalmaz. Bazz, ez meg hogy lehetséges?
Magyrázatra várok.
A rövid válasz: nem érti a kódot.
A hosszabb válasz:
A ChatGPT egy nagy nyelvi modell, amelyet hatalmas mennyiségű szöveges adat, beleértve a kódot is, kiképzésével hoztak létre. Ez azt jelenti, hogy képes felismerni a kódot, és megérti a kódhalmazok közötti általános összefüggéseket. Azonban nem képes megérteni a kód konkrét jelentését.
Amikor bemásolta a ChatGPT-be a 670 soros programot, a modell a következőket tette:
Felismerte a kódot. Ez azt jelenti, hogy meg tudta határozni, hogy a bemenet szövege kód, és meg tudta különböztetni a kódhalmazokat egymástól.
Felismerte a kódhalmazok közötti általános összefüggéseket. Ez azt jelenti, hogy meg tudta határozni, hogy a kódhalmazok hogyan kapcsolódnak egymáshoz, és hogyan működnek együtt.
Javaslatokat tett a kód javítására. Ezek a javaslatok a kódhalmazok közötti általános összefüggésekre alapultak, és nem a kód konkrét jelentésének megértésére.
Például, ha a programban van egy függvény, amely két tömböt összehasonlít, a ChatGPT felismerheti, hogy ez egy összehasonlító függvény, és hogy a két tömbnek ugyanazon a formátumnak kell lennie. Azonban nem fogja tudni megérteni, hogy a függvény pontosan hogyan működik, vagy hogy a függvénynek milyen konkrét célja van.
A ChatGPT-t még fejlesztés alatt áll, és folyamatosan tanul és fejlődik. Lehetséges, hogy a jövőben képes lesz megérteni a kód konkrét jelentését is. Azonban jelenleg még nem ez a helyzet.
"Bazz, ez meg hogy lehetséges?"
Még mielőtt belemélyednénk a témába érted, hogy hogyan működnek a GPT nyelvi modellek? Nyilván nem, hiszen akkor tudnád, hogy ez hogy lehetséges. Úgyhogy ajánlom, hogy előbb értsd meg az LLM és a GPT modellek működési elvét.
"olyan mély utalásokat tett, amire csak értelemmel rendelkező ember képes."
Ezzel azért óvatosan, mert 10 esetből kilencszer magabiztosan beszél marhaságokat, a maradék egyben pedig félreérti a problémát (majd úgy állít valótlant).
Remekül el tudja hitetni a felhasználóval, hogy intelligens, de (eddigi tapasztalataim szerint) a ChatGPT még nem képes ennyire komplex feladatokat pontosan megoldani. Célszerűbb, ha pici adagonként eteted meg vele a kódodat, mert úgy kisebb eséllyel vét hibát.
Első két válaszolóval nem akarok vitát kezdeményezni, de én azt érzem, hogy inkább ők vannak elmaradva az LLM-ek működését illetően. Most egy kicsit jobban utána olvastam az ezzel kapcsolatos dolgoknak és találtam is olyat, ami érdekes. Az a fogalom neve, hogy inherencia. Az LLM-ek első lépése, hogy beolvassák az inputot és értelmezik is. Ha nem tennék ezt meg, akkor megfelelő kimenetet sem tudnának generálni. Ami érdekes, az a chatgpt hozzáállása. Ő azt állítja magáról, hogy a kódjai amiket készít, nem a legjobbak, mivel ő általános célokra van fejlesztve. Szerinte kódolás céljára sokkal jobbak az erre specializált intelligenciák. Be is másolom a válaszát.
"Fontos megjegyezni, hogy a GPT-3.5 egy általános nyelvi modell, és nincs programozási feladatokhoz kifejlesztve. Ennek eredményeként, a fejlett vagy specifikus problémákhoz a terület specifikus szakértők vagy szakmai fejlesztői környezetek lehetnek hatékonyabbak. Az általános programozási tanácsok, kódszakaszok vagy magyarázatok céljából azonban szívesen segítek, amennyire a tudásom és a modellem lehetőségei engedik."
670 sor hosszú egy gépnek?
Egy embernek lehet. De pont ezért használnak MI-t, mert sokkalta nagyobb a kapacitása és a sebessége mint egy embernek. Nemtom megvan-e de pl a DNS láncot egy MI fejtette fel. Ha emberek cisnálták volna, az évszázad végére se lenne meg:D
"Természettudományos kérdésekben nem kérem a véleményét, mert oltári nagy marhaságokat képes bebüfögni. De programozás terén eddig soha nem mondott hülyeséget."
Hát te sem vagy szoftverfejlesztő max tanuló / hobbi programozó esetleg más munkakörben dolgozol ahol 1-2 scriptet kell írni... Főleg ha mindezt a 3.5-el tapasztaltad ami lényegesen gyengébb mint a GPT-4 es modell.
"elég méretes a mennyiség"
670-es soros kód méretes mennyiség? :))) A méretes az nagyjából 100 000 felett kezdődik.
"A programkódban a függvények egymásra épülnek. Komment egy sor sem, és mégis ki tudta deríteni, hogy mi a program feladata"
Képzeld a statikus kódelemzők, compilerek, IDE-k már az 1900-as évek közepétől ki 'ki tudják találni' mi a program feladata, sőt workflowt / grafikonokat is tudnak generálni...
"Most egy kicsit jobban utána olvastam"
Mégis hol olvastál utána, prog.hu-n vagy hvg-n amit bölcsészek írnak cikkeket?
Konklúzió: semmi közöd a programozáshoz, életedben nem láttál még enterprise környezetben futó kódbázist, nem rendelkezel se a megfelelő matematikai, statisztikai és algoritmuselméleti tudással, hogy megértsd (ne csak elolvass valami bulvár hülyeséget, hanem mélységeiben megértsd) az AI, neurális háló, deep learning és LLM működését ezért elcsodálkozol egy teljesen triviális dolgon, hogy 670 soros kódot "értelmezni" tud. Elfilozofálgathatsz rajta hogy rendelkezik-e a GPT "értelemmel" mert nyilván egyszerűbb légbőlkapott kijelentéseket tenni mint a megfelelő tudásanyagot elsajátítani és megérteni a működését viszont innentől kezdve teljesen felesleges vitatkozni veled, mivel a tudás hiányában te "hit" alapon közelítesz meg egy tudományos kérdést. Rövidre zárva, természetesen nem rendelkezik saját értelemmel.
A te olvasatodban egy egyszerű elágazás (if feltétel) is egy értelemmel bíró entitás, mert képes döntéseket hozni bizonyos feltételek mentén pl: képes meghatározni, hogy x nagyobb vagy kisebb 5-nél és ennek függvényében mást és mást ír ki a konzolra. Wáó, hihetetlen, ugye!? :)
A válasz a kérdésre az, hogy a ChatGPT nem érti a kódot. A kérdező kommentjeiből az látszik, hogy nem rendelkezik kellő szakmai tudással ahhoz, hogy megfelelően megértse a GPT működését.
A GPT egy nagy nyelvi modell, amelyet hatalmas mennyiségű szöveges adat, beleértve a kódot is, kiképzésével hoztak létre. Ez azt jelenti, hogy képes felismerni a kódot, és megérti a kódhalmazok közötti általános összefüggéseket. Azonban nem képes megérteni a kód konkrét jelentését.
Amikor a kérdező a ChatGPT-be bemásolta a 670 soros programot, a modell a következőket tette:
Felismerte a kódot.
Felismerte a kódhalmazok közötti általános összefüggéseket.
Javaslatokat tett a kód javítására.
Azonban ezek a javaslatok nem a kód konkrét jelentésének megértésére alapultak, hanem a kódhalmazok közötti általános összefüggésekre.
Például, ha a programban van egy függvény, amely két tömböt összehasonlít, a ChatGPT felismerheti, hogy ez egy összehasonlító függvény, és hogy a két tömbnek ugyanazon a formátumnak kell lennie. Azonban nem fogja tudni megérteni, hogy a függvény pontosan hogyan működik, vagy hogy a függvénynek milyen konkrét célja van.
A ChatGPT-t még fejlesztés alatt áll, és folyamatosan tanul és fejlődik. Lehetséges, hogy a jövőben képes lesz megérteni a kód konkrét jelentését is. Azonban jelenleg még nem ez a helyzet.
Az anonim válaszadó észrevételei többnyire helytállóak. A 670 soros kód egy méretes mennyiség, de még mindig nem tekinthető nagynak. A statikus kódelemzők már évtizedek óta képesek meghatározni egy program feladatát, még akkor is, ha a programban nincsenek kommentárok.
A kérdező véleménye, hogy a GPT rendelkezik értelemmel, csak a tudatlanságon alapul. A GPT nem rendelkezik saját értelemmel, hanem csak képes a kapott információk feldolgozására és értelmezésére.
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!