Skip to main content
Search by keyword
Kodēšanas un programmēšanas prasmes GenerativeAI laikmetā: dziļš
Attēls, kurā attēloti 2 cilvēki, kas strādā kopā tiešsaistē, ar DSJP logotipu un tekstu. Teksts ir šāds: “Kodēšanas un programmēšanas prasmes ģeneratīvā MI laikmetā”

Generatīvs mākslīgais intelekts, mākslīgā intelekta apakšdisciplīna ir saistīta ar lietojumiem, kuros dators imitē cilvēka spēju radīt un ražot — neatkarīgi no tā, vai tā ir cilvēka valoda vai cilvēka radošās izpausmes (piemēram, zīmēšana, mūzikas veidošana u. c.). Labākais piemērs ģeneratīvajam mākslīgajam intelektam, kas pēdējā laikā ir radījis viļņus, ir ChatGPT, kas ir lielvalodas modelis (LLM), ar kuru lietotāji var mijiedarboties dabiskā valodā. Viena joma, kurā ģeneratīvais mākslīgais intelekts ir īpaši daudzsološs slēpjas mūsu programmatūras koda rakstīšanā. Šajā rakstā ir aplūkotas iespējas, ko Generative AI rada, lai atbalstītu šo programmatūras izstrādes procesu, un tā potenciāls pavērt ceļus programmatūras koda rakstīšanai lielākam skaitam cilvēku nekā jebkad agrāk. Kopā ar iespējām, kas paveras, šajā dokumentā ir aplūkoti arī riski, ko rada GenAI atbalstīto instrumentu izmantošana, samazinot cilvēka virsvadību, un norādīts uz iespējamiem apvāršņiem, lai izpētītu, vai mēs vēlamies līdzsvarotāku izmantošanu, kurā ņemtas vērā mūsu ES pamatvērtības. 

Ievešana

Generatīvais mākslīgais intelekts (MI) ir saistīts ar lietojumiem, kuros dators imitē vai cenšas atdarināt cilvēku spēju radīt un radīt cilvēka valodu un radošu izpausmi, piemēram, zīmējot vai komposējot mūziku (Stokel-Walker & Van Noorden, 2023). Viens no ģeneratīvā mākslīgā intelekta piemēriem, kas pēdējā laikā ir radījis viļņus, ir ChatGPT, kas ir lielvalodas modelis (LLM), ar kuru lietotāji var mijiedarboties, drukājot. Šīs LLM rezultāti ir pārsteiguši daudzus pētniekus un plašu sabiedrību par to, kā mijiedarbība var būt “reāla” (Maslejet al, 2023).

Interese par šāda veida mākslīgo intelektu jau vairākus gadu desmitus ir pieaugusi, un fundamentālie pētījumi ir labi attīstīti (Reiter & Dale, 1997; Kandhasamy & Xie, 2004). Tomēr lietojumi joprojām bija ierobežoti, ar nelielu koncepciju pierādīšanas algoritmu galvenokārt pētniecībā, galvenokārt tāpēc, ka trūka skaitļošanas jaudas vai trūkst informācijas par apmācību, kas nepieciešama, lai ieviestu dzīves kvalitātes tehnoloģiju (Maslejet al, 2023). Pēdējos gados tas ir mainījies. Laikposmā no 2015. līdz 2016. gadam notika darbības, lai apvienotu resursus un izveidotu sistemātiskas lielas datu kopas un modeļus, ar koordinētiem centieniem nozarē, piemēram, OpenAI (izveidots 2015. gadā) un HuggingFace (pamatots 2016. gadā). Kopš 2022. gada beigām šo tehnoloģiju briedums ir ievērojami pieaudzis, jo datošanas jauda, nobrieduši algoritmi ir saskaņoti ar pietiekamiem datiem.

Viena no jomām, kurā ģeneratīvais mākslīgais intelekts ir ļoti daudzsološs, ir programmatūras koda rakstīšanas jomā. GenAI jau strādā daudzi inženieri, lai palīdzētu viņiem programmēt (Sharma, 2021). Vienkāršs teksts cilvēkiem ļauj rakstīt sarežģītus kodus sekundēs, iespējams, paātrinot programmēšanu un programmēšanu (Brady, 2023). Ģeneratīvajos MI rīkos var sniegt tekstuālus norādījumus (promptus), lai MI dotu norādījumu rakstīt kodu, lai izveidotu konkrētas funkcijas. Tā rezultātā šāda rīka lietotājs var sazināties specifiskākā dabiskā valodā, nezinot kodēšanas valodu. Ierobežotā veidā un ar attiecīgiem pamudinājumiem ģeneratīvais mākslīgais intelekts varētu arī radīt soļus lietojuma loģikā, definējot algoritma vispārējo struktūru.

