Keskendunud programmeerija kodeerib sülearvutiga kaasaegses kontoritööruumis.

Kas tehisintellekt asendab programmeerijaid? Viimane väljalangemine, lülitage koodiredaktor välja.

Viimane väljalangeja, lülitage koodiredaktor välja. “ See irooniline fraas on arendajate foorumites ringlema hakanud, peegeldades ärevat huumorit tehisintellekti abiliste esiletõusu ümber. Kuna tehisintellekti mudelid muutuvad koodi kirjutamisel üha võimekamaks, küsivad paljud programmeerijad, kas inimarendajaid ootab ees sama saatus kui liftioperaatoreid või elektrikilbi operaatoreid – töökohti, mille automatiseerimine on iganenuks muutnud. 2024. aastal kuulutasid julged pealkirjad, et tehisintellekt võib peagi kirjutada kogu meie koodi, jättes inimarendajad ilma igasuguse tegevuseta. Kuid selle hüpe ja sensatsioonilisuse taga on tegelikkus palju nüansirikkam.

Jah, tehisintellekt suudab nüüd koodi genereerida kiiremini kui ükski inimene, aga kui hea see kood on ja kas tehisintellekt suudab kogu tarkvaraarenduse elutsükliga iseseisvalt hakkama saada? Enamik eksperte ütleb: „Mitte nii kiiresti.“ Tarkvaratehnika juhid, nagu Microsofti tegevjuht Satya Nadella, rõhutavad, et „tehisintellekt ei asenda programmeerijaid, kuid sellest saab nende arsenalis oluline tööriist. Asi on inimeste võimestamises teha rohkem, mitte vähem.“ ( Kas tehisintellekt asendab programmeerijaid? Tõde hype taga | autor The PyCoach | Artificial Corner | märts 2025 | Medium ) Samuti märgib Google'i tehisintellekti juht Jeff Dean, et kuigi tehisintellekt saab hakkama rutiinsete kodeerimisülesannetega, „puuduvad tal siiski loovus ja probleemide lahendamise oskused“ – just need omadused, mida inimarendajad pakuvad. Isegi OpenAI tegevjuht Sam Altman tunnistab, et tänapäeva tehisintellekt on „ülesannete täitmisel väga hea“ kuid „kohutav täistööde puhul“ . Lühidalt öeldes on tehisintellekt suurepärane töö osade abistamisel, kuid ei ole võimeline programmeerija tööd algusest lõpuni täielikult üle võtma.

See tehisintellekt heidab ausa ja tasakaalustatud pilgu küsimusele „Kas tehisintellekt asendab programmeerijaid?“. Uurime, kuidas tehisintellekt mõjutab tarkvaraarenduse rolle tänapäeval ja millised muutused on ees. Reaalsete näidete ja uusimate tööriistade (alates GitHub Copilotist kuni ChatGPT-ni) abil uurime, kuidas arendajad saavad tehisintellekti arenedes kohaneda, kohaneda ja asjakohaseks jääda. Lihtsustatud jah-või-ei vastuse asemel näeme, et tulevik on tehisintellekti ja inimarendajate koostöö. Eesmärk on tuua esile praktilisi teadmisi selle kohta, mida arendajad saavad teha, et tehisintellekti ajastul edu saavutada – alates uute tööriistade kasutuselevõtust kuni uute oskuste õppimiseni ja prognoosida, kuidas programmeerimiskarjäärid võivad lähiaastatel areneda.

Tehisintellekt tänapäeva tarkvaraarenduses

Tehisintellekt on kiiresti sisse põiminud end tänapäevase tarkvaraarenduse töövoogu. Tehisintellektil põhinevad tööriistad pole kaugeltki ulme, vaid juba kirjutavad ja vaatavad üle koodi , automatiseerivad tüütuid ülesandeid ja suurendavad arendajate tootlikkust. Tänapäeval kasutavad arendajad tehisintellekti koodijuppide genereerimiseks, funktsioonide automaatseks täitmiseks, vigade tuvastamiseks ja isegi testjuhtumite koostamiseks ( Kas tarkvarainseneridel on tulevikku? Tehisintellekti mõju [2024] ) ( Is There a Future for Software Engineers? The Impact of AI [2024] ). Teisisõnu, tehisintellekt võtab üle põhitöö ja mallid, võimaldades programmeerijatel keskenduda tarkvara loomise keerukamatele aspektidele. Vaatame mõningaid silmapaistvaid tehisintellekti võimalusi ja tööriistu, mis praegu programmeerimist muudavad:

  • Koodi genereerimine ja automaatne lõpetamine: tänapäevased tehisintellektil põhinevad kodeerimisassistendid saavad luua koodi loomuliku keele küsimuste või osalise koodi konteksti põhjal. Näiteks GitHub Copilot (mis põhineb OpenAI Codexi mudelil) integreerub redaktoritega, et soovitada kirjutamise ajal järgmist koodirida või -plokki. See kasutab avatud lähtekoodiga koodi ulatuslikku treeningkomplekti, et pakkuda kontekstipõhiseid soovitusi, mis on sageli võimelised täitma terveid funktsioone ainult kommentaari või funktsiooni nime põhjal. Samamoodi ChatGPT (GPT-4) genereerida antud ülesande jaoks koodi, kui kirjeldate oma vajadusi lihtsas inglise keeles. Need tööriistad suudavad sekunditega luua mallikoodi, alates lihtsatest abifunktsioonidest kuni tavaliste CRUD-toiminguteni.

  • Vigade tuvastamine ja testimine: tehisintellekt aitab ka vigu leida ja koodi kvaliteeti parandada. Tehisintellektil põhinevad staatilise analüüsi tööriistad ja linterid suudavad varasematest veamustritest õppides märgata potentsiaalseid vigu või turvaauke. Mõned tehisintellekti tööriistad genereerivad automaatselt ühikteste või pakuvad testijuhtumeid, analüüsides kooditeid. See tähendab, et arendaja saab kohest tagasisidet servajuhtumite kohta, mis neil võisid olla kahe silma vahele jäänud. Leides vigu varakult ja pakkudes parandusi, toimib tehisintellekt nagu väsimatu kvaliteedikontrolli assistent, kes töötab arendaja kõrval.

  • Koodi optimeerimine ja refaktoriseerimine: Tehisintellekti teine ​​kasutusala on olemasoleva koodi täiustuste soovitamine. Koodilõigu põhjal saab tehisintellekt soovitada tõhusamaid algoritme või puhtamaid rakendusi, tuvastades koodis mustreid. Näiteks võib see soovitada teegi idiomaatilisemat kasutamist või märkida üleliigse koodi, mida saab refaktoriseerida. See aitab vähendada tehnilist võlga ja parandada jõudlust. Tehisintellektil põhinevad refaktorimistööriistad saavad koodi muuta parimate tavade järgimiseks või koodi uutele API versioonidele värskendamiseks, säästes arendajate aega käsitsi puhastamisel.

  • DevOps ja automatiseerimine: Lisaks koodi kirjutamisele aitab tehisintellekt kaasa ka tarkvaraarenduse ja juurutamise protsessidele. Intelligentsed CI/CD tööriistad kasutavad masinõpet, et ennustada, millised testid tõenäoliselt ebaõnnestuvad või seada prioriteediks teatud ehitustöid, muutes pideva integratsiooni kiiremaks ja tõhusamaks. Tehisintellekt saab analüüsida tootmislogisid ja jõudlusnäitajaid, et tuvastada probleeme või soovitada infrastruktuuri optimeerimist. Tegelikult abistab tehisintellekt mitte ainult kodeerimises, vaid kogu tarkvaraarenduse elutsüklis – alates planeerimisest kuni hoolduseni.

  • Loomuliku keele liidesed ja dokumentatsioon: Näeme ka, et tehisintellekt võimaldab loomulikumat interaktsiooni arendustööriistadega. Arendajad saavad sõna otseses mõttes paluda tehisintellektil täita ülesandeid („genereerida funktsioon, mis teeb X” või „selgitada seda koodi”) ja saada tulemusi. Tehisintellektil põhinevad vestlusrobotid (nagu ChatGPT või spetsiaalsed arendusassistendid) saavad vastata programmeerimisküsimustele, aidata dokumentatsiooniga ja isegi kirjutada projekti dokumentatsiooni või commit-sõnumeid koodimuudatuste põhjal. See ületab lõhe inimkavatsuse ja koodi vahel, muutes arenduse kättesaadavamaks neile, kes oskavad kirjeldada seda, mida nad tahavad.

 

Arendajad võtavad kasutusele tehisintellekti tööriistu: 2023. aasta uuring näitab, et valdav 92% arendajatest on mingil moel kasutanud tehisintellekti abil kodeerimise tööriistu – kas tööl, isiklikes projektides või mõlemas. Vaid väike osa 8% teatas, et ei kasuta kodeerimisel tehisintellekti abi. See diagramm näitab, et kaks kolmandikku arendajatest kasutab tehisintellekti tööriistu nii tööl kui ka väljaspool tööd, samas kui veerand kasutab neid ainult tööl ja väike vähemus ainult väljaspool tööd. Järeldus on selge: tehisintellekti abil kodeerimine on arendajate seas kiiresti laialt levinud ( Uuring näitab tehisintellekti mõju arendajakogemusele - The GitHub Blog ).

