SG.hu

A programozás megtanulása MI-vel könnyebb, mint valaha

De gondolkodni attól még kell, és okosan kell használni a forráskódot javasló vagy generáló eszközöket.

A programozás türelmet és kitartást igényel, különösen a tanulási folyamat kezdetén, amikor semminek nincs sok értelme az ember számára. A kódírás szabályai zavarosnak tűnnek, mindenféle írásjelek és szimbólumok vannak, amelyeket nagyon pontosan kell használni. Egy kettőspont vagy vessző kihagyása, vagy a behúzás elrontása a használt nyelvtől függően hibához vezethet. Idővel, kellő gyakorlással azonban minden a helyére kerül. Az oktatóanyagok és programozási feladatok megoldásánál nagy a kísértés a ChatGPT vagy egy hasonló asszisztens használatára, mert ezek jól tudnak egyszerű kódot generálni, és némelyikük még a teljes választ is képes megadni.

David Malan, a Harvard Egyetem informatika professzora egy népszerű (online ingyenesen itt felvehető) bevezető informatikai kurzust tanít, a CS50-et. Mivel szerinte a mesterséges intelligencia néha túlságosan is segítőkész tud lenni, ezért hogy lebeszélje a diákokat arról, hogy a ChatGPT-hez vagy a Google Bardhoz hasonló eszközöket használjanak a feladatok megoldásához, alternatívát kínál nekik: egy virtuális gumikacsát. Egy GPT-4 által működtetett kódoló chat-botot készített, amely korlátokkal van ellátva, hogy megakadályozza a diákokat a csalásban. A botot úgy állították be, hogy barátságos és támogató legyen, csak olyan kérdésekre válaszol, amelyek a kurzushoz kapcsolódnak, és nem ad választ a házi feladatokra - mondta Malan.

"A tanfolyam indulásakor az az irányelvünk, hogy a diákok nem használhatnak olyan harmadik féltől származó szoftvereket, mint a ChatGPT és a Copilot; ezek egyszerűen hajlamosak túlságosan segítőkészek lenni, túlságosan is hajlandóak egyből megoldásokat nyújtani a diákoknak, ahelyett, hogy rávezetnék őket, ahogy egy jó tanár tenné. A diákok azonban használhatják és bátoríthatják a CS50 saját, mesterséges intelligencia alapú szoftverét, amely rendelkezik ezekkel a pedagógiai korlátokkal" - mondta. A botot tavaly mutatták be, és a visszajelzések többnyire pozitívak voltak. A virtuális oktatótól a diákok bármikor segítséget kérhetnek, de mint minden mesterséges intelligenciamodell, ez is hibázhat, és nem mindig pontos. Az első tesztek azt mutatták, hogy a tananyaggal kapcsolatos kérdések körülbelül 88 százalékára tudott helyesen válaszolni.


David J. Malan

A kódolórobot az oktatók számára is hasznos; több idejük marad arra, hogy a házi feladatokon kívül más területeken is segítsenek a diákoknak. A hibakereső hatását elemző kutatási dokumentumban a Harvardon tanító tanárok azt mondták, hogy az MI-kódolási asszisztenst létrehozó kísérletük megtérült. Úgy vélik, hogy "a generatív mesterséges intelligencia nem csak zavarni tudja, hanem gyorsítja is a diákok tanulását", és keresik a technológia más tantárgyakban való alkalmazásának lehetőségeit. A gép által írt kód azonban nem mindig hasznos, és ronthatja a kódbázis minőségét. Az MI-asszisztens kimenetének lemásolása és beillesztése a forráskódba gyakran új hibákhoz vezet, mert nem illeszkedik a program többi részéhez. Ezeket a hibákat ráadásul trükkös lehet kijavítani, különösen akkor, ha nem érti az ember, hogy mit generáltak. Kezdőként nem mindig egyértelmű, hogy egy hiba azért keletkezett-e, mert a kód egyszerűen csak rossz, vagy mert rossz kontextusban használták.

"Úgy gondolom, ha valaki meg akar tanulni kódolni a jelenlegi mesterséges intelligencia eszközökkel, akkor két céllal kell megközelítenie a dolgot: Szánjon időt arra, hogy megtanuljon kódolni annyira, hogy tudja, mit generál az eszköz, és vállalja a "kódellenőr" szerepét, tanulmányozza, hogyan lehet azonosítani és javítani a rossz kódot" - véli Zed Shaw szoftverfejlesztő, a Learn Python the Hard Way című könyv szerzője. A programozóknak képesnek kell lenniük arra, hogy kiszúrják a hibákat a gépi készítésű kódban, és nem szabad teljesen megbízniuk a botokban. Mindenképpen figyelniük kell arra, hogy a modellek kimenetébe nem csúszik-e nyilvánvalóan szerzői jogvédett kód.