Protams, tas rada daudzus jautājumus par to, kā nākotnē rakstīt savu programmatūru un kādas būs tam nepieciešamās prasmes. Šī panta nākamā iedaļa sīkāk iztirzā šo jautājumu.

Programmatūras izstrādātāji ES darba tirgum

Jau daudzus gadus digitālajā nozarē trūkst kvalificētu darbinieku. Eiropas Programmatūras prasmju alianses 2021. gada pētījumā norādīts, ka “izstrādātājs” ir vispieprasītākā programmatūras loma, un norādīts, ka šī loma pastāvīgi mainās kā šā trūkuma iemesls. Izstrādātāju pamatprasmes ir programmēšana un kodēšana, divas disciplīnas, kurās darba saturs turpina mainīties, radot problēmas organizācijām un apgrūtinot darbinieku prasmju atjaunināšanu. Pieaugošā vajadzība pēc IKT ekspertiem dažādās nozarēs apdraud Eiropas digitālās desmitgades mērķi līdz 2030. gadam Eiropā sasniegt 20 miljonus IKT speciālistu. 

Kods, kods: daži termini un pamatjēdzieni

Šeit noderīga ir dažas skaidrojošas terminoloģijas. Programmatūras izstrāde attiecas uz datorzinātņu darbībām, t. i., programmatūras izveides, projektēšanas, ieviešanas un atbalsta procesu (IBM, 2023). Programmatūras izstrādes posms notiek tad, kad programmētājs sāk definēt un rakstīt instrukcijas datoram vēlamajā datorvalodā.

Kas ir plānošana? Programmēšana attiecas uz darbību izstrādātājiem, ko veic, lai definētu datorprogrammas loģiku, tostarp struktūras, ar kurām programma manipulē, un algoritmi, kas tai jāīsteno. Tādējādi programmēšanas prasmes ir cieši saistītas ar loģisku un analītisku, konceptuālu un abstraktu domāšanu, kā arī skaitļošanas domāšanu. Izstrādājot kodu, viņi raksta instrukcijas datoram, lai īstenotu konkrētas darbības, kas jāveic datoram. Izstrādātāji raksta dažādās datorvalodās, kas nodrošina viņiem dažādas spējas atkarībā no to struktūras vai mērķa. Turklāt datorvalodas turpina attīstīties, un tas ir sarežģīts uzdevums attīstītājiem sekot līdzi jaunākajiem stilam un tendencēm. Runājot par prasmju trūkumu darba tirgū, varam atsaukties gan uz prasmēm, kas saistītas ar plānošanu, gan uz prasmēm, kas saistītas ar programmēšanu. 

Atbalsts ES darba tirgum 

Tā kā šis prasmju trūkums jau vairākus gadus ir radījis bažas, politikas veidotāji un pētnieki ir ieguldījuši daudz enerģijas, lai attīstītu atbalstu darba tirgus dalībniekiem šo prasmju apzināšanā un attīstīšanā (potenciālajiem) darbiniekiem. Dažas svarīgas iniciatīvas ietver standartizētus kompetenču satvarus tieši digitālajam kontekstam. Iedzīvotāju digitālās kompetences satvars, DigComp 2.2., (Vuorikari, Kluzer un Punie, 2022) ir galvenais vispārpieņemtais satvars ES, kas identificē un strukturē digitālās prasmes, kuras iedzīvotājiem vajadzīgas, lai piedalītos modernā digitālajā sabiedrībā. Eiropas e-kompetences sistēma (e-CF) ir standartizēta atsauces sistēma, kurā ietilpst 41 kompetence, kas ir būtiska un vajadzīga IT profesionālā darba kontekstā. Sistēmā ir noteikti arī 30 IKT profesionālās lomas profili, kas aptver dažādus digitālās nozares aspektus. Eiropas Savienībā tā ir pamatsistēma, kas piedāvā vienotu valodu starp IT darbiniekiem un IT ekspertiem.

Pastāv arī vispārīgāki satvari ar attiecīgiem profiliem. Nozaru prasmju sistēmas, izmantojot Prasmju pilnveides paktu, apvieno dažādus nozares dalībniekus dažādās nozaru aliansēs, lai apzinātu un strukturētu prasmes, kas vajadzīgas nozares turpmākai attīstībai. Lielā mērā tās ietver arī sarežģītas digitālās prasmes, jo digitālā nozare ietekmē visas nozares. Uzņēmējdarbības jomā EntreComp satvars (McCallum, Weicht, McMullan un Price, 2018) ietver kompetences, apsverot resursu efektīvu izmantošanu, kas ietver arī digitālo resursu vajadzību novērtējumu un ieskatu par tām un digitālo rezultātu izstrādi. Mainīgais tehnoloģiskais konteksts tiek pastāvīgi integrēts šajos satvaros ar jaunākajām versijām, tostarp prasmēm strādāt ar MI tehnoloģijām. Piemēram, DigComp jaunākajā izdevumā 2.2., tagad ietver arī zināšanas par sistēmām, kas saistītas ar MI.  