Tehisintellekti tööriistade levik arenduses on suurendanud efektiivsust ja vähendanud kodeerimise vaevlemist. Tooteid luuakse kiiremini, kuna tehisintellekt aitab genereerida mallikoodi ja lahendada korduvaid ülesandeid ( Kas tarkvarainseneridel on tulevikku? Tehisintellekti mõju [2024] ) ( Kas tehisintellekt asendab arendajaid 2025. aastal: väike pilguheit tulevikku ). Sellised tööriistad nagu Copilot suudavad isegi pakkuda terveid algoritme või lahendusi, mis „ei pruugi inimarendajatele kohe ilmsed olla”, tänu õppimisele tohututest koodiandmestikest. Reaalse maailma näiteid on küllaga: insener saab paluda ChatGPT-l rakendada sortimisfunktsiooni või leida tema koodist viga ja tehisintellekt loob sekunditega mustandilahenduse. Ettevõtted nagu Amazon ja Microsoft on oma arendajameeskondadesse paigutanud tehisintellekti paarisprogrammeerijad (Amazoni CodeWhisperer ja Microsofti Copilot), kes teatavad ülesannete kiiremast täitmisest ja mallikoodidele kulutatud väiksemast arvust tundidest. Tegelikult 70% 2023. aasta Stack Overflow uuringus küsitletud arendajatest , et nad juba kasutavad või plaanivad oma arendusprotsessis kasutada tehisintellekti tööriistu ( 70% arendajatest kasutab tehisintellektil põhinevaid kodeerimistööriistu, 3% usaldab nende täpsust väga - ShiftMag ). Kõige populaarsemad assistendid on ChatGPT (kasutab ~83% vastanutest) ja GitHub Copilot (~56%), mis näitab, et üldised vestluslikud tehisintellektid ja IDE-sse integreeritud abilised on mõlemad võtmeisikud. Arendajad pöörduvad nende tööriistade poole peamiselt tootlikkuse suurendamiseks (maininud ~33% vastanutest) ja õppimise kiirendamiseks (25%), samas kui umbes 25% kasutab neid korduva töö automatiseerimise abil efektiivsuse suurendamiseks.

Oluline on märkida, et tehisintellekti roll programmeerimises pole täiesti uus – selle elemendid on olemas olnud juba aastaid (näiteks koodi automaatne täiendamine IDE-des või automatiseeritud testimise raamistikes). Kuid viimased kaks aastat on olnud pöördepunkt. Võimsate suurte keelemudelite (nagu OpenAI GPT-seeria ja DeepMindi AlphaCode) teke on dramaatiliselt laiendanud võimalusi. Näiteks DeepMindi AlphaCode süsteem jõudis pealkirjadesse, esinedes programmeerimisvõistluste tasemel , saavutades kodeerimisülesannetes umbes 54% parimate hulgas – mis sisuliselt vastas keskmise inimese võistleja oskustele ( DeepMindi AlphaCode vastab keskmise programmeerija oskustele ). See oli esimene kord, kui tehisintellekti süsteem esines konkurentsivõimeliselt . Siiski on kõnekas see, et isegi AlphaCode, kogu oma oskuste juures, oli ikkagi kaugel parimate inimprogrammeerijate edestamisest. Nendel võistlustel suutis AlphaCode lahendada umbes 30% probleemidest lubatud katsete jooksul, samas kui parimad inimprogrammeerijad lahendasid üle 90% probleemidest ühe katsega. See lünk rõhutab, et kuigi tehisintellekt suudab teatud punktini hakkama saada täpselt määratletud algoritmiliste ülesannetega, jäävad raskemad probleemid, mis nõuavad sügavat mõtlemist ja leidlikkust, inimeste pärusmaaks .

Kokkuvõttes on tehisintellekt end kindlalt arendajate igapäevasesse tööriistakomplekti sisse seadnud. Alates koodi kirjutamise abistamisest kuni juurutamise optimeerimiseni puudutab see arendusprotsessi iga etappi. Tänapäeval on see suhe suures osas sümbiootiline: tehisintellekt toimib pigem kaaspiloodina ( sobivalt nimetatud), mis aitab arendajatel kiiremini ja väiksema frustratsiooniga kodeerida, mitte iseseisva autopiloodina, kes saab üksi lennata. Järgmises osas süveneme sellesse, kuidas tehisintellekti tööriistade kaasamine muudab arendajate rolli ja nende töö olemust, olgu see siis paremuse või halvemuse poole.

Kuidas tehisintellekt muudab arendajate rolle ja tootlikkust

Kuna tehisintellekt tegeleb rohkem rutiinse tööga, hakkab tarkvaraarendaja roll tõepoolest arenema. Selle asemel, et kulutada tunde mallikoodi kirjutamisele või igapäevaste vigade parandamisele, saavad arendajad need ülesanded oma tehisintellekti assistentidele delegeerida. See nihutab arendaja tähelepanu kõrgema taseme probleemide lahendamisele, arhitektuurile ja tarkvaratehnika loomingulistele aspektidele. Sisuliselt täiendab arendajaid, võimaldades neil olla produktiivsemad ja potentsiaalselt ka innovaatilisemad. Aga kas see tähendab vähem programmeerimistöid või lihtsalt teistsugust tööd? Uurime mõju tootlikkusele ja rollidele:

Tootlikkuse suurendamine: Enamiku aruannete ja varajaste uuringute kohaselt suurendavad tehisintellekti abil kodeerimise tööriistad arendajate tootlikkust märkimisväärselt. GitHubi uuring näitas, et Copiloti kasutavad arendajad suutsid ülesandeid palju kiiremini täita kui need, kellel tehisintellekti abi polnud. Ühes katses lahendasid arendajad Copiloti abiga kodeerimisülesande keskmiselt 55% kiiremini – umbes 1 tund ja 11 minutit võrreldes 2 tunni ja 41 minutiga ilma selleta ( Uuring: GitHub Copiloti mõju kvantifitseerimine arendajate tootlikkusele ja õnnele - GitHubi ajaveeb ). See on silmatorkav kiiruse kasv. See pole ainult kiirus; arendajad teatavad, et tehisintellekti abi aitab vähendada frustratsiooni ja „töövoo katkestusi“. Uuringutes 88% Copiloti kasutavatest arendajatest, et see muutis nad produktiivsemaks ja võimaldas neil keskenduda rahuldustpakkuvamale tööle ( Kui suur osa arendajatest on öelnud, et github copilot muudab... ). Need tööriistad aitavad programmeerijatel püsida „tsoonis“, käsitledes tüütuid töid, mis omakorda säästab vaimset energiat raskemate probleemide jaoks. Selle tulemusena tunnevad paljud arendajad, et kodeerimine on muutunud nauditavamaks – vähem tüütut tööd ja rohkem loovust.

Igapäevase töö muutmine: Programmeerija igapäevane töövoog muutub koos nende tootlikkuse kasvudega. Suure osa „tihedatest töödest“ – mallide kirjutamine, levinud mustrite kordamine, süntaksi otsimine – saab tehisintellektile üle anda. Näiteks andmeklassi käsitsi getterite ja setterite abil väljakirjutamise asemel saab arendaja lihtsalt tehisintellektilt selle genereerimise paluda. Õige API-kõne leidmiseks dokumentatsiooni läbi kammimise asemel saab arendaja tehisintellektilt seda loomulikus keeles küsida. See tähendab, et arendajad kulutavad suhteliselt vähem aega mehaanilisele kodeerimisele ja rohkem aega ülesannetele, mis nõuavad inimlikku otsustusvõimet . Kuna tehisintellekt võtab üle lihtsa 80% koodi kirjutamise, nihkub arendaja töö tehisintellekti väljundi järelevalvele (koodiettepanekute ülevaatamine, testimine) ja keeruliste 20% probleemide lahendamisele, mida tehisintellekt ei suuda lahendada. Praktikas võib arendaja oma päeva alustada tehisintellekti loodud pull requestide triaažiga või tehisintellekti soovitatud paranduste partii ülevaatamisega, selle asemel, et kõiki neid muudatusi nullist kirjutada.

