Dirbtinio intelekto pagalbos dvigubas poveikis programavimo įgūdžiams: išsamus tyrimas
Dirbtinio intelekto integravimas į programinės įrangos kūrimo darbo eigas neabejotinai atnešė precedento neturintį produktyvumo erą. DI įrankiai sparčiai tampa standartu, leidžiančiu programuotojams greičiau atlikti dalį savo darbo, o kai kurie tyrimai rodo efektyvumo padidėjimą iki 80%. Tačiau šis pagreitintas tempas kelia esminį klausimą dėl ateities programuotojų tobulėjimo: Ar padidėjusi DI pagalba kainuoja esminių įgūdžių ugdymą, ar ji siūlo nuorodą į abu aspektus?
Naujausias Anthropic atsitiktinių imčių kontroliuojamas tyrimas, kuriame dalyvavo programinės įrangos kūrėjai, nagrinėja šią įtampą. Nors DI gali automatizuoti rutinines užduotis ir pagreitinti kūrimą, žmogiškieji įgūdžiai išlieka nepakeičiami klaidų aptikimui, išvesties valdymui ir DI, naudojamo didelės rizikos aplinkose, priežiūrai. Šis tyrimas nagrinėja, ar DI siūlo nuorodą į tiek efektyvumą, tiek įgūdžių ugdymą, ar DI pagalbos produktyvumo padidėjimas netyčia pakenkia kritinių programavimo įgūdžių formavimuisi. Šių išvadų pasekmės yra didelės, jos formuoja tai, kaip DI produktai kuriami siekiant palengvinti mokymąsi, kaip darbo vietos traktuoja DI politiką ir, galiausiai, platesnį visuomenės atsparumą vis labiau DI valdomame pasaulyje.
Tyrimo dizaino išpakavimas: įgūdžių įvertinimas su DI
Siekgama ištirti sudėtingus ryšius tarp DI pagalbos ir įgūdžių ugdymo, Anthropic sukūrė patikimą atsitiktinių imčių kontroliuojamą tyrimą. Į tyrimą buvo įtraukti 52 daugiausia jauni programinės įrangos inžinieriai, kiekvienas turintis daugiau nei metus Python patirties ir šiek tiek susipažinęs su DI programavimo įrankiais, tačiau naujokai Trio Python bibliotekos, kuri buvo pagrindinė užduočių dalis. Trio reikalauja suprasti asinchroninį programavimą, įgūdį, dažnai įgyjamą profesionalioje aplinkoje.
Tyrimas apėmė tris pagrindines fazes: apšilimą, pagrindinę užduotį, susijusią su dviejų funkcijų kodavimu naudojant Trio, ir vėlesnį testą. Dalyviai žinojo apie artėjantį testą ir buvo skatinami dirbti efektyviai. Buvo naudojama internetinė programavimo platforma, aprūpinta DI asistentu šoninėje juostoje, gebančiu generuoti teisingą kodą pagal užklausą. Ši sąranka atspindėjo realaus pasaulio mokymosi scenarijų, kai programuotojai gali išmokti naują įrankį per savarankišką mokymo programą, gaudami problemų aprašymus, pradinį kodą ir trumpus konceptualius paaiškinimus.
Lentelė: Programavimo įgūdžių kategorijos ir jų svarba DI priežiūrai
| Įgūdžių kategorija | Aprašymas | Svarba DI priežiūrai |
|---|---|---|
| Derinimas | Gebėjimas identifikuoti ir diagnozuoti klaidas kode. | Labai svarbu aptikti ir suprasti, kodėl DI sugeneruotas kodas neveikia. |
| Kodo skaitymas | Gebėjimas suprasti, ką daro esamas kodas. | Būtina norint suprasti ir patvirtinti DI parašytą kodą prieš diegimą. |
| Kodo rašymas | Gebėjimas parašyti arba pasirinkti teisingą kodavimo metodą. | Mažiau kritiška žemo lygio sintaksės atveju su DI, bet gyvybiškai svarbi aukšto lygio sistemos projektavimui. |
| Konceptualus | Gebėjimas suprasti pagrindinius įrankių ir bibliotekų principus. | Kritiška vertinant, ar DI sugeneruotas kodas atitinka numatytus programinės įrangos projektavimo modelius. |
Vertinimas pirmiausia buvo sutelktas į derinimą, kodo skaitymą ir konceptualias problemas, pripažįstant jų augančią svarbą, nes DI generuoja vis daugiau kodo, reikalaujant žmogiškos priežiūros ir patvirtinimo.
Pagrindinės išvados: kompromisas tarp greičio ir įgūdžių
Kiekybiniai tyrimo rezultatai atskleidė didelį mokymosi rezultatų skirtumą. Nors DI grupė atliko užduotis maždaug dviem minutėmis greičiau, šis skirtumas nebuvo statistiškai reikšmingas. Tačiau poveikis įgūdžių įvaldymui buvo neabejotinas: DI grupė teste vidutiniškai surinko 50%, palyginti su 67% rankinio kodavimo grupei. Šis 17% skirtumas prilygsta beveik dviem balų laipteliams, su Coheno d 0,738 ir p =0,01, rodančiu tvirtą poveikį.
Didžiausias balų skirtumas atsirado derinimo klausimuose, o tai rodo, kad DI pagalba gali ypač trukdyti programuotojo gebėjimui savarankiškai identifikuoti ir išspręsti kodo klaidas. Tai pabrėžia kritinį susirūpinimą: jei programuotojai pernelyg pasitikės DI, kad sukurtų veikiantį kodą, jie gali prarasti esminius derinimo įgūdžius, reikalingus DI sugeneruotos išvesties patvirtinimui ir taisymui, ypač kai kažkas neišvengiamai nepavyksta. Tyrimas pabrėžia, kad tikras įgūdžių ugdymas dažnai apima susidūrimą su iššūkiais ir savarankišką jų sprendimą – procesą, kurį DI gali sutrumpinti.
DI sąveikos modelių iššifravimas optimaliam mokymuisi
Be kiekybinių balų, kokybinė ekrano įrašų analizė atskleidė, kaip dalyviai sąveikavo su DI, atskleisdama skirtingus modelius, susijusius su skirtingais mokymosi rezultatais. Stebėtina, kad dalyviai praleido daug laiko (iki 30% viso užduoties laiko) sudarydami užklausas, o tai šiek tiek sumažino DI naudojimo greičio pranašumą. Kontrolinė grupė, savarankiškai susidūrusi ir išsprendusi daugiau su Trio susijusių klaidų, tikriausiai patobulino savo derinimo įgūdžius per tiesioginę patirtį.
Tyrėjai sąveikos modelius suskirstė į „žemus balus gaunančius“ ir „aukštus balus gaunančius“ metodus:
Žemus balus gaunantys sąveikos modeliai (vidutiniai testų rezultatai < 40%)
Šie modeliai pasižymėjo dideliu pasitikėjimu DI, kognityviniu perkrovimu ir mažiau nepriklausomo mąstymo:
- DI delegavimas (n=4): Dalyviai visiškai pasitikėjo DI, kad parašytų kodą, greitai atliko užduotis su nedaug klaidų, tačiau teste surinko žemus balus.
- Progresyvus pasitikėjimas DI (n=4): Šie programuotojai pradėjo nuo tam tikrų savarankiškų pastangų, tačiau greitai perėjo prie viso kodo rašymo delegavimo DI, o tai lėmė prastą konceptualų įvaldymą.
- Iteratyvus DI derinimas (n=4): Dalyviai uždavė daugiau klausimų, tačiau pirmiausia naudojo DI problemoms spręsti ar savo kodui patikrinti, o ne tam, kad išsiaiškintų savo supratimą, o tai lėmė lėtesnį užbaigimą ir žemus balus.
Aukštus balus gaunantys sąveikos modeliai (vidutiniai testų rezultatai >= 65%)
Priešingai, šie modeliai apėmė aktyvesnį, į supratimą orientuotą DI naudojimą:
- Generavimas, po to supratimas (n=2): Dalyviai pirmiausia sugeneravo kodą, o po to aktyviai ieškojo paaiškinimų ir uždavė papildomų klausimų, kad pagilintų savo supratimą. Šis metodas, nors ir nebuvo žymiai greitesnis, lėmė didesnį įgūdžių įvaldymą. Tai atspindi principus, rastus gerojoje praktikoje, skirtos prompt inžinerijai su OpenAI API, kur iteracinis tobulinimas ir patikslinimas yra pagrindiniai.
- Hibridinis kodo ir paaiškinimo modelis (n=3): Šie programuotojai sudarė užklausas, kurios prašė ir kodo generavimo, ir kartu paaiškinimų. Laikas, praleistas suprantant šiuos paaiškinimus, prisidėjo prie geresnio suvokimo.
- Konceptuali užklausa (n=7): Ši grupė pirmiausia sutelkė dėmesį į konceptualių klausimų uždavimą, o po to pritaikė savo patobulintą supratimą, kad savarankiškai atliktų užduotis ir išspręstų klaidas. Nepaisant to, kad susidūrė su daugiau klaidų, jie jas efektyviai išsprendė, todėl tai yra vienas greičiausių aukštus balus gaunančių modelių. Šis metodas atitinka idėją panaudoti DI gilesniam supratimui, o ne tik vykdymui, kaip aptarta "Dirbtinio intelekto, kaip teksto, era baigėsi: vykdymas yra nauja sąsaja".
Šios kokybinės įžvalgos, nors ir nenustato tiesioginio priežastinio ryšio, tvirtai rodo, kad DI sąveikos būdas kritiškai veikia mokymąsi ir įgūdžių įvaldymą.
Pasekmės DI valdomam kūrimui ir įgūdžių augimui
Anthropic išvados pateikia gyvybiškai svarbų aspektą besikeičiančioje programinės įrangos inžinerijos aplinkoje: agresyvus DI integravimas be apgalvotų strategijų gali sukelti didelius kompromisus įgūdžių ugdymo srityje. Nors DI didina produktyvumą, ji rizikuoja sustabdyti esminių gebėjimų, ypač derinimo ir konceptualaus supratimo, augimą, kurie yra būtini DI sugeneruoto kodo patvirtinimui ir priežiūrai.
Darbo vietoms tai reiškia, kad apgalvotas požiūris į DI politiką yra nepaprastai svarbus. Paprastas DI įrankių diegimas efektyvumui gali netyčia sukurti darbo jėgą, puikiai išmanančią prompt inžineriją, tačiau neturinčią gilaus supratimo, kaip spręsti sudėtingas problemas ar kurti patikimas sistemas. Vadovai turėtų sutelkti dėmesį į sistemas ir dizaino pasirinkimus, kurie aktyviai skatina nuolatinį mokymąsi, užtikrinant, kad inžinieriai galėtų prasmingai prižiūrėti savo kuriamas sistemas.
Individualiems programuotojams, ypač karjeros pradžioje, tyrimas yra stiprus priminimas apie sąmoningo įgūdžių ugdymo vertę. Vien tik pasitikėjimas DI, kad išspręstumėte iššūkius, gali suteikti greitus sprendimus, tačiau paaukojama kognityvinė pastanga, būtina tikram įvaldymui. Kovos priėmimas, aiškinamųjų klausimų uždavimas ir siekimas savarankiškai spręsti problemas – net tada, kai Claude AI ar panašūs įrankiai siūlo greitus atsakymus – yra gyvybiškai svarbūs ilgalaikiam augimui ir kompetencijai ateityje, papildytoje DI. Iššūkis slypi tame, kaip panaudoti DI kaip galingą mokymosi akseleratorių, nepasiduodant kognityviniam perkrovimui, užtikrinant, kad žmogiškasis išradingumas ir supratimas išliktų programinės įrangos inovacijų pagrindu.
Originalus šaltinis
https://www.anthropic.com/research/AI-assistance-coding-skillsDažniausiai užduodami klausimai
What was the primary objective of Anthropic's study on AI assistance and coding skills?
How did AI assistance affect learning and mastery in the study's participants?
What types of coding skills were assessed, and which was most impacted by AI assistance?
What are 'low-scoring' AI interaction patterns identified in the study?
What are 'high-scoring' AI interaction patterns that led to better learning outcomes?
Did using AI assistance significantly speed up coding tasks in Anthropic's study?
What are the key implications of these findings for workplaces and the design of AI tools?
How can developers foster skill development while effectively utilizing AI assistance?
Būkite informuoti
Gaukite naujausias AI naujienas el. paštu.