ES darbības programmēšanas/kodēšanas prasmju veicināšanai 

Politikas iniciatīvas ne tikai sniedz atbalstu ar programmatūras izstrādi saistīto prasmju nosaukšanā, identificēšanā un attīstīšanā, bet arī uz to, lai karjeru digitālajā nozarē padarītu populārāku un pazīstamāku. Lai palielinātu interesi par plānošanu un kodēšanu, notiek vairākas ES darbības, kas atkārtojas.ES programmēšanas nedēļa veicina vietēja mēroga iniciatīvas, lai mudinātu vairāk iedzīvotāju izmantot un attīstīt savas programmēšanas prasmes. Darbs ar brīvprātīgajiem, tostarp izpratnes veicināšanas kampaņas, darbsemināri, konferences u. c., kas notiek visā Eiropā, vietējās valodās un ir pielāgotas reģionālajām vajadzībām un kontekstam. 2021. gadā iniciatīvā piedalījās vairāk nekā 4 miljoni cilvēku 80+ valstīs no visas pasaules, un lielākā daļa pasākumu notika skolās (Eiropas Komisija, 2023. gads).

Eiropas Tehnoloģiju un inovāciju institūts (EIT) piedāvā platformu nozares dalībniekiem, lai tie varētu apvienoties, lai ieviestu inovācijas attiecīgajās nozarēs drošā un atvērtā vidē. EIT Digital ir īpaši vērsts uz inovācijas un uzņēmējdarbības atbalstīšanu digitālajā nozarē (EIT Digital, 2020). Turklāt daudzas ES finansētās programmas ir vērstas uz Eiropas darbaspēka digitālo prasmju uzlabošanu digitālajā nozarē: vienkārši aplūkojiet milzīgos ieguldījumus programmā “Digitālā Eiropa” (7,5 miljardi eiro Eiropas ekonomikas un sabiedrības digitālajai pārveidei). Vēl viena informācija ir 20 % slieksnis attiecībā uz digitālajām investīcijām ES dalībvalstu atveseļošanas un noturības plānos, kas ir pārsniegts

Vai GenAI uzlabos prasmju trūkumu darba tirgū? 

Ģeneratīvā MI parādīšanās paver programmēšanas un kodēšanas iespējas darba tirgus kontekstā. No vienas puses, GenAI varētu padarīt cilvēkiem pieejamākas padziļinātas prasmes (piemēram, programmēšanu): un 2023. gads varētu izrādīties izšķirošs brīdis — tas nozīmē, ka mākslīgais intelekts ātri uzlabo cilvēku programmēšanas prasmes, ļaujot mums efektīvāk un lietderīgāk radīt digitālos rīkus. No otras puses, GenAI varētu arī samazināt programmēšanas prasmes, jo tas samazina padziļināto zināšanu un zinātības veidošanu šajā jomā. Turpmākajos punktos ir aplūkots konteksts, kādā GenAI varētu ietekmēt programmatūras izstrādi, un tās ietekme uz prasmju attīstību. 

Zināmā mērā konteksts

Pirms izpētīt, kādas prasmes būs svarīgas šajā jaunajā telpā, ir lietderīgi apsvērt dažus kontekstus, kuros programmēšanas aspektus var ietekmēt ģeneratīvais mākslīgais intelekts.

Kodēšanas vieta programmatūras inženierijas procesā

Programmatūras inženierija, tāpat kā citi inženierijas veidi, ir dizaina zinātne, un tā pamatā seko procesam, kas ietver pētniecības, ideju, projektēšanas, izstrādes un testēšanas posmus, lai pārietu no konceptuālās idejas uz taustāmu produktu (Davis, Bersoff & Comer, 1988). Izvēršot šo procesu, tiek iegūtas zināšanas un zinātība un atkārtots process, kas notiek vairākas reizes, var precizēt problēmas definīciju un prasības, veikt turpmākus pamatpētījumus utt. Lai gan, kā izklāstīts Despa, 2014. gadā, var būt dažādas pieejas (papildu, ūdenskritums, spirāle, prototipu izstrāde u. c.) attiecībā uz to, kā šie posmi veidojas (piemēram, posmu ilguma atšķirības vai paredzamie starprezultāti utt.). Katram projektēšanas procesam ir būtiskas sastāvdaļas. Programmatūras izstrādes procesa galveno komponentu ilustrāciju sk. 1. attēlā. 