Koostöö ja meeskonna dünaamika: Huvitaval kombel mõjutab tehisintellekt ka meeskonna dünaamikat. Rutiinsete ülesannete automatiseerimise korral saavad meeskonnad potentsiaalselt rohkem saavutada, kuna neile on määratud vähem nooremaid arendajaid põhitööle. Mõned ettevõtted teatavad, et nende vaneminsenerid võivad olla iseseisvamad – nad saavad tehisintellekti abiga kiiresti funktsioone prototüüpida, ilma et oleks vaja nooremat arendajat esialgsete mustandite tegemiseks. See tekitab aga uue väljakutse: mentorluse ja teadmiste jagamise. Selle asemel, et nooremad arendajad õpiksid lihtsate ülesannete täitmise kaudu, võivad nad vajada õppimist, kuidas tehisintellekti väljundeid tõhusalt hallata . Meeskonna koostöö võib nihkuda sellistele tegevustele nagu tehisintellekti ülesannete ühine täiustamine või tehisintellekti loodud koodi ülevaatamine lõksude suhtes. Positiivse poole pealt võib tehisintellekti assistent olla võrdne ja jätta rohkem aega disainiaruteludeks, loominguliseks ajurünnakuks ja keerukate kasutajanõuete lahendamiseks, millest ükski tehisintellekt praegu kohe aru ei saa. Tegelikult usub GitHubi 2023. aasta uuringu tulemuste kohaselt enam kui neli viiest arendajast, et tehisintellektil põhinevad kodeerimistööriistad parandavad meeskonnatööd või vähemalt vabastavad nad disaini ja probleemide lahendamise alal rohkem koostööd tegema ( Uuring paljastab tehisintellekti mõju arendajakogemusele - The GitHub Blog ).

Mõju ametikohtadele: Peamine küsimus on, kas tehisintellekt vähendab programmeerijate nõudlust (kuna iga programmeerija on nüüd produktiivsem) või muudab see lihtsalt nõutavaid oskusi. Ajalooline pretsedent muu automatiseerimisega (näiteks devops-tööriistade või kõrgema taseme programmeerimiskeelte esiletõus) viitab sellele, et arendaja töökohti ei kaotata mitte niivõrd, kuivõrd neid tõstetakse . Tõepoolest, valdkonna analüütikud ennustavad, tarkvaratehnika rollide arv kasvab jätkuvalt , kuid nende rollide olemus muutub. Hiljutine Gartneri aruanne ennustab, et 2027. aastaks võtab 50% tarkvaratehnika organisatsioonidest tootlikkuse suurendamiseks kasutusele tehisintellektiga täiustatud „tarkvaratehnika intelligentsuse” platvorme , võrreldes 2024. aasta vaid 5%-ga ( Kas tarkvarainseneridel on tulevikku? Tehisintellekti mõju [2024] ). See näitab, et ettevõtted integreerivad tehisintellekti laialdaselt, kuid see tähendab, et arendajad töötavad platvormidega . Samamoodi prognoosib konsultatsioonifirma McKinsey, et kuigi tehisintellekt võib automatiseerida paljusid ülesandeid, vajab umbes 80% programmeerimistöödest ikkagi inimest ja jääb „inimkeskseks” . Teisisõnu, enamiku arendajapositsioonide jaoks on meil endiselt vaja inimesi, kuid ametijuhendid võivad muutuda.

„tehisintellekti tarkvaraarendaja“ või „automaatse õppe insener“ teke – need on arendajad, kes on spetsialiseerunud tehisintellekti komponentide loomisele või orkestreerimisele. Me näeme juba praegu, et nõudlus tehisintellekti/masinõppe alase kogemusega arendajate järele kasvab hüppeliselt. Indeedi analüüsi kohaselt on kolm kõige nõutumat tehisintellektiga seotud ametikohta andmeteadlane, tarkvaraarendaja ja masinõppe insener ning nõudlus nende ametikohtade järele on viimase kolme aasta jooksul enam kui kahekordistunud ( Kas tarkvaraarendajatel on tulevikku? Tehisintellekti mõju [2024] ). Traditsioonilistelt tarkvaraarendajatelt oodatakse üha enam masinõppe põhitõdede mõistmist või tehisintellekti teenuste integreerimist rakendustesse. Arendajate üleliigseks muutmise asemel „võiks tehisintellekt seda ametit tõsta, võimaldades arendajatel keskenduda kõrgema taseme ülesannetele ja innovatsioonile“. ( Kas tehisintellekt asendab arendajaid 2025. aastal: pilguheit tulevikku ) Paljude rutiinsete kodeerimisülesannetega võib küll tegeleda tehisintellekt, kuid arendajad on rohkem hõivatud süsteemi kujundamise, moodulite integreerimise, kvaliteedi tagamise ja uute probleemide lahendamisega. Ühe tehisintellektile orienteeritud ettevõtte vaneminsener võttis selle hästi kokku: tehisintellekt ei asenda meie arendajaid; see võimendab neid. Üks võimsate tehisintellekti tööriistadega relvastatud arendaja saab teha mitme inimese töö, kuid see arendaja võtab nüüd enda kanda keerukama ja mõjukama töö.

Reaalse maailma näide: Vaatleme stsenaariumi tarkvarafirmast, mis integreeris kõigi oma arendajate jaoks GitHub Copiloti. Kohene mõju oli märkimisväärne aja vähenemine ühiktestide ja mallikoodi kirjutamisele kulutatud ajas. Üks noorem arendaja leidis, et Copiloti abil suutis ta uue funktsiooni koodist kiiresti genereerida 80% ning seejärel pühendada oma aja ülejäänud 20% kohandamisele ja integratsioonitestide kirjutamisele. Tema tootlikkus koodi väljundi osas peaaegu kahekordistus, kuid mis veelgi huvitavam, tema panuse iseloom muutus – temast sai pigem koodi ülevaataja ja testide kujundaja tehisintellekti kirjutatud koodi jaoks. Meeskond märkas ka, et koodi ülevaatused hakkasid leidma tehisintellekti vigu , mitte inimeste tehtud trükivigu. Näiteks pakkus Copilot aeg-ajalt välja ebaturvalise krüptimise rakendamise; inimestest arendajad pidid need märkama ja parandama. Selline näide näitab, et kuigi väljund suurenes, töövoos veelgi olulisemaks

Kokkuvõttes muudab tehisintellekt vaieldamatult arendajate töömeetodeid: muutes nad kiiremaks ja võimaldades neil lahendada ambitsioonikamaid probleeme, kuid nõudes neilt ka oskuste täiendamist (nii tehisintellekti rakendamisel kui ka kõrgema taseme mõtlemisel). See pole niivõrd lugu sellest, kuidas „tehisintellekt võtab töökohti üle“, kuivõrd sellest, kuidas „tehisintellekt muudab töökohti“. Arendajad, kes õpivad neid tööriistu tõhusalt kasutama, saavad nende mõju mitmekordistada – klišee, mida me sageli kuuleme, on: „Tehisintellekt ei asenda arendajaid, kuid arendajad, kes tehisintellekti kasutavad, võivad asendada neid, kes seda ei tee.“ Järgmistes osades uuritakse, miks on inimarendajad endiselt olulised (mida tehisintellekt ei suuda ) ja kuidas arendajad saavad oma oskusi kohandada, et tehisintellekti kõrval edu saavutada.

Tehisintellekti piirangud (miks inimesed on endiselt elujõulised)