"Az a tény, hogy a ChatGPT gyorsabban ad megoldásokat olyan megnyugtató mondatokba csomagolva, mint például "Azt hiszem, ez megoldja a problémádat...", kikapcsolja a kritikus gondolkodásunkat, és nem kérdőjelezzük meg a megoldásait olyan alaposan, ahogy kellene" - mondta Charles Severance, a Michigani Egyetem Informatikai Iskolájának informatika professzora, aki ingyenes kódolási tanfolyamokat tett közzé az interneten. "Mindig feltételeznünk kell, hogy a ChatGPT kevésbé képzett programozó, mint mi. Az egyetlen biztonságos módja a mesterséges intelligencia eszközök használatának, ha biztosak vagyunk abban, hogy az általa előállított megoldás helyes" - tette hozzá.

"A hatékony használathoz meg kell érteni a problémát, és világosan el kell magyarázni azt. A kimenetként visszaküldött kód minősége attól függ, hogyan fogalmazza meg a kérdéseit a bemenetben" - mondta Inbal Shani, a GitHub vezető termékmenedzsere. Azt javasolta, hogy a felhasználók úgy lépjenek kapcsolatba a GitHub Copilottal, mintha egy kollégával beszélgetnének. "Minél részletesebben tájékoztatod a melletted ülő asszisztenst arról, hogy mi a szándékod, hová tartasz a megoldandó problémával kapcsolatban, annál jobb választ kapsz, mert a mesterséges intelligencia több kontextust kap. Tudja, hogyan végezzen részletesebb keresést, hogy megtalálja a megfelelő kódot, vagy ajánlja a megfelelő tesztelési infrastruktúrát" - mondta.

Egyetért ezzel Phillip Compeau is, a Carnegie Mellon Egyetem tanársegédje, aki a Rosalind platformot és a Programming for Lovers oktatóprogramot hozta létre a számítógépes biológia iránt érdeklődők számára. Amikor olyan diákokat tanít, akik most kezdenek kódolni, arra biztatja őket, hogy maradjanak távol a mesterséges intelligenciától. A haladóbb diákoknak azonban, akik már ismerik az alapokat, megtanítja, hogyan használhatják a technológiát, hogy produktívabbak és hatékonyabbak legyenek a munkájukban. "Az egyik dolog, amit a diákoknak mutatok, hogy a legjobb módja annak, hogy tiszta, helyes választ kapjunk egy mesterséges intelligencia eszköztől, az, ha képesek vagyunk világosan és helyesen megadni, hogy pontosan mit kell tennie a számítógépnek. Ez a számítógép programozásának definíciója, és idővel az általunk használt programozási nyelvek egyre inkább az emberi nyelvhez igazodtak; a chat-eszközök csak a következő lépést jelentik ebben a fejlődésben."

A kódolásban kulcsfontosságú, hogy tudjuk mit akarunk a programunkkal, hogyan kellene működnie, és hol rontottuk el. A tanulók ezeket az alapkészségeket csak idővel, következetes gyakorlással tudják kiépíteni. Ha valaki kompetens szoftverfejlesztő akar lenni ezt a folyamatot nem lehet kihagyni az MI-ra támaszkodva. De okosan használva gyorsan lehet fejlődni és jó programozóvá válni - és talán még szórakoztató is lesz.

Hozzászólások