A diagram that illustrates the key components of any software design process (Humphrey, 1988)
Figure 1. Software design process, abstracted from Humphrey (1988)

Šajā procesā kodēšana — faktiskā programmatūras koda rakstīšanas process — galvenokārt notiek izstrādes un testēšanas posmā. Šajā izstrādes procesa posmā problēma un iespējamais risinājums jau ir noteikts, un ir pieņemti augsta līmeņa lēmumi par izstrādi. Pēc tam programmatūru izstrādā izstrādes posmā un testē testēšanas posmā. Salīdzinājumā ar citām inženierzinātņu disciplīnām programmatūras ražošanas izmaksas ir salīdzinoši zemas. Arī šajā gadījumā mums ir “industrializācija” programmatūras ražošanā, kur pastāvīgi tiek pieliktas pūles, lai panāktu vēl ātrāku un laika ziņā efektīvāku izstrādi, vienlaikus nodrošinot, ka saražotajam materiālam ir noteikta kvalitāte (Humphrey, 1988). Daži veidi, kā to panākt, ir, piemēram, efektīvi koplietot kodu blokus (piemēram, GitHub repozitorija tipa platformas) un pavisam nesen — zema koda/bezkoda platformas, kurās atkalizmantojami pamatelementi tiek izmantoti kā sākumpunkts, lai abstraktāk pietuvinātu dizainu, paātrinot visu procesu (N-Code.tech, 2023; Adalo, 2023). Tas būtībā paver iespēju programmēt cilvēkus, kuri nav prasmīgi (vai kuriem, iespējams, ir interese būt kvalificētiem) par rakstīšanas mehāniķiem.

Šīs dimensijas pretējā pusē ir “programmatūrasamatniecība”, kuras tehniskā prasme vai prasme izstrādāt kodu atkal kļūst svarīga. Tuvojoties programmatūras radīšanai mācekļa acīs, šī kustība stimulē lepnumu par programmatūras radīšanu, vērtību tradīciju programmatūras radīšanā un galveno uzmanību pievērš individuālajai genijai (Programmatūras amatniecības manifests, 2009). Jūs to pat varētu salīdzināt ar to, kā mēs gatavojam ēdiena gatavošanu mājās un ēdiena gatavošanu profesionālā virtuvē. Mūsu mājās mēs galvenokārt uzskatām, ka ēdiena gatavošana ir labas pārtikas ražošanas process. Kad ēdiena gatavošana kļūst par “amatniecību”, tā ietver disciplīnu, kvalitāti, laika efektivitāti un mērķtiecīgus centienus sasniegt kvalitatīvu produktu augstumu. “Amatniecība” ēdiena gatavošanā ietver ražošanas prasmju un pieejamo resursu apgūšanu, lai sasniegtu šo izcilības līmeni (piemēram, pavērtu viņu prasmi ēdiena gatavošanai, izmantojot kvalitatīvas sastāvdaļas, pilnveidojot nazi, radot jaunas metodes dažādu garšu un pieredzes iegūšanai u. c.)

Mēs varam izmantot šīs pašas idejas un ekstrapolēt tās uz amatniekiem, kas iesaistīti kvalitātes kodeksa izstrādē un izstrādē.

Kodēšanas izplatība zināšanās ietilpīgās darbvietās  

Tik sarežģīta, cik skan, kodēšana neaprobežojas tikai ar profesionālās programmatūras vai IKT nozares telpām. Viens no nepietiekami novērtētajiem faktiem ir tas, ka daudzām specializētām profesionālām tehnoloģijām zināšanu darbā ir vajadzīga zināma programmēšana. Piemēram, ja veicat kādu statistisko analīzi vai pat izmantojat Excel pamatfunkcijas, jums jau ir jāsaprot vismaz minimāls kods. Šajā kontekstā kodēšana ir kļuvusi par citām kompetencēm un literatūrām (domāt: cilvēka valoda un matemātika), kur ikvienam ir vajadzīgas pamatzināšanas un ražošanas prasmes, lai piedalītos sabiedrības dzīvē (Bērke, O’Byrne un Kafai, 2016. gads). Atšķirība ir tā, ka mūsu izpratne par programmēšanu kā rakstpratību vēl nav tik attīstīta, nedz iekļauta mūsu skolu sistēmā kā šīs citas literatūras (Rea, 2022). Pamatskolas sistēma ir veidota, pamatojoties uz šīm literatūrām, un tās ir ļoti svarīgas, lai to papildinātu turpmākajos gados. Tomēr digitālā pārkārtošanās šo ātrumu maina, padarot kodēšanu un skaitļošanas domāšanu tikpat lielā mērā, cik nepieciešams, jau no agras bērnības kā citas literatūras.