Vaatamata muljetavaldavatele võimalustele on tänapäeva tehisintellektil selged piirangud , mis takistavad inimprogrammeerijate abi vajakajäämist. Nende piirangute mõistmine on võtmetähtsusega, et mõista, miks programmeerijaid arendusprotsessis endiselt väga vaja on. Tehisintellekt on võimas tööriist, kuid see pole imerohi, mis suudab asendada inimarendaja loovust, kriitilist mõtlemist ja kontekstuaalset mõistmist. Siin on mõned tehisintellekti põhilised puudused programmeerimises ja inimarendajate vastavad tugevused:

  • Tõelise mõistmise ja loovuse puudumine: Praegused tehisintellekti mudelid ei mõista koodi ega probleeme nii, nagu inimesed; nad tunnevad ära mustreid ja kordavad treeningandmete põhjal tõenäolisi väljundeid. See tähendab, et tehisintellektil võib olla raskusi ülesannetega, mis nõuavad originaalseid, loomingulisi lahendusi või uudsete probleemvaldkondade sügavat mõistmist. Tehisintellekt võib küll suuta genereerida koodi, mis vastab varem nähtud spetsifikatsioonile, kuid kui tal palutakse kujundada uus algoritm enneolematu probleemi jaoks või tõlgendada mitmetähenduslikku nõuet, siis see tõenäoliselt komistab. Nagu üks vaatleja ütles, puudub tehisintellektil tänapäeval „loominguline ja kriitilise mõtlemise võime, mida inimarendajad pakuvad”. ( Kas tehisintellekt asendab arendajaid 2025. aastal: pilguheit tulevikku ) Inimesed oskavad mõelda tavapärasest erinevalt – kombineerides valdkonnaalaseid teadmisi, intuitsiooni ja loovust tarkvaraarhitektuuride kujundamiseks või keeruliste probleemide lahendamiseks. Tehisintellekt seevastu on piiratud õpitud mustritega; kui probleem ei vasta nendele mustritele hästi, võib tehisintellekt toota valet või mõttetut koodi (sageli enesekindlalt!). Tarkvarainnovatsioon – uute funktsioonide, kasutajakogemuste või uudsete tehniliste lähenemisviiside väljatöötamine – on endiselt inimtegevusest tulenev tegevus.

  • Kontekst ja suure pildi mõistmine: Tarkvara loomine ei ole ainult koodiridade kirjutamine. See hõlmab põhjuse – ärinõuded, kasutajate vajadused ja kontekst, milles tarkvara töötab. Tehisintellektil on väga kitsas kontekstiaken (tavaliselt piiratud korraga antava sisendiga). See ei mõista tegelikult süsteemi üldist eesmärki ega seda, kuidas üks moodul teisega suhtleb peale selle, mis on koodis otseselt kirjas. Seetõttu võib tehisintellekt genereerida koodi, mis tehniliselt toimib väikese ülesande jaoks, kuid ei sobi hästi suuremasse süsteemiarhitektuuri või rikub mõnda kaudset nõuet. Inimestest arendajad on vajalikud, et tagada tarkvara vastavus ärieesmärkidele ja kasutajate ootustele. Keeruliste süsteemide disain – mõistmine, kuidas ühe osa muudatus võib teistele üle kanduda, kuidas tasakaalustada kompromisse (nagu jõudlus vs loetavus) ja kuidas planeerida koodibaasi pikaajalist arengut – on midagi, mida tehisintellekt tänapäeval teha ei suuda. Suurtes projektides, mis sisaldavad tuhandeid komponente, „näeb tehisintellekt puid, aga mitte metsa“. Nagu ühes analüüsis märgiti, „on tehisintellektil raskusi suuremahuliste tarkvaraprojektide täieliku konteksti ja keerukuse mõistmisega“, sealhulgas ärinõuete ja kasutajakogemuse kaalutlustega ( Kas tehisintellekt asendab arendajaid 2025. aastal: pilguheit tulevikku ). Inimesed säilitavad suure pildi visiooni.

  • Terve mõistus ja ebaselguse lahendamine: Reaalsetes projektides on nõuded sageli ebamäärased või arenevad pidevalt. Inimest arendaja võib otsida selgitusi, teha mõistlikke oletusi või ebareaalseid taotlusi tagasi lükata. Tehisintellektil puudub terve mõistuse arutluskäik ega võime esitada selgitavaid küsimusi (välja arvatud juhul, kui see on selgesõnaliselt tsüklis ja isegi siis pole garantiid, et see õigesti saab). Seetõttu võib tehisintellekti loodud kood mõnikord olla tehniliselt korrektne, kuid funktsionaalselt ebatäpne – sellel puudub otsustusvõime, et teada saada, mida kasutaja tegelikult mõtles, kui juhised on ebaselged. Seevastu inimene programmeerija suudab tõlgendada kõrgetasemelist taotlust („muuta see kasutajaliides intuitiivsemaks” või „rakendus peaks ebaregulaarseid sisendeid graatsiliselt käsitlema”) ja välja selgitada, mida koodis teha tuleb. Tehisintellekt vajaks arendaja tõeliseks asendamiseks äärmiselt detailseid ja üheselt mõistetavaid spetsifikatsioone ning isegi selliste spetsifikatsioonide tõhus kirjutamine on sama keeruline kui koodi enda kirjutamine. Nagu Forbes Tech Councili artikkel tabavalt märkis, peaks tehisintellekt arendajate tegelikuks asendamiseks mõistma ebaselgeid juhiseid ja kohanema nagu inimene – see on arutluskäik, mida praegusel tehisintellektil pole ( Sergii Kuzini postitus - LinkedIn ).

  • Usaldusväärsus ja „hallutsinatsioonid”: Tänapäeva generatiivsetel tehisintellekti mudelitel on tuntud puudus: need võivad tekitada valesid või täielikult väljamõeldud väljundeid – nähtust, mida sageli nimetatakse hallutsinatsioonideks . Kodeerimises võib see tähendada, et tehisintellekt kirjutab koodi, mis tundub usutav, kuid on loogiliselt vale või ebaturvaline. Arendajad ei saa tehisintellekti soovitusi pimesi usaldada. Praktikas vajab iga tehisintellekti kirjutatud koodiosa inimese poolt hoolikat ülevaatamist ja testimist . Stack Overflow uuringuandmed peegeldavad seda – tehisintellekti tööriistu kasutavatest inimestest usaldab vaid 3% tehisintellekti väljundi täpsust ja väike protsent umbusaldab seda aktiivselt ( 70% arendajatest kasutab tehisintellekti kodeerimistööriistu, 3% usaldab nende täpsust kõrgelt – ShiftMag ). Valdav enamus arendajaid käsitleb tehisintellekti soovitusi kasulike vihjetena, mitte evangeeliumina. See madal usaldus on õigustatud, sest tehisintellekt võib teha veidraid vigu, mida ükski pädev inimene ei teeks (näiteks ühekaupa valed vead, aegunud funktsioonide kasutamine või ebaefektiivsete lahenduste pakkumine), kuna see ei arutle probleemi üle tegelikult. Nagu ühes foorumikommentaaris irooniliselt märgiti: „Nad (tehisintellektid) hallutsineerivad palju ja teevad imelikke disainivalikuid, mida inimene kunagi ei teeks“ ( Kas programmeerijad muutuvad tehisintellekti tõttu iganenuks? - Karjäärinõuanded ). Inimese järelevalve on nende vigade avastamiseks ülioluline. Tehisintellekt võib teile 90% funktsioonist kiiresti valmis saada, kuid kui ülejäänud 10%-l on peen viga, on selle diagnoosimine ja parandamine ikkagi inimarendaja ülesanne. Ja kui tootmises midagi valesti läheb, on just iniminsenerid need, kes peavad veaotsingu tegema – tehisintellekt ei saa veel oma vigade eest vastutust võtta.

  • Koodibaaside hooldamine ja arendamine: Tarkvaraprojektid elavad ja kasvavad aastate jooksul. Need vajavad järjepidevat stiili, selgust tulevaste hooldajate jaoks ja värskendusi vastavalt nõuete muutumisele. Tänapäeval ei ole tehisintellektil mälestust varasematest otsustest (välja arvatud piiratud juhised), seega ei pruugi see koodi suures projektis järjepidevana hoida, kui seda ei juhendata. Inimestest arendajad tagavad koodi hooldatavuse – kirjutades selget dokumentatsiooni, valides loetavaid lahendusi nutikate, kuid arusaamatute asemel ja refaktoreerides koodi vastavalt arhitektuuri arenedes. Tehisintellekt saab nendes ülesannetes abiks olla (näiteks refaktoriseerimise soovitamine), kuid otsustamine, mida refaktoreerida või millised süsteemi osad vajavad ümberkujundamist, on inimese otsustusvõime. Lisaks on komponentide integreerimisel uue funktsiooni mõju mõistmine olemasolevatele moodulitele (tagasiühilduvuse tagamine jne) midagi, millega inimesed tegelevad. Tehisintellekti loodud koodi peavad integreerima ja ühtlustama inimesed. Eksperimendina on mõned arendajad proovinud lasta ChatGPT-l luua terveid väikeseid rakendusi; tulemus töötab sageli alguses, kuid seda on väga raske hooldada või laiendada, kuna tehisintellekt ei rakenda järjepidevalt läbimõeldud arhitektuuri – see teeb lokaalseid otsuseid, mida inimarhitekt väldiks.

  • Eetilised ja turvakaalutlused: Mida rohkem tehisintellekt koodi kirjutab, seda rohkem see tõstatab küsimusi eelarvamuste, turvalisuse ja eetika kohta. Tehisintellekt võib tahtmatult tekitada turvaauke (näiteks sisendite ebapiisav puhastamine või ebaturvaliste krüptograafiliste tavade kasutamine), mida kogenud inimarendaja märkaks. Samuti puudub tehisintellektil loomupärane eetikatunnetus või õigluse pärast muretsemine – see võib näiteks treenida kallutatud andmete põhjal ja pakkuda algoritme, mis tahtmatult diskrimineerivad (tehisintellektil põhinevas funktsioonis, näiteks laenu kinnitamise koodis või värbamisalgoritmis). Inimestel arendajatel on vaja tehisintellekti väljundeid nende probleemide osas auditeerida, tagada eeskirjade järgimine ja tarkvara eetiliste kaalutlustega varustada. sotsiaalset aspekti – kasutajate usalduse mõistmist, privaatsusprobleeme ja disainivalikute tegemist, mis on kooskõlas inimlike väärtustega – „ei saa tähelepanuta jätta. Need inimkesksed arendusaspektid on tehisintellekti käeulatusest väljas, vähemalt lähitulevikus.“ ( Kas tehisintellekt asendab arendajaid 2025. aastal: pilguheit tulevikku ) Arendajad peavad olema tehisintellekti panuse südametunnistuse ja kvaliteedi väravaks.

Neid piiranguid arvestades on praegune üksmeel selles, et tehisintellekt on tööriist, mitte asendaja . Nagu Satya Nadella ütles, on oluline arendajate võimestamine Kas tehisintellekt asendab programmeerijaid? Tõde hype taga | autor The PyCoach | Artificial Corner | märts 2025 | Medium ). Tehisintellekti võib pidada nooremaks assistendiks: see on kiire, väsimatu ja suudab paljudes ülesannetes esimese sammu teha, kuid lihvitud lõpptoote loomiseks vajab see vanemarendaja juhendamist ja asjatundlikkust. On kõnekas, et isegi kõige arenenumad tehisintellektil põhinevad kodeerimissüsteemid on reaalses maailmas kasutusel assistentidena (Copilot, CodeWhisperer jne), mitte autonoomsete kodeerijatena. Ettevõtted ei vallanda oma programmeerimismeeskondi ega lase tehisintellektil metsikult tegutseda; selle asemel integreerivad nad tehisintellekti arendajate töövoogudesse, et neid aidata.

