Gondolja át, ha azt akarja, hogy az AI megtanítsa kódolni

Gondolja át, ha azt akarja, hogy az AI megtanítsa kódolni

Forrás csomópont: 3087147

Funkció A programozás elsajátítása talán most könnyebb, mint valaha a mesterséges intelligencia segítségével, bár a forráskódot javasoló vagy generáló eszközöket okosan kell használni. 

A programozás türelmet és kitartást igényel, különösen a tanulási folyamat elején, amikor semminek nincs sok értelme. A kódírás szabályai zavarosnak tűnnek. Vannak mindenféle írásjelek és szimbólumok, amelyeket óvatosan kell használni. A kettőspont vagy vessző hiánya, illetve a behúzás elrontása a használt nyelvtől függően hibákhoz vezethet. Idővel, kellő gyakorlással, bekattan a helyére.

Mint a legtöbb kezdő, aki online kódolást tanul, én is az oktatóanyagok megtekintésével kezdtem, és programozási gyakorlatsorokban oldottam meg a problémákat. Amikor elakadtam egy problémán, nagyon csábító volt, hogy a ChatGPT-hez forduljak, amely könnyen segített a megfelelő megoldás megtalálásában. Az ilyen típusú asszisztensek jók az egyszerű kód generálásában, és némelyikük akár teljes választ is adhat, ahogyan Ön leírja.

Erre akkor jöttem rá, amikor egy adott funkció megvalósításával küzdöttem, és kikapcsoltam a GitHub Copilot automatikus kiegészítési funkcióját a Visual Studio Code-ban, hogy megakadályozzam magam a csalásban.

Ne csak másoljon és illesszen be

David Malan, a Harvard Egyetem számítástechnika professzora a CS50-et, egy népszerű bevezető számítástechnikai kurzust oktat (amely ingyenesen elvégezhető online), egyetértett abban, hogy a mesterséges intelligencia néha túlságosan is hasznos lehet. 

Annak érdekében, hogy a diákokat lebeszéljék arról, hogy olyan eszközöket használjanak, mint az OpenAI ChatGPT vagy a Google Bardja a feladataik elvégzéséhez, a tanárok alternatívát kínáltak nekik: egy virtuális gumikacsát. A CS50 kacsa egy kódoló chat-bot, amelyet GPT-4 hajt, de védőkorlátokkal rendelkezik, amelyek megakadályozzák a diákokat csalás.

Gumikacsa hibakeresés, amint azt Ön is tudja, egy dolog a szoftverfejlesztésben: ha elakad egy kódon, a játékkal vagy más élettelen tárggyal kapcsolatos problémáról beszélve egyedül is rájöhet a megoldásra. Elég hatásos.

A CS50 duck debugger ennek tisztelete: a bot barátságosra és segítőkészre lett alapozva, csak a kurzussal kapcsolatos kérdésekre válaszol, a házi feladatokra nem ad választ – mondta Malan. A regisztráció

„Irányelvünk a kurzus kezdetén az, hogy a hallgatók nem használhatnak olyan harmadik féltől származó szoftvereket, mint a ChatGPT és a Copilot; egyszerűen túlságosan segítőkészek, túlságosan is hajlandók a diákokat egyenesen megoldásokkal ellátni, ahelyett, hogy feléjük irányítsák őket, ahogyan egy jó tanár tenné. De a diákok számára megengedett és ösztönözhető a CS50 saját mesterséges intelligencia-alapú szoftverének használata, amely rendelkezik a pedagógiai védőkorlátokkal” – mondta.

A CS50 kacsát tavaly mutatták be, és a visszajelzések többnyire pozitívak. Ha van kéznél egy virtuális oktató, akkor a diákok bármikor kérhetnek segítséget. De mint minden mesterséges intelligencia modell, ez is hibázhat, és nem mindig pontos. A kezdeti tesztek azt mutatták, hogy a tantervvel kapcsolatos kérdések körülbelül 88 százalékára tudott helyesen válaszolni. 

A kódoló bot az oktatók számára is hasznos; így több idejük van arra, hogy a házi feladatokon túl más területeken is segítsék a tanulókat. Egy kutatási cikkben [PDF] a kacsa hibakereső hatását elemezve a Harvard tanárai azt mondták, hogy a virtuális mesterséges intelligencia-kódoló asszisztens felépítésével kapcsolatos kísérletük kifizetődött. Úgy vélik, hogy „a generatív mesterséges intelligencia elősegítheti a tanulók tanulását, nem csupán megzavarhatja azt”, és azt vizsgálják, hogy a technológia más tantárgyakban is alkalmazható legyen.

Időt takaríthat meg kevesebb Google-lel

Amit megér, a tudományos hátterem fizikából és tudományos újságírásból származik, nem pedig számítástechnikából. A csevegőbotok legújabb generációja előtt kezdtem el megtanulni a kódolást. Korábban úgy próbáltam megérteni a szoftver fogalmait, vagy kijavítani a hibákat, hogy sok emberhez hasonlóan blogbejegyzéseket olvastam, vagy hasonló kódokra kerestem példákat olyan webhelyeken, mint a Stack Overflow. A mesterséges intelligencia lehetővé teszi, hogy leírjam ezt a folyamatot.