Tehnoloģiskais atbalsts salīdzinājumā ar mūsu vispārējo izpratni

Tādējādi rodas neatbilstība: no vienas puses, mēs vēl neesam sapratuši, ka programmēšana ir sarežģīta, un mēs to pilnībā iestrādājām mūsu izglītības sistēmās (Vee, 2017). No otras puses, mūsu rīcībā tagad ir ļoti sarežģīti rīki, kas ļauj mums izveidot, izstrādāt un rakstīt kodu. Turklāt digitālās telpas būtība ir tāda, ka visi šie rīki ir pieejami galvenokārt plašai sabiedrībai (par maksu). 
Lai ilustrētu šo neatbilstību, apsveriet ChatGPT piemērošanu un to, kā cilvēki to uztver:

Kad lūdzat ChatGPT uzrakstīt tekstu, gandrīz ikviens varēs pateikt, vai tas ir labi rakstīts teksts (neņemot vērā tā saturu pašlaik, bet tikai teksta formu cilvēka dabiskā valodā).  

Kad jūs lūdzat ChatGPT veikt matemātisku aprēķinu, daudzi plašas sabiedrības locekļi varēs pateikt, vai tas ir pareizi izdarīts vai vismaz vai ir izvēlēta pareizā pieeja jautājuma atrisināšanai.

Bet... kad jūs lūdzat ChatGPT rakstīt kodu, ne daudzi no plašas sabiedrības locekļiem varēs (vēl) pateikt, vai tas ir pareizs.  

Kā GenAI var mazināt prasmju trūkumu darba tirgū

Iepriekšējā rindkopā ir parādīta viena no jomām, kurā ģeneratīvais mākslīgais intelekts varētu izrādīties pagrieziena punkts. Tagad mēs sīkāk iztirzāsim pašreizējās problēmas saistībā ar prasmju trūkumu un izskatīsim GenAI potenciālu tos mazināt.

Pirmais jautājums attiecas uz lielajām atšķirībām cilvēku programmēšanas prasmēs. Dažādiem cilvēkiem ir atšķirīgs rakstpratības līmenis, un programmēšanas prasmē nav vispārpieņemta pamatlīmeņa. Tam ir vairāki iemesli:

  1. Tā kā kodēšana un programmēšana nav uzskatāma par rakstpratību, tā nav iekļauta formālajā izglītībā visā mācību programmā. Tas nozīmē, ka nav ne vispārējas piekļuves programmēšanas un programmēšanas iespējām, ne arī vispārējas cerības katram indivīdam attīstīt pamatlīmeni.
  2. Prasmju attīstība lielā mērā ir atkarīga no personīgajām individuālajām interesēm un personīgās disciplīnas. Ja vēlaties attīstīt savas prasmes šajā jomā, jums ir jāmeklē formālas un neformālas iespējas tiešsaistē un bezsaistē, izmantojot darbseminārus, bootkampas u. c. Tā kā tas lielā mērā ir ārpus formālās izglītības, ir vajadzīgi papildu centieni un laiks, lai veiktu ieguldījumus šādā prasmju attīstībā.  
  3. Šeit ir svarīgi: prasmju attīstīšana programmēšanā ir atkarīga no laika un naudas ieguldīšanas attiecīgajās programmēšanas prasmju attīstīšanas iespējās. Šis ieguldījums var nebūt iespējams ikvienam sabiedrības loceklim, jo ir vajadzīga infrastruktūra (aparatūra un internets), laiks (ārpus formālās izglītības laika) un iespējamās papildu izmaksas par attiecīgo programmatūru vai licencēm.

Tāpat kā daudzos jautājumos, kas saistīti ar digitālo iekļaušanu, sabiedrībā pastāv liela plaisa starp bagātībām un to, ka šajā jomā ir mazaizsargāti cilvēki, sievietes, vecāka gadagājuma cilvēki un cilvēki ar zemāku sociālekonomisko izcelsmi (Apvienoto Nāciju Organizācija, 2023. gads).