Üks illustreeriv tsitaat pärineb OpenAI esindajalt Sam Altmanilt, kes märkis, et isegi kui tehisintellekti agendid arenevad, „ei asenda need tehisintellekti agendid tarkvaraarenduses täielikult inimesi” ( Sam Altman ütleb, et tehisintellekti agendid hakkavad peagi täitma ülesandeid, mida teevad tarkvarainsenerid: täispikk lugu 5 punktis - India Today ). Nad toimivad „virtuaalsete kaastöötajatena” , kes täidavad iniminseneride jaoks täpselt määratletud ülesandeid, eriti neid ülesandeid, mis on tüüpilised madala taseme tarkvarainsenerile, kellel on mõneaastane kogemus. Teisisõnu, tehisintellekt võib lõpuks mõnes valdkonnas teha noorema arendaja töö, kuid see noorem arendaja ei jää töötuks – temast saab tehisintellekti juhendaja ja kõrgema taseme ülesannete lahendaja, mida tehisintellekt teha ei saa. Isegi tulevikku vaadates, kus mõned teadlased ennustavad, et 2040. aastaks võiks tehisintellekt kirjutada suurema osa oma koodist ( Kas tarkvarainseneridel on tulevik? Tehisintellekti mõju [2024] ), on üldiselt kokku lepitud, et inimprogrammeerijaid on endiselt vaja, et jälgida, suunata ja pakkuda loomingulist sädet ja kriitilist mõtlemist, mis masinatel puudub .

Samuti väärib märkimist, et tarkvaraarendus on enamat kui lihtsalt kodeerimine . See hõlmab suhtlemist sidusrühmadega, kasutajalugude mõistmist, meeskondade koostööd ja iteratiivset disaini – kõiki valdkondi, kus inimoskused on hädavajalikud. Tehisintellekt ei saa kliendiga koosolekul istuda, et välja selgitada, mida nad tegelikult tahavad, ega saa ta pidada läbirääkimisi prioriteetide üle ega inspireerida meeskonda tootevisiooniga. Inimlik element jääb kesksele kohale.

Kokkuvõttes on tehisintellektil olulisi nõrkusi: puudub tõeline loovus, piiratud arusaam kontekstist, kalduvus vigadele, vastutuse puudumine ja tarkvaraotsuste laiemate tagajärgede mõistmine. Just need lüngad ongi need, kus inimarendajad säravad. Selle asemel, et vaadata tehisintellekti ohuna, oleks ehk täpsem vaadelda seda kui võimsat võimendajat inimarendajatele – see aitab toime tulla argiste asjadega, et inimesed saaksid keskenduda sügavamale. Järgmises osas arutatakse, kuidas arendajad saavad seda võimendust ära kasutada, kohandades oma oskusi ja rolle, et jääda tehisintellektiga täiustatud arendusmaailmas asjakohaseks ja väärtuslikuks.

Kohanemine ja õitseng tehisintellekti ajastul

Programmeerijate ja arendajate jaoks ei pea tehisintellekti esiletõus kodeerimises olema kohutav oht – see võib olla võimalus. Peamine on kohaneda ja areneda koos tehnoloogiaga. Need, kes õpivad tehisintellekti rakendama, leiavad end tõenäoliselt produktiivsemana ja nõutumana, samas kui need, kes seda ignoreerivad, võivad avastada, et on maha jäänud. Selles osas keskendume praktilistele sammudele ja strateegiatele, mis aitavad arendajatel jääda asjakohaseks ja edeneda, kuna tehisintellekti tööriistadest saavad igapäevase arenduse osa. Omaksvõetav mõtteviis on pidev õppimine ja koostöö tehisintellektiga, mitte konkurents. Siin on, kuidas arendajad saavad kohaneda ja milliseid uusi oskusi ja rolle nad peaksid kaaluma:

1. Võta tehisintellekt omaks tööriistana (õpi tehisintellekti abilisi tõhusalt kasutama): Eelkõige peaksid arendajad harjuma saadaolevate tehisintellekti tööriistadega. Kohelge Copiloti, ChatGPT-d või muid kodeerivaid tehisintellekte oma uue programmeerimispartnerina. See tähendab heade koodijuhiste või kommentaaride kirjutamise õppimist, et saada kasulikke koodisoovitusi, ning tehisintellekti loodud koodi kiiret valideerimist või silumist. Nii nagu arendaja pidi õppima oma IDE või versioonikontrolli, on tehisintellekti assistendi iseärasuste õppimine saamas oskuste komplekti osaks. Näiteks saab arendaja harjutada, võttes enda kirjutatud koodijupi ja paludes tehisintellektil seda parandada, seejärel analüüsides muudatusi. Või ülesande alustamisel kirjeldage seda kommentaarides ja vaadake, mida tehisintellekt pakub, ning seejärel täpsustage sealt edasi. Aja jooksul arendate intuitsiooni selle kohta, milles tehisintellekt on hea ja kuidas sellega koos luua. Mõelge sellele kui „tehisintellekti abil arendatavale arendusele“ – uuele oskusele, mida oma tööriistakasti lisada. Tõepoolest, arendajad räägivad nüüd „kiiretest inseneritöödest“ kui oskusest – teadmisest, kuidas tehisintellektilt õigeid küsimusi küsida. Need, kes seda valdavad, saavad samade tööriistadega saavutada oluliselt paremaid tulemusi. Pea meeles, et „arendajad, kes kasutavad tehisintellekti, võivad asendada neid, kes seda ei tee” – seega võta tehnoloogia omaks ja tee sellest oma liitlane.

2. Keskenduge kõrgema taseme oskustele (probleemide lahendamine, süsteemi disain, arhitektuur): Kuna tehisintellekt suudab hakkama saada madalama taseme kodeerimisega, peaksid arendajad liikuma abstraktsiooniredelil ülespoole . See tähendab suuremat rõhku süsteemi disaini ja arhitektuuri mõistmisele. Arendage oskusi keerukate probleemide lahtivõtmisel, skaleeritavate süsteemide disainimisel ja arhitektuuriliste otsuste tegemisel – valdkondadel, kus inimlik arusaam on ülioluline. Keskenduge lahenduse miks-ile ja kuidas-le, mitte ainult millele. Näiteks selle asemel, et kulutada kogu oma aeg sortimisfunktsiooni täiustamisele (kui tehisintellekt saab selle teie eest kirjutada), pühendage aega sellele, et mõista, milline sortimismeetod on teie rakenduse konteksti jaoks optimaalne ja kuidas see sobib teie süsteemi andmevoogu. Disainmõtlemine – arvestades kasutajate vajadusi, andmevooge ja komponentide interaktsioone – on kõrgelt hinnatud. Tehisintellekt saab genereerida koodi, kuid just arendaja otsustab tarkvara üldise struktuuri ja tagab, et kõik osad toimivad harmoonias. Oma suure pildi mõtlemise teritamisega muudate end asendamatuks inimeseks, kes juhib tehisintellekti (ja ülejäänud meeskonda) õige asja loomisel. Nagu ühes tulevikku suunatud aruandes märgiti, peaksid arendajad „keskenduma valdkondadele, kus inimlik arusaam on asendamatu, näiteks probleemide lahendamine, disainmõtlemine ja kasutajate vajaduste mõistmine“. ( Kas tehisintellekt asendab arendajaid 2025. aastal: pilguheit tulevikku )

3. Täiustage oma tehisintellekti ja masinõppe alaseid teadmisi: tehisintellektiga koos töötamiseks on kasulik tehisintellektist aru saada . Arendajad ei pea kõik masinõppe uurijateks saama, kuid nende mudelite toimimise põhjalik mõistmine on kasulik. Õppige masinõppe ja süvaõppe põhitõdesid – see mitte ainult ei ava uusi karjääriteid (kuna tehisintellektiga seotud töökohad on õitsengul (Kas tarkvarainseneridel on tulevikku? Tehisintellekti mõju [2024] )), vaid aitab teil ka tehisintellekti tööriistu tõhusamalt kasutada. Kui teate näiteks suure keelemudeli piiranguid ja seda, kuidas seda treeniti, saate ennustada, millal see võib ebaõnnestuda, ja vastavalt sellele oma ülesandeid või teste kujundada. Lisaks sisaldavad paljud tarkvaratooted nüüd tehisintellekti funktsioone (näiteks rakendus soovitusmootoriga või vestlusrobot). Tarkvaraarendaja, kellel on teatud masinõppealased teadmised, saab nendesse funktsioonidesse panustada või vähemalt teha andmeteadlastega intelligentset koostööd. Peamised õppimist vajavad valdkonnad on järgmised: andmeteaduse põhitõed , andmete eeltöötlus, treenimine vs. järeldamine ning tehisintellekti eetika. Tutvu tehisintellekti raamistike (TensorFlow, PyTorch) ja pilvepõhiste tehisintellekti teenustega; isegi kui sa ei ehita mudeleid nullist, on tehisintellekti API rakendusse integreerimise oskus väärtuslik oskus. Lühidalt öeldes on tehisintellekti oskuse omandamine kiiresti muutumas sama oluliseks kui veebi- või andmebaasitehnoloogiate oskuse omamine. Arendajad, kes suudavad traditsioonilise tarkvaratehnika ja tehisintellekti maailmas toime tulla, on tulevaste projektide juhtimiseks parimas positsioonis.