Ahelyett, hogy sok információ átvizsgálása után megtalálnám a problémámnak leginkább megfelelő megoldásokat, most egy nagy nyelvi modellhez fordulhatok közvetlen segítségért. Azért tanulok, hogy jobban megértsem a mások által használt technológiákat; ezek a digitális asszisztensek gyorsabban felgyorsítanak, mintha több cikket átnéznék, mondjuk a szeletekről és a tömbökről, vagy mások szoftverprojektjeit lapozgatnám.

A géppel írt kód azonban nem mindig hasznos, és igen alacsonyabb minőség egy kódbázisból. Ha kimásoltam és beillesztem egy AI-asszisztens kimenetét a forrásomba, az gyakran új hibákat vet fel, mert nem illett a programom többi részéhez. A hibák kijavítása trükkös lehet, különösen akkor, ha nem érti, mi keletkezett. Kezdőként nem mindig volt egyértelmű, hogy a hibákat azért okozták-e, mert a kód egyszerűen rossz volt, vagy rossz kontextusban használták.

„Azt hiszem, ha valaki meg akar tanulni kódolni [a jelenlegi] mesterséges intelligencia-eszközöket, akkor két céllal kell megközelítenie: Szánjon időt arra, hogy megtanuljon elég kódolni ahhoz, hogy tudja, mit generál az eszköz. [És] vegye fel a „kódellenőrző” szerepét, és tanulmányozza, hogyan azonosíthatja és javíthatja a rossz kódot” – mondta Zed Shaw, szoftverfejlesztő és a könyv szerzője. Tudja meg a Python a Kemény utat, elmondta A regisztráció

A programozóknak képesnek kell lenniük észrevenni a hibákat a gépi kódban, és nem szabad teljesen megbízniuk a robotokban. „Az a tény, hogy a ChatGPT gyorsabb megoldásokat kínál olyan megnyugtató kifejezésekbe csomagolva, mint „Szerintem ennek meg kell oldania a problémáját…”, ezért kikapcsoljuk kritikus gondolkodásunkat, és nem kérdőjelezzük meg olyan alaposan a megoldásait, mint kellene” – mondta Charles. Severance, a Michigan Egyetem Információs Iskola informatikai professzora, aki felszabaduló ingyenes online kódolási tanfolyamok.

„Mindig feltételezzük, hogy a ChatGPT kevésbé képzett programozó, mint te. Az AI-eszközök használatának egyetlen biztonságos módja az, ha biztos abban, hogy az általuk előállított megoldás helyes” – tette hozzá. 

Tudnod kell, mit csinálsz

Ahhoz, hogy ezeket az eszközöket hatékonyan használhassa, meg kell értenie a problémát, és világosan el kell magyaráznia azt a felszólításban. A kimenetben visszaadott kód minősége attól függ, hogyan fogalmazza meg kérdéseit a bemenetben, mondta Inbal Shani, a GitHub termékigazgatója. A regisztráció.

A felhasználóknak interakcióba kell lépniük GitHub másodpilóta mintha egy kollégával beszélgetnének – javasolta a nő. „Minél több részletet ad meg a mellette ülő asszisztensnek arról, hogy mi a szándéka, hová megy a megoldani kívánt probléma felé, annál jobb választ kap, mert az AI több kontextust kap. Tudja, hogyan végezzen részletesebb keresést, hogy megtalálja a megfelelő kódrészletet, vagy ajánlja a megfelelő tesztelési infrastruktúrát az Ön számára” – mondta. 

Az általunk használt programozási nyelvek jobban igazodtak az emberi nyelvhez; A csevegőeszközök csak a következő lépést jelentik ebben az evolúcióban

Phillip Compeau, a Carnegie Mellon Egyetem tanársegédje, aki létrehozta a Rosalind platform és Programozás szerelmeseknek oktatóanyag a számítógépes biológia iránt érdeklődők számára, megegyeztünk.

Amikor olyan diákokat tanít, akik kezdenek kódolni, arra bátorítja őket, hogy maradjanak távol az AI-tól. De a haladóbb, az alapokat ismerő diákokat megtanítja nekik, hogyan használják a technológiát, hogy termelékenyebbek és hatékonyabbak legyenek a munkájukban.

„Az egyik dolog, amit megmutatok a hallgatóknak, hogy a legjobb módja annak, hogy tiszta, helyes választ kapjunk egy mesterséges intelligencia-eszköz kódot generáló kódból, ha egyértelműen és helyesen meg tudjuk határozni, hogy a számítógépnek pontosan mit kell tennie. Ez a definíciója a számítógép programozásának, és az idő múlásával az általunk használt programozási nyelvek jobban igazodtak az emberi nyelvhez; A csevegőeszközök csak a következő lépést jelentik ebben az evolúcióban” – mondta A regisztráció

A kódolás során kulcsfontosságú annak kitalálása, hogy mit szeretnél a programoddal, hogyan kell működnie, és hol rontott el. A tanulók ezeket az alapvető készségeket idővel csak következetes gyakorlással fejleszthetik. Nem hagyhatja ki ezt a folyamatot az AI-re támaszkodva, ha hozzáértő szoftverfejlesztő szeretne lenni. De ha okosan használja, gyorsan fejlődhet, és jó programozóvá válhat – és talán még szórakoztató is lesz. ®

Időbélyeg:

Még több A regisztráció