Ģeneratīvs mākslīgais intelekts kodēšanai var lielā mērā samazināt robežvērtību, saskaņā ar kuru cilvēki var ieguldīt, mācoties kodēt. Tā kā tas ļauj mijiedarboties ar datoru dabiskā valodā, ikviens, kas var formulēt savas idejas par programmatūru cilvēka valodā, teorētiski varētu uzrakstīt kodu, lai izveidotu šo programmatūru. Tomēr pieejamības jautājumi (laika un centienu ziņā) joprojām ir šādi: arī šajā gadījumā pastāv iespēja, ka GenAI palielina plaisu starp tiem, kas var programmēt, un tiem, kuri nevar kodēt.

Otrs jautājums attiecas uz to, cik neatliekamas ir prasmes, kas vajadzīgas nodarbinātajiem. Darba tirgum šīs digitālās prasmes ir vajadzīgas šodien un tuvākajā nākotnē. Cedefop prognozē, ka laikposmā no 2022. līdz 2035. gadam būs vajadzīgi gandrīz 979,600 IKT tehniķu un vēl 2,977,600 IKT speciālistu ( Cedefop, 2023. gads). Tomēr padziļinātu zināšanu attīstīšanai un šo prasmju attīstīšanai līdz augstākam prasmju līmenim ir vajadzīgs laiks, kas arī, iespējams, ir šķērslis programmēšanai. Bootkampas un citi īstermiņa, bet intensīvi mācīšanās veidi ir efektīvi, taču prasa laiku un resursus, kas ne vienmēr ir visiem (Tayer & Ko, 2017). Turklāt darbiniekiem ir ne tikai jāsasniedz pamatprasmju līmenis, bet arī viņiem ir jābūt atkarīgiem no sevis, lai pastāvīgi uzlabotu šīs prasmes.

GenAI ir potenciāls zināmā mērā mazināt šo problēmu. Tehnoloģijas pieejamība dabiskā valodā daudziem var pazemināt robežvērtību un sniegt atbalstu “tieši laikā”, lai atrastu to, kas ir vajadzīgs, tādējādi padarot kodēšanu un kodu ģenerēšanu efektīvāku un, iespējams, motivējot cilvēkus to izmantot. Šī tehnoloģija varētu atbalstīt pašefektivitāti, atvieglojot un paātrinot atbilžu atrašanu, kad viņi ir iestrēguši, un radot vidi, kurā izglītojamie vēlas pastāvīgi attīstīt savas kodēšanas un programmēšanas prasmes. Tomēr arī šajā gadījumā pastāv iespēja, ka šīs tehnoloģijas palielinās plaisu starp tiem, kas jau var to darīt, un tiem, kas to nespēj. Turklāt šajā kontekstā uz GenAI balstīts atbalsta instruments efektīvi darbojas kā ekspertu sistēma (t. i., cilvēces pieprasījumi, ko izveido GenAI). Ir svarīgi apsvērt, kāds cilvēka virsvadības līmenis ir nepieciešams.  

Trešais jautājums attiecas uz to, kā pašlaik tiek organizēta prasmju pilnveidošana kodēšanā un programmēšanā. Formālā kontekstā kodēšanas prasmes ir piemērotas darbsemināriem vai bootkampām, iespējams, ap konkrētām programmēšanas valodām vai vispārīgākām ar problēmām saistītām darbībām. Neformālais konteksts ir atkarīgs no tā, vai indivīdi paši izveido savus mācīšanās ceļus, izmantojot dažādus tiešsaistes resursus, kas apvienoti ar alternatīvu pieredzi bezsaistē.  

GenAI rīki var paplašināt šīs darbības ar “tieši laikā” zema sliekšņa atbalstu, lai atrastu to, kas ir vajadzīgs, tādējādi padarot kodu izstrādi efektīvāku un lietderīgāku. Tomēr šo rīku izmantošana joprojām ir atkarīga no tā, vai cilvēks nosaka atbilžu pareizību un programmatūras iznākuma pieņemamību. Šajā gadījumā pastāv risks, ka GenAI rīki varētu kļūt par izdevīgu sistēmu, kurā izglītojamais cilvēks to izmanto tikai tūlītēja mērķa sasniegšanai, nepadziļinot padziļinātas zināšanas par kodēšanu.

Ietekme uz prasmju pilnveidi programmēšanā un programmēšanā GenAI vecumā

Ir skaidrs, ka GenAI piedāvā daudzas iespējas pazemināt robežvērtību daudziem iedzīvotājiem, lai sāktu ne tikai izstrādāt programmatūru, bet arī efektīvi izmantot programmatūru ikdienas kontekstā. Faktiski daudziem izglītojamajiem zemais slieksnis var būt arī motivējošs faktors, lai vispār iesaistītos kodēšanā. Tomēr, lai nodrošinātu, ka cilvēki turpina attīstīt padziļinātas zināšanas par kodēšanu — un ne tikai uzskata, ka GenAI ir instruments, kas var pārņemt programmēšanas ziņapjo darbu, — vēl ir jāveic daži piesardzības pasākumi. 