4. Arendage tugevamaid pehmeid oskusi ja valdkonnaalaseid teadmisi: Kuna tehisintellekt võtab üle mehaanilised ülesanded, muutuvad ainulaadselt inimlikud oskused veelgi olulisemaks. Suhtlemine, meeskonnatöö ja valdkonnaalased teadmised on valdkonnad, millele tuleks veelgi rohkem panustada. Tarkvaraarendus seisneb sageli probleemse valdkonna mõistmises – olgu see siis rahandus, tervishoid, haridus või mõni muu valdkond – ja selle lahendusteks tõlkimises. Tehisintellektil seda konteksti ega võimet sidusrühmadega suhelda, aga teil on. Oma valdkonna teadmiste suurendamine teeb teist inimese, kelle poole pöörduda, et tarkvara vastaks tegelikele vajadustele. Samuti keskenduge oma koostööoskustele: mentorlus, juhtimine ja koordineerimine. Meeskonnad vajavad endiselt vanemarendajaid koodi (sh tehisintellekti kirjutatud koodi) ülevaatamiseks, nooremate juhendamiseks parimate tavade osas ja keerukate projektide koordineerimiseks. Tehisintellekt ei kaota projektides vajadust inimliku suhtluse järele. Tegelikult võib tehisintellekti genereeriva koodi puhul vanemarendaja mentorlus nihkuda nooremate õpetamisele tehisintellektiga töötamise ja selle väljundi valideerimise suunas, mitte aga for-tsükli kirjutamise suunas. Võimalus teisi selles uues paradigmas juhendada on väärtuslik oskus. Samuti harjuta kriitilist mõtlemist – sea kahtluse alla ja testi tehisintellekti väljundeid ning julgusta teisi sama tegema. Tervisliku skeptitsismi ja kontrolliva mõtteviisi arendamine hoiab ära pimesi tehisintellektile lootmise ja vähendab vigu. Põhimõtteliselt paranda oskusi, mis tehisintellektil puuduvad: inimeste ja konteksti mõistmine, kriitiline analüüs ja interdistsiplinaarne mõtlemine.

5. Elukestev õpe ja kohanemisvõime: Tehisintellekti muutuste tempo on äärmiselt kiire. See, mis täna tundub tipptasemel, võib paari aasta pärast olla aegunud. Arendajad peavad elukestvat õpet rohkem kui kunagi varem. See võib tähendada uute tehisintellekti kodeerimisassistentide regulaarset proovimist, tehisintellekti/masinaõppe veebikursuste või sertifikaatide läbimist, uurimisblogide lugemist, et olla kursis tulevaste uudistega, või osalemist tehisintellektile keskendunud arendajakogukondades. Kohandumisvõime on võtmetähtsusega – olge valmis uutele tööriistadele ja töövoogudele üle minema kohe, kui need ilmuvad. Näiteks kui tuleb uus tehisintellekti tööriist, mis suudab kasutajaliidese disaini visandite põhjal automatiseerida, peaks esiotsa arendaja olema valmis seda õppima ja kaasama, nihutades oma fookuse võib-olla loodud kasutajaliidese täiustamisele või automatiseerimisel kahe silma vahele jäänud kasutajakogemuse detailide parandamisele. Need, kes käsitlevad õppimist oma karjääri pideva osana (mida paljud arendajad juba teevad), leiavad, et tehisintellekti arendusi on lihtsam integreerida. Üks strateegia on pühendada väike osa oma nädalast õppimisele ja katsetamisele – käsitlege seda kui investeerimist oma tulevikku. Ettevõtted hakkavad ka oma arendajatele pakkuma koolitust tehisintellekti tööriistade tõhusaks kasutamiseks; selliste võimaluste ärakasutamine viib teid edumaale. Edukad arendajad on need, kes näevad tehisintellekti areneva partnerina ja täiustavad pidevalt oma lähenemisviisi selle partneriga koostööks.

6. Uurige uusi rolle ja karjääriteid: tehisintellekti integreerimisega arendusse tekivad uued karjäärivõimalused. Näiteks kiirküsimuste insener või tehisintellekti integratsiooni spetsialist rollid, mis keskenduvad õigete küsimuste, töövoogude ja infrastruktuuri loomisele tehisintellekti kasutamiseks toodetes. Teine näide on tehisintellekti eetikainsener või tehisintellekti audiitor – rollid, mis keskenduvad tehisintellekti väljundite ülevaatusele kallutatuse, vastavuse ja õigsuse osas. Kui teil on nendest valdkondadest huvi, võib õigete teadmiste omandamine avada need uued teed. Isegi klassikaliste rollide sees võite leida nišše nagu „tehisintellektiga abistatav esiotsa arendaja“ vs „tehisintellektiga abistatav tagaotsa arendaja“, kus mõlemad kasutavad spetsiaalseid tööriistu. Jälgige, kuidas organisatsioonid struktureerivad meeskondi tehisintellekti ümber. Mõnel ettevõttel on „tehisintellekti gildid“ või tippkeskused, mis juhendavad tehisintellekti kasutuselevõttu projektides – sellistes rühmades aktiivne olemine võib teid esirinda viia. Lisaks kaaluge panustamist tehisintellekti tööriistade endi arendamisse: näiteks töötades avatud lähtekoodiga projektidega, mis parandavad arendaja tööriistu (võib-olla parandades tehisintellekti võimet koodi selgitada jne). See mitte ainult ei süvenda teie arusaamist tehnoloogiast, vaid asetab teid ka kogukonda, mis on muutusi juhtival kohal. Lõppkokkuvõttes on karjääriarengu . Kui osa teie praegusest tööst automatiseeritakse, olge valmis vahetama rolle, mis neid automatiseeritud osi kujundavad, jälgivad või täiustavad.

7. Säilita ja demonstreeri inimlikku kvaliteeti: Maailmas, kus tehisintellekt suudab genereerida keskmise probleemi jaoks keskpärast koodi, peaksid inimarendajad püüdma luua erakordseid ja empaatilisi lahendusi, mida tehisintellekt ei suuda. See võib tähendada keskendumist kasutajakogemuse peensusele, jõudluse optimeerimisele ebatavaliste stsenaariumide jaoks või lihtsalt puhta ja hästi dokumenteeritud koodi kirjutamist (tehisintellekt ei ole osav sisuka dokumentatsiooni või arusaadavate koodikommentaaride kirjutamisel – seal saate väärtust lisada!). Püüdke integreerida töösse inimlik arusaam: näiteks kui tehisintellekt genereerib koodijupi, lisate kommentaarid, mis selgitavad põhjendust viisil, millest teine ​​inimene hiljem aru saab, või kohandate seda loetavamaks. Nii lisate professionaalsuse ja kvaliteedi kihi, mis puhtalt masina loodud tööl puudub. Aja jooksul eristab teid maine loomine kvaliteetse tarkvara eest, mis reaalses maailmas lihtsalt „töötab“. Kliendid ja tööandjad hindavad arendajaid, kes suudavad ühendada tehisintellekti tõhususe inimliku meisterlikkusega .

Mõelgem ka sellele, kuidas haridusteed võiksid kohaneda. Uued arendajad, kes valdkonda sisenevad, ei tohiks oma õppeprotsessis tehisintellekti tööriistu karta. Vastupidi, tehisintellektiga õppimine ( nt tehisintellekti kasutamine kodutööde või projektide abistamiseks ja seejärel tulemuste analüüsimine) võib kiirendada nende arusaamist. Siiski on oluline õppida sügavuti ka põhitõdesid – algoritme, andmestruktuure ja programmeerimise põhikontseptsioone –, et teil oleks kindel alus ja saaksite aru, millal tehisintellekt eksiteele läheb. Kuna tehisintellekt tegeleb lihtsate kodeerimisülesannetega, võivad õppekavad panna suuremat rõhku projektidele, mis nõuavad disaini ja integreerimist. Kui olete uustulnuk, keskenduge portfoolio koostamisele, mis näitab teie võimet lahendada keerulisi probleeme ja kasutada tehisintellekti ühena paljudest tööriistadest.