A témához csak regisztrált és bejelentkezett látogatók szólhatnak hozzá!
Bejelentkezéshez klikk ide
(Regisztráció a fórum nyitóoldalán)
  • repvez #6
    ha igy irod ahogy itt magyarul nem csodálom .
    Egyébként meg ha tudod mit jelent a G a GPT-ben, akkor nem várod el töle, hogy szakmai legyen föleg nem olyan szakmában ami nem anynira publikus és nem anynira népszerü vagy nyitott szakma mint a honvédség és a honvédelem.
    DE bármilyen szakmát irhatnék az aki a nuansznyi részleteket akarja kikérdezni töle és nem kap választ rá és emiatt szidja vagy nem értékeli az AI-nak ezt a részét akkor az nem az AI hibája.
    Ez még mindig csak prototipus szinte nincs 1 éve , hogy a nagyközönség is használhatja, akkor ne várd el töle, hogy hibátlanul fog majd válaszolni mindenre.
    A többiek érdekes modon, tisztában vannak ezzel a korláttal és ugy is használják.
    A lehetőséget látják benne és már az sok esetben segitség ha a nagy vonalakban felvázolja az adott kodot vagy témát és nem a nullárol kell kezdeni.

    Én is mondhatnám, hogy egy nagy hulladék, mert nem ir meg egy programot hibátlanra amit kérek töle. DE ugy hogy nem tudok programozni legalább kapok egy mukodo progit ami legalább valami hasonlot csinál mint amit szeretnék az már egy jo pont.
    Annyira kirészletezni minden részletet ami egy nagyobb programnak kell nem is lehetne egy egy promptban beirni és válasznak is max 2-4000 karaktert tud irni ami megint limit.

    ÉS a cikk még mindig a programozásról szol nem arról amire a témát szeretnéd terelni ismét.
  • militavia #5
    Magyar angol vagy angol magyar fordításnál az alapszavak egy részét sem érti egy kicsit is műszaki szövegben a fordít. Ha szerencséd van, akkor talán a szórend és egyes / többes szám még jó.

    Ha te fordítót akarsz használni, akkor szándékosan bután primitíven kell megírni a fordítandó szöveget magyarul.
  • wraithLord #4
    Akkor jó lehet, ha nagyjából képben vagy a nyelvvel, plusz elolvasod, mit ír, hogy melyik kifejezésnek mi értelme van.

    Pl. én tudok németül (12 évig tanultam heti 5 meg 8 órában), de nagyon nehezemre esik lefordítani egy szöveget németre. Ezért Google Translate-et használok, ami megcsinálja helyettem a magyar vagy angol szöveg német szövegbe öntését, és nekem csak a faxságokat kell kijavítanom benne (ami mostanában meglepően kevés van, maximum szakszövegnél bénán fogalmaz).
    Persze minden hasonlat sántít, de én ilyesmire használom az AI-t is, ha egyáltalán használom.
  • RJoco #3
    Egy gyors alapnak mindenképp jó lehet, így nem az embernek kell begépelnie mindent, csak ellenőriznie és javítania. De sajnos sokszor ad rossz kódot vagy épp nem teljes kódot.
    A múltkor is kértem tőle egy kódot egy flash-re, hogy ki szeretném olvasni és megjeleníteni a soros monitoron a kiolvasottakat. Kapásból elrontotta a flash méretét, pedig megadtam a pontos típust, ami tartalmazza a méretet is.
    Viszont olyan kiírást alkalmazott, ami könnyen átláthatóvá tette nekem a tartalmat és én azt biztos nem tudtam volna megírni, mert nem ismertem a lehetőséget sem.
    Szóval nagyon hasznos is lehet az olyan kocaprogramozóknak, mint én.
    Aki komolyan meg akar tanulni, annak első körben felejtősnek kellene lennie.
    De könyvből tanár nélkül sajnos elég nehéz. Még nem találtam jó könyvet. Amikkel találkoztam, ott gyakran a második vagy harmadik példaprogram egy része már hiányzik, így nem is fog futni, hiába írom be. Aztán nem tudom mi a baja, mert az első példaprogram általában a "Hello világ". Abban meg nem sok minden van. Viszont a hiányos részt beadva egy botnak, lehet, hogy ki tudná egészíteni egy működő programmá, amiből talán már tanulhatnék valamit.
  • bunny #2
    én user ref. manual helyett használom, qrvajól működik. Nagyon ritkán mond hülyeséget, de ott többnyire kilóg a lóláb és a hibás válasz is segít. De az esetek 99%-ában jó, és hasznos válaszokat ad összetett kérdésekre is, ahol azért kéne guglizni rendesen meg válogatni a sok találatból, a chatGPT meg korrektül összeszedi a választ, ad példaprogramot, megmondja milyen library kell ha kell. Szóval súgózni/manualozni szerintem iszonyat hasznos. Kódot az nem mernék íratni vele viszont, mert ahoz még ordas baromságokat képes komoly határozottsággal leírni.
    Utoljára szerkesztette: bunny, 2024.01.28. 23:59:53
  • kvp #1
    Ennek igy semmi ertelme. HA valaki tud annyira programozni, hogy rajojjon, hogy hibas a generalt kod, akkor nincs szuksege a generatorra. Ha viszont csak butan elfogadja amit kap, akkor ez kb. olyan eredmenyt hozhat, mint a helyesirasjavito autokorrekcios programok hasznalata, amitol sok gyerek mar nem tanul meg rendesen irni, csak azt a par betu kombinaciot, amibol a szoftver mar rajon magatol, hogy mit is akart irni. Az elso ilyen a T9 volt, aztan jottek a modernebb megoldasok. Gyakorlatilag diszgrafiat okoznak. Most ugyanezt teszik a programozokkal a kodgenerator MI-k.