Pirmkārt, ir jāvēršas pie programmēšanas kā rakstpratības, ko var integrēt visā formālajā izglītības sistēmā. Lai gan jau ir īstenoti centieni iekļaut kodēšanu mācību plānos un mācību programmās, ir vajadzīgas sistēmiskākas izmaiņas (Rea, 2022; Vee, 2017). Iepriekš uzskaitītie galvenie digitālo prasmju satvari sniedz labāku priekšstatu par šo prasmju sarežģītību un piedāvā veidus, kā izmantot niansētāku pieeju to attīstīšanai.  

Otrkārt, cilvēkiem ir arī jāapzinās MI ierobežojumi — tas, ko tas var un nevar darīt, un vēl jo vairāk par to, kas tam būtu jādara un ko tam nevajadzētu darīt. MI tehnoloģija pēc savas būtības pārņem dažas lēmumu pieņemšanas darbības no cilvēkiem. Lai gan šīs radošās daudzās pozitīvās iespējas (piemēram, spēja apstrādāt daudz vairāk datu nekā cilvēks), tā rada arī nopietnus riskus, kas cilvēkiem ir jāapzinās, izmantojot šīs sistēmas. Politikas līmenī tas ir uzsvērts. DigComp jaunākajā versijā ir iekļautas zināšanas par AI sistēmām kā katra iedzīvotāja kompetence. ES Mākslīgā intelekta akts pozicionē sliedes šajā vidē un precizē, kas ir zems, augsts un nepieņemams risks darbā ar MI rīkiem.  

Treškārt, jo īpaši kodēšanas nolūkā ir lietderīgi izpētīt dažus paraugprakses piemērus un pamatnostādnes. GenAI neapšaubāmi būtiski ietekmēs kodēšanas praksi. Teorētiski tas pazemina slieksni un paver iespēju lielākam skaitam cilvēku mācīties programmēšanu, jo īpaši tiem, kuri, iespējams, ir zaudējuši motivāciju tehnisku ziņu un mehānikas dēļ saistībā ar koda rakstīšanu. Lai efektīvi izmantotu šos GenAI rīkus, mums vispirms ir jāizstrādā pienācīgi norādījumi un vienošanās par to, kā un kad šos rīkus var izmantot.

Izmantojot GenAI kodēšanai, ir skaidrs, ka dators uzrakstīs kodu, ko cilvēki izmantos.Bet kā mēs nodrošinām, ka mēs varam uzticēties šim kodeksam? Šajā scenārijā vairs nav absolūtas cilvēka virsvadības. Turklāt kādi ir kvalitātes kontroles un kvalitātes procesi, kas ieviesti, lai nodrošinātu GenAI kodeksa uzticamību? Vai šajā jaunajā kontekstā ir vajadzīgas jaunas testēšanas procedūras un kādas tās izskatās? Tikpat lietderīgi ir sākt debates par to, ko nozīmē uzticēšanās un kas ir rādītāji, lai norādītu uz šo mākslīgā intelekta uzticamību. Iespēja ir izmantot jaunus kvalitātes marķējumus vai precizēt MI izmantošanu ētikas kodeksos, piemēram, žurnālistikas nozarē, kur pieaug GenAI rakstīšanas rīku izmantošana (Raad van Journalistiek, 2023).

Visbeidzot, ir svarīgi arī turpmāk atzīt un novērtēt amatniecību programmatūras kodēšanā un programmēšanā. Daudziem autoriem kodēšana ir viņu amatniecības valoda, kas viņiem rada intelektuālas problēmas un kognitīvu apmierinātību, kad viņi sasniedz savus dizainparaugus, taču viņu sasniegumi lielā mērā ir slēpti. Kā jūs tās padara redzamākas un atzīstat to sasniegumus? Šādos gadījumos mums nevajadzētu aprobežoties ar programmēšanas utilitāro vērtību, bet gan novērtēt arī prasmes un amatniecību šajā jomā. Turklāt, iesaistoties kodeksa rakstīšanas praksē, cilvēki attīsta padziļinātas programmēšanas zināšanas, kas viņiem dod pamatu, lai uzlabotu programmēšanas valodu un radītu jaunas un uzlabotas valodas kodēšanai. Citiem vārdiem sakot, ja vēlamies turpināt uzlabot programmatūras kodēšanu, mums ir vajadzīgs pietiekams skaits cilvēku, kuri paši raksta kodu. Šajā ziņā ir svarīgi atkārtoti novērtēt cilvēku prasmes.