Kohanemisstrateegia kokkuvõte: ole piloot, mitte reisija. Kasuta tehisintellekti tööriistu, kuid ära muutu neist liigselt sõltuvaks ega enesega rahulolevaks. Jätka arenduse ainulaadselt inimlike aspektide lihvimist. Lugupeetud tarkvaratehnika pioneer Grady Booch ütles seda tabavalt: „Tehisintellekt muudab programmeerijaks olemise põhimõtteliselt. See ei kõrvalda programmeerijaid, kuid nõuab neilt uute oskuste arendamist ja uutmoodi töötamist.“ ( Kas tarkvarainseneridel on tulevikku? Tehisintellekti mõju [2024] ). Nende uute oskuste ja töömeetodite ennetava arendamise abil saavad arendajad tagada, et nad jäävad oma karjääri juhiistmele.

Selle osa kokkuvõtteks on siin kiire kontrollnimekiri arendajatele, kes soovivad oma karjääri tehisintellekti ajastul tulevikukindlaks muuta:

Kohanemisstrateegia Mida teha
Õpi tehisintellekti tööriistu Harjuta Copiloti, ChatGPT jms-ga. Õpi kiiret kirjutamist ja tulemuste valideerimist.
Keskendu probleemide lahendamisele Täiustage süsteemi kujundamise ja arhitektuuri oskusi. Tegelege küsimustega „miks“ ja „kuidas“, mitte ainult „mida“.
Oskuste täiendamine tehisintellekti/masinaõppe valdkonnas Õpi masinõppe ja andmeteaduse põhitõdesid. Saa aru, kuidas tehisintellekti mudelid toimivad ja kuidas neid integreerida.
Tugevdage pehmeid oskusi Täiustage suhtlust, meeskonnatööd ja valdkonnaalaseid teadmisi. Olge sillaks tehnoloogia ja reaalsete vajaduste vahel.
Elukestev õpe Säilita uudishimu ja õpi pidevalt uusi tehnoloogiaid. Liitu kogukondadega, osale kursustel ja katseta uusi tehisintellekti arendustööriistu.
Avasta uusi rolle Jälgige uusi rolle (tehisintellekti audiitor, kiirabiinsener jne) ja olge valmis oma ametikohta muutma, kui need teid huvitavad.
Säilita kvaliteet ja eetika Kontrollige alati tehisintellekti väljundi kvaliteeti. Lisage inimlik lähenemine – dokumentatsioon, eetilised kaalutlused, kasutajakesksed muudatused.

Neid strateegiaid järgides saavad arendajad tehisintellekti revolutsiooni enda kasuks pöörata. Need, kes kohanevad, avastavad, et tehisintellekt suurendab nende võimeid ja võimaldab neil toota paremat tarkvara kui kunagi varem, selle asemel, et see vananenuks muuta.

Tulevikuväljavaated: tehisintellekti ja arendajate koostöö

Mida toob tulevik programmeerimisele tehisintellektil põhinevas maailmas? Praeguste trendide põhjal võime eeldada tulevikku, kus tehisintellekt ja inimarendajad töötavad veelgi tihedamalt käsikäes . Programmeerija roll nihkub tõenäoliselt jätkuvalt juhendava ja loomingulise positsiooni poole, kus tehisintellekt tegeleb inimese juhendamisel suurema osa „raskest tööst“. Selles kokkuvõtvas osas prognoosime mõningaid tulevikustsenaariume ja kinnitame, et arendajate väljavaated võivad jääda positiivseks – eeldusel, et me jätkame kohanemist.

Lähitulevikus (järgmise 5–10 aasta jooksul) on väga tõenäoline, et tehisintellektist saab arendusprotsessis sama kõikjalolev osa kui arvutitest endist. Nii nagu tänapäeval ei kirjuta ükski arendaja koodi ilma redaktorita või Google/StackOverflow käepärast, ei kirjuta varsti ükski arendaja koodi ilma mingisuguse taustal töötava tehisintellekti abita. Integreeritud arenduskeskkonnad (IDE-d) arenevad juba niigi, et nende keskmes on tehisintellektil põhinevad funktsioonid (näiteks koodiredaktorid, mis saavad teile koodi selgitada või soovitada terveid koodimuudatusi kogu projekti vältel). Võime jõuda punkti, kus arendaja peamine ülesanne on sõnastada probleemid ja piirangud tehisintellektile arusaadaval viisil ning seejärel kureerida ja täiustada tehisintellekti pakutavaid lahendusi . See sarnaneb kõrgema taseme programmeerimisega, mida mõnikord nimetatakse ka „kiire programmeerimiseks“ või „tehisintellekti orkestreerimiseks“.

Siiski jääb sisuliselt samaks see, mida on vaja teha – lahendada inimeste probleeme. Tuleviku tehisintellekt võib küll olla võimeline kirjelduse põhjal terve rakenduse genereerima („loo mulle mobiilirakendus arstiaja broneerimiseks“), kuid selle kirjelduse selgitamine, selle õigsuse tagamine ja tulemuse kasutajate rõõmustamiseks lihvimine hõlmab arendajaid (lisaks disaineritele, tootejuhtidele jne). Tegelikult, kui rakenduste loomine muutub lihtsaks, muutuvad inimeste loovus ja innovatsioon tarkvaras toodete eristamiseks veelgi olulisemaks . Me võime näha tarkvara õitsengut, kus paljud rutiinsed rakendused genereeritakse tehisintellekti abil, samal ajal kui inimestest arendajad keskenduvad tipptasemel, keerukatele või loomingulistele projektidele, mis nihutavad piire.

Samuti on võimalus, et programmeerimisse sisenemise barjäär langeb – see tähendab, et rohkem inimesi, kes ei ole traditsioonilised tarkvaraarendajad (näiteks ärianalüütik, teadlane või turundaja), saavad luua tarkvara tehisintellekti tööriistade abil (tehisintellekti poolt võimendatud „koodita/madala koodiga” liikumise jätk). See ei kaota vajadust professionaalsete arendajate järele, pigem muudab seda. Arendajad võivad sellistel juhtudel võtta pigem konsultatsiooni- või juhendava rolli, tagades, et need kodanike arendatud rakendused on turvalised, tõhusad ja hooldatavad. Professionaalsed programmeerijad võivad keskenduda platvormide ja API-de loomisele, mida tehisintellekti abil töötavad „mitteprogrammeerijad” kasutavad.

Töökohtade seisukohast võivad teatud programmeerimisrollid väheneda, samas kui teised kasvavad. Näiteks võib mõned algtaseme kodeerimispositsioonid väheneda, kui ettevõtted toetuvad lihtsate ülesannete täitmisel tehisintellektile. Võib ette kujutada, et tulevikus vajab väike idufirma poole vähem nooremaid arendajaid, sest nende tehisintellektiga varustatud vanemad arendajad saavad suure osa põhitööst ära teha. Kuid samal ajal tekivad täiesti uued töökohad (nagu me kohanemise osas arutasime). Lisaks, kuna tarkvara tungib üha suuremasse osasse majandusest (kusjuures tehisintellekt loob tarkvara nišivajaduste jaoks), võib tarkvaraga seotud töökohtade üldine nõudlus jätkuvalt kasvada. Ajalugu näitab, et automatiseerimine viib pikas perspektiivis rohkemate , kuigi need on erinevad töökohad – näiteks teatud tootmisülesannete automatiseerimine tõi kaasa töökohtade kasvu automatiseeritud süsteemide projekteerimise, hooldamise ja täiustamise valdkonnas. Tehisintellekti ja programmeerimise kontekstis on mõned ülesanded, mida noorem arendaja varem tegi, automatiseeritud, kuid tarkvara loomise üldine ulatus laieneb (sest nüüd on selle loomine odavam/kiirem), mis võib kaasa tuua rohkem projekte ja seega ka vajaduse suurema inimjärelevalve, projektijuhtimise, arhitektuuri jms järele. Maailma Majandusfoorumi aruanne tuleviku töökohtade kohta näitas, et tarkvaraarenduse ja tehisintellekti ametikohad on üha kasvava , mitte väheneva nõudlusega ametikohtade hulgas.

Samuti peaksime arvestama 2040. aasta ennustusega : Oak Ridge'i riikliku labori teadlased pakkusid välja, et 2040. aastaks „kirjutavad masinad... suurema osa oma koodist ise“ ( Is There a Future for Software Engineers? The Impact of AI [2024] ). Kui see osutub täpseks, mis jääb inimprogrammeerijatele? Tõenäoliselt keskendutakse väga kõrgetasemelisele juhendamisele (ütledes masinatele üldiselt, mida me tahame, et nad saavutaksid) ja valdkondadele, mis hõlmavad süsteemide keerulist integreerimist, inimpsühholoogia mõistmist või uusi probleemvaldkondi. Isegi sellises stsenaariumis võtaksid inimesed endale tootekujundajate, nõuete inseneride ja tehisintellekti koolitajate/kontrollijate . Kood võib suures osas ise kirjutada, kuid keegi peab otsustama, millist koodi ja miks kirjutada , ning seejärel kontrollima, et lõpptulemus on õige ja eesmärkidega kooskõlas. See on analoogne sellega, kuidas isejuhtivad autod võivad ühel päeval ise sõita, kuid teie ütlete ikkagi autole, kuhu minna, ja sekkute keerulistes olukordades – lisaks projekteerivad inimesed teid, liikluseeskirju ja kogu ümbritsevat infrastruktuuri.

