ChattyG opravlja prvi letnik univerzalnega izpita iz programiranja C/C++

ChattyG opravlja prvi letnik univerzalnega izpita iz programiranja C/C++

ChattyG takes a first year uni C/C++ programming exam PlatoBlockchain Data Intelligence. Vertical Search. Ai.

ChatGPT je bil preizkušen s serijo običajnih programskih nalog C/C++ za novince in uspešno opravil – čeprav ne z odliko.

Po navedbah hrvaške raziskovalne skupine, medtem ko imajo dijaki prvega letnika težave z nekaterimi nalogami, Rezultati [PDF] je pokazal, da ChatGPT dosega cilje strokovnosti, ki so segali med povprečjem in cilji izkušenih programerjev. In seveda, tako kot pri vseh visokošolskih izpitih, se rezultati lahko določijo glede na to, kako so vprašanja ubesedena.

Ekipa University North je zasnovala nabor programskih izzivov za prvošolce, ki so bili najprej napisani v angleščini in kasneje, da bi ugotovili, ali bodo medjezikovne nianse vplivale na rezultate v hrvaščini. Želeli so videti ne le, kako kodira ChatGPT, ampak tudi, ali se lahko prilagodi različnim jezikom.

Prvi kviz je bil osredotočen na osnovno programsko nalogo: izračun največjega skupnega delitelja (GCD) dveh števil. Na začetku je bot pokazal nekaj omejitev pri tem, kako se je odločil spopasti s problemom, pri čemer so raziskovalci rekli, da mu manjka finosti, ki se pričakuje od izkušenega programerja. Toda kot vsak učenec se uči in z nadaljnjimi poskusi, zlasti v hrvaški različici, je pokazal nekaj izboljšav, pokazal opazno prilagodljivost.

Na primer, v eni določeni nalogi je bil izziv programirati osnovno statistično funkcijo v C++. Sprva je naredil spregled z uporabo funkcije, ki ni proizvedla zahtevanega »popravljenega« standardnega odklona. Toda, ko je bila ista naloga predstavljena v hrvaščini, klepetalni robot ni le prepoznal svoje prejšnje napake, temveč je izdelal izpopolnjeno rešitev.

Raziskovalci ugotavljajo, da ta prilagodljivost zrcali prvošolčevo potovanje: začne z napakami, vendar kaže sposobnost učenja in izboljšanja svojih veščin s ponavljajočo se prakso in povratnimi informacijami. Awww.

Druga naloga je vključevala bolj niansiran problem: prepoznavanje števil znotraj obsega na podlagi posebnih pravil deljivosti. Tu je postala očitna Ahilova peta ChatGPT. Ne glede na jezik – angleški ali hrvaški – se je ChattyG spopadal z negativnimi številkami. Vsak poskus ChatGPT-ja je vodil do podobnih rezultatov, ki so kazali na dosledno težavo v njegovi programski logiki za to nalogo.

Dodatno vprašanje je zahtevalo natančnost. ChatGPT je bil potreben za izdelavo vhodnega filtra, posebej za določen obseg decimalnih števil. Začetna rešitev AI, ko je bila predstavljena v angleščini, je bila na mestu, vendar so naslednji poskusi, zlasti ko je bila naloga dana v hrvaščini, razkrili nekaj nedoslednosti in v nekaterih primerih je ChatGPT uporabil nepotrebne programske konstrukcije. Čeprav to ni oviralo funkcionalnosti programa, je kazalo na pomanjkanje optimizacije. Bilo je, kot da bi ChatGPT včasih ubral daljšo pot do cilja, tudi če je bila na voljo bližnjica.

Stvari so postale bolj zapletene z nalogo, povezano z nizi. Tu je bil ChatGPT pozvan, naj shrani številke in nato izračuna določene statistične podatke, kot so povprečna vrednost, standardna deviacija, ter identificira najmanjše in največje vrednosti. ChattyG-jev nastop na tem izzivu je bil še posebej zanimiv. V različnih testih je prikazal različne strategije. Včasih je težavo elegantno rešil in ponudil enostavne rešitve. V drugih poskusih se je nagibal k bolj zapletenim metodam, celo z združevanjem več operacij v eno funkcijo.

Vse to odpira pomembno vprašanje: ali ChatGPT vedno izbere najboljšo strategijo ali včasih privzeto uporabi naučene, a neučinkovite metode?

Zadnja ovira za ChatGPT je vključevala osnovno obdelavo besedila. Naloga je bila odstraniti odvečne presledke iz uporabniškega vnosa. V začetnem angleškem preizkusu je bila rešitev ChatGPT na mestu. Vendar je hrvaški test vrgel krivuljo. Namesto da bi se držal svoje učinkovite rešitve z enim vnosom, se je AI iz nekega razloga odločil za bolj zapleten pristop, ki zahteva več vhodov. Ko pa so raziskovalci ponovno preučili ta izziv v angleščini, se je zdelo, da se je ChatGPT naučil iz prejšnjega napačnega koraka in se vrnil k enostavnejši metodi.

Na splošno so raziskovalci ugotovili, da imajo odgovori veliko skupnega z odgovori človeških študentov programiranja. Njegove rešitve so pogosto ponovile strategije izkušenih programerjev, vendar kot vsak študent tudi ChatGPT ni bil nezmotljiv. Bili so trenutki briljantnosti, pa tudi primeri, ko se je zdelo, da je popolnoma zgrešil cilj.

Prava ugotovitev tukaj je njegova prilagodljivost, podobna človeški novinci: ni šlo le za iskanje prave rešitve; šlo je za izpopolnjevanje, učenje in ponavljanje.

Kakšna je torej končna ocena ChattyG-ja?

Od raziskovalcev:

»ChatGPT opravi izpit z zelo dobrimi ocenami in tako v kakovosti rešitev prekaša večino naših študentov. Poleg tega vsako nalogo reši v 20 do 30 sekundah in kaže splošno sposobnost prilagajanja ali spreminjanja svojih rešitev glede na dodatne zahteve. Vendar pa je pri nekaterih, pogosto preprostih nalogah, pokazal nezmožnost razumevanja logičnega in matematičnega bistva problema, tudi potem ko je bil večkrat opozorjen o svojih napakah.« ®

Časovni žig:

Več od Register