Turpmākās iespējas  

Ģeneratīvais mākslīgais intelekts piedāvā daudzas iespējas programmatūras kodēšanas un programmēšanas jomā, potenciāli atvieglojot lielākam skaitam cilvēku iesaistīšanos kodēšanā un savu lietojumprogrammu radīšanā. Tas ir milzīgs programmatūras radīšanas demokratizācijas potenciāls, t. i., to darīt pieejamu tiem, kuri, iespējams, nav bijuši motivēti mācīties vai uzskatījuši par iespēju pašiem. GenAI var arī padarīt kodeksa rakstīšanas procesu laika un pūļu ziņā efektīvāku. Tomēr negatīvi ir tas, ka pārāk lielā mērā paļaušanās uz kodeksa automatizētu izstrādi bez pietiekamas cilvēka uzraudzības var nozīmēt kvalitātes zudumu un trūkst iespēju uzlabot kodēšanas praksi.

Raugoties nākotnē, ir redzamas dažas vispārīgas izpētes iespējas. 

Piemērota programmatūra nāk no cilvēka izpratnes, kas saskaņo apzinātās vajadzības, tehniskās prasības, tehnoloģisko dizainu, lietojumu un iespējamo izmantošanu. Programmatūrai joprojām ir jādarbojas sarežģītā cilvēka vidē, un cilvēki spēj risināt šo sarežģītību. Tomēr ir svarīgi rast līdzsvaru starp automatizētas kodēšanas iespējām ar GenAI un cilvēka veiktu kodeksa vai citu pārraudzības veidu rakstīšanu, kas cilvēkiem nodrošinās pietiekamu ieskatu šajā procesā un ļaus to efektīvi uzlabot nākotnē. Kvalitātes nodrošināšanas procesi programmatūras izstrādē jau kļūst arvien izplatītāki, pārejot uz “nobīdi kreiso spēku”, t. i., jau agrīnākā programmatūras izstrādes procesā iesaistoties kvalitātes nodrošināšanā un turpinot to visā procesā. Citiem vārdiem sakot, daudzus kvalitātes apliecinājumus varētu paredzēt, pirms ir sasniegts efektīvas kodu rakstīšanas posms. Pēc tam GenAI atbalsts rakstīšanai tiek iekļauts plašākā kvalitatīvā izstrādes procesā, kurā optimāli tiek izmantotas tā stiprās puses.


Atslēgvārdi

Ģeneratīvais mākslīgais intelekts, ChatGPT, prasmju trūkums, kodēšana, programmēšana, programmatūras izstrāde

Lejupielādēt 

Lejupielādējiet pilnu dokumentu “Kodēšanas un programmēšanas prasmes GenerativeAI vecumā” un tajā sniegto atsauču bibliogrāfiju šeit un zemāk. 


Par autoru

Dr. Kamakshi Rajagopal ir starpdisciplinārs pētnieks un ārštata konsultants izglītības dizaina un tehnoloģiju jomā, kam ir plaša pieredze tīklā savienotu mācību un sociālo mācību formātos, ko atbalsta inovatīvas tehnoloģijas. Viņai ir maģistra grāds lingvistiskā (2003. gads) un Mākslīgais intelekts (2004) no Lēvenes KU (BE). 2013. gadā viņa pabeidza doktorantūras pētījumu Atvērtajā universitātē (NL), pētot personīgos mācību tīklus un to vērtību nepārtrauktai profesionālajai attīstībai. Viņas pašreizējais pētījums ir par mācību vides sarežģītības izpēti un jo īpaši par to, kā atbalstīt skolotājus un izglītojamos šīs sarežģītības risināšanā. Dr. Rajagopal kopā ar partneriem no publiskā sektora, rūpniecības un pilsoniskās sabiedrības ir izstrādājis vairākus (valsts finansētus un Eiropas) kopīgus pētniecības projektus pamatizglītības, vidējās izglītības un augstākās izglītības jomā. Daži viņas projektu piemēri ir saistīti ar skolotāju tīklu lomu izglītības inovācijā, teoriju loku augstākajā izglītībā, multimodālu mērīšanu sadarbīgās hibrīdmācību telpās un virtuālās mobilitātes integrēšanu augstākās izglītības iestādēs. Kopš 2023. gada viņa strādā pie mācību un izstrādes IT un uzņēmējdarbības konsultāciju jomā.

Briefs details

Geographic scope - Country
Austria
Belgium
Bulgaria
Cyprus
Iniciatīvas veids
ES institucionālā iniciatīva