koostöö, mitte asendamise tulevikku . Nagu üks tehnoloogiakonsultatsioonifirma sõnastas: „Arenduse tulevik ei ole valik inimeste ja tehisintellekti vahel, vaid koostöö, mis kasutab ära mõlema parimat.“ ( Kas tehisintellekt asendab arendajaid 2025. aastal: pilguheit tulevikku ) Tehisintellekt muudab kahtlemata tarkvaraarendust, kuid see on pigem arendaja rolli areng kui väljasuremine. Arendajad, kes „võtavad omaks muutused, kohandavad oma oskusi ja keskenduvad oma töö ainulaadsetele inimlikele aspektidele“, avastavad, et tehisintellekt suurendab nende võimeid, mitte ei vähenda nende väärtust.

Võime tõmmata paralleeli teise valdkonnaga: mõelge arvutipõhise disaini (CAD) esiletõusule inseneriteaduses ja arhitektuuris. Kas need tööriistad asendasid insenere ja arhitekte? Ei – need muutsid nad produktiivsemaks ja võimaldasid neil luua keerukamaid projekte. Kuid inimese loovus ja otsuste langetamine jäid kesksele kohale. Samamoodi võib tehisintellekti vaadelda kui arvutipõhist kodeerimist – see aitab toime tulla keerukuse ja töömahuka tööga, kuid arendaja jääb disaineriks ja otsustajaks.

Pikas perspektiivis, kui kujutame ette tõeliselt arenenud tehisintellekti (näiteks mingit üldist tehisintellekti vormi, mis suudaks teha enamiku sellest, mida inimene), oleksid ühiskondlikud ja majanduslikud muutused palju laiemad kui ainult programmeerimine. Me pole veel sealmaal ja meil on märkimisväärne kontroll selle üle, kuidas me tehisintellekti oma töösse integreerime. Mõistlik tee on jätkata tehisintellekti integreerimist viisil, mis suurendab inimpotentsiaali . See tähendab investeerimist tööriistadesse ja tavadesse (ja poliitikatesse), mis hoiavad inimesi kursis. Juba näeme, kuidas ettevõtted loovad tehisintellekti juhtimise – juhised selle kohta, kuidas tehisintellekti tuleks arenduses kasutada, et tagada eetilised ja tõhusad tulemused ( uuring näitab tehisintellekti mõju arendajakogemusele - The GitHub Blog ). See suundumus tõenäoliselt kasvab, tagades, et inimeste järelevalve on ametlikult osa tehisintellekti arendusprotsessist.

Kokkuvõtteks võib küsimusele „Kas tehisintellekt asendab programmeerijad?“ vastata eitavalt – aga see muudab oluliselt programmeerijate tööd. Programmeerimise igapäevased osad automatiseeritakse suures osas. Loomingulised, väljakutseid pakkuvad ja inimkesksed osad jäävad alles ja muutuvad veelgi olulisemaks. Tulevikus töötavad programmeerijad tõenäoliselt kõrvuti üha targemate tehisintellektiga assistentidega, nagu meeskonnaliige. Kujutage ette, et teil on tehisintellektiga kolleeg, kes suudab koodi ööpäevaringselt toota – see on suurepärane tootlikkuse tõuge, kuid see vajab ikkagi kedagi, kes ütleks, milliste ülesannete kallal töötada, ja kontrolliks selle tööd.

Parimaid tulemusi saavutavad need, kes kohtlevad tehisintellekti kui koostööpartnerit. Nagu üks tegevjuht ütles: „Tehisintellekt ei asenda programmeerijaid, aga programmeerijad, kes tehisintellekti kasutavad, asendavad need, kes seda ei kasuta.“ Praktikas tähendab see, et arendajate kohustus on tehnoloogiaga koos areneda. Programmeerimise elukutse ei ole suremas – see kohaneb tehisintellektiga koostöös eduka ja rahuldust pakkuva karjääri .

Lõpuks tasub tähistada tõsiasja, et oleme sisenemas ajastusse, kus arendajatel on supervõimed. Järgmine programmeerijate põlvkond saavutab tundidega selle, mis varem võttis päevi, ja lahendab tehisintellekti abil probleeme, mis varem olid kättesaamatud. Hirmu asemel võib edasiminek olla optimismi ja uudishimu . Niikaua kui läheneme tehisintellektile avatud silmadega – teadlikult selle piirangutest ja oma vastutusest –, saame kujundada tulevikku, kus tehisintellekt ja programmeerijad loovad koos hämmastavaid tarkvarasüsteeme, mis ületavad kaugelt seda, mida kumbki eraldi suudaks. Inimese loovus koos masinate tõhususega on võimas kombinatsioon. Lõppkokkuvõttes ei ole asi asendamises , vaid sünergias. Tehisintellekti ja programmeerijate lugu alles kirjutatakse – ja seda kirjutavad nii inimene kui ka masin koos.

Allikad:

  1. Brainhub, „Kas tarkvarainseneridel on tulevikku? Tehisintellekti mõju [2024]“ ( Is There a Future for Software Engineers? The Impact of AI [2024] ).

  2. Brainhub, Satya Nadella ja Jeff Deani eksperttsitaadid tehisintellekti kohta kui tööriista, mitte asendaja ( Kas tarkvarainseneridel on tulevikku? Tehisintellekti mõju [2024] ) ( Is There a Future for Software Engineers? The Impact of AI [2024] ).

  3. Medium (PyCoach), „Kas tehisintellekt asendab programmeerijaid? Tõde hype taga“ , tuues välja nüansirikka reaalsuse ja hype'i erinevuse ( Kas tehisintellekt asendab programmeerijaid? Tõde hype taga | autor The PyCoach | Artificial Corner | märts 2025 | Medium ) ja Sam Altmani tsitaadi, et tehisintellekt on hea ülesannete täitmisel, aga mitte täisväärtuslike töökohtade täitmisel.

  4. DesignGurus, „Kas tehisintellekt asendab arendajaid… (2025)“ , rõhutades, et tehisintellekt täiendab ja tõstab arendajate taset, mitte ei muuda neid üleliigseks ( Kas tehisintellekt asendab arendajaid 2025. aastal: pilguheit tulevikku ) ning loetledes valdkondi, kus tehisintellekt maha jääb (loovus, kontekst, eetika).

  5. Stack Overflow arendajate uuring 2023, tehisintellekti tööriistade kasutamine 70% arendajate poolt, madal usaldus täpsuse vastu (3% usaldab väga) ( 70% arendajatest kasutab tehisintellekti kodeerimistööriistu, 3% usaldab nende täpsust väga - ShiftMag ).

  6. GitHubi uuring 2023, mis näitas, et 92% arendajatest on proovinud tehisintellektil põhinevaid kodeerimistööriistu ja 70% näeb neist kasu ( Uuring paljastab tehisintellekti mõju arendajakogemusele - GitHubi ajaveeb ).

  7. GitHub Copiloti uuring, mille kohaselt on tehisintellekti abiga ülesannete täitmine 55% kiirem ( Uuring: GitHub Copiloti mõju kvantifitseerimine arendajate tootlikkusele ja rahulolule - GitHubi ajaveeb ).

  8. GeekWire'i andmetel saavutas DeepMindi AlphaCode keskmise inimprogrammeerija tasemel tulemuse (54% parimad), kuid tipptasemel tulemustest kaugel ( DeepMindi AlphaCode vastab keskmise programmeerija oskustele ).

  9. IndiaToday (veebruar 2025), kokkuvõte Sam Altmani nägemusest tehisintellekti „kaastöötajatest”, kes täidavad nooremate inseneride ülesandeid, kuid „ei asenda inimesi täielikult” ( Sam Altman ütleb, et tehisintellekti agendid täidavad peagi ülesandeid, mida tarkvarainsenerid teevad: täispikk lugu 5 punktis - India Today ).

  10. McKinsey & Company hinnangul jääb ~80% programmeerimistöödest inimkeskseks hoolimata automatiseerimisest ( Is There a Future for Software Engineers? The Impact of AI [2024] ).

Artiklid, mida võiksite pärast seda lugeda:

🔗 Parimad tehisintellektiga seotud paaride programmeerimistööriistad
Avastage juhtivaid tehisintellektiga seotud tööriistu, mis saavad teiega koostööd teha nagu kodeerimispartner, et teie arendustöövoogu täiustada.

🔗 Milline tehisintellekt on kodeerimiseks parim – parimad tehisintellektil põhinevad kodeerimisassistendid.
Juhend kõige tõhusamate tehisintellektil põhinevate tööriistade kohta koodi genereerimiseks, silumiseks ja tarkvaraprojektide kiirendamiseks.

🔗 Tehisintellekti tarkvaraarendus – tehnoloogia tuleviku muutmine.
Saage aru, kuidas tehisintellekt muudab revolutsiooniliselt tarkvara loomise, testimise ja juurutamise viisi.

Tagasi blogisse