AI tööriistade kasutamine tarkvaraarenduses on kiiresti arenenud ja toonud kaasa uusi võimalusi nii arendajatele kui ka tiimidele tervikuna.

Hiljuti vestlesin Märt Ridalaga Solita Eestist tema podcastis “Kergelt programmeerimisest” just nendel teemadel. Rääkisime sellest, kuidas AI-d kasutatakse arenduses juba täna, millised muutused see toob tiimide töökorraldusse ja millised oskused muutuvad olulisemaks. Samuti arutasime, kuidas ettevõtted saaksid muutustega paremini kohaneda.

***

Märt Ridala:
Tere tulemast kuulama podcasti “Kergelt programmeerimisest” kaheksandat episoodi! Mina olen Märt Ridala Solitast ning mul on täna külas Jarmo Tuisk – Agrello tootearenduse juht ja lisaks ka tehisintellekti õpetaja EBSis.

Räägime täna sellest, kuidas tehisintellekt aitab tarkvara arendada ning millisel arengutasemel need tööriistad hetkel on.

Mind ajendas Jarmoga ühendust võtma tema väga intrigeeriv LinkedIni postitus mõne nädala eest, kus ta väitis, et järgmise 12–18 kuu jooksul seisab tarkvaraarenduses ees viimase 40 aasta suurim murrang. Seda tänu AI-le, mis ei piirdu enam lihtsate äppide kirjutamisega, vaid suudab juba täna aidata kaasa arvestatava arendustöö tegemisel.

Jarmo, ehk tutvustad end alustuseks ja räägid, mis seisus tarkvaraarendus tehisintellekti kaasabil praegu on?

Jarmo Tuisk:
Tere kõigile!  Sa juba mainisid natuke tausta, aga lisan omalt poolt, et olen tarkvarasektoris olnud 90ndate lõpust peale. Alustasin andmebaaside ja veebidega ning olen näinud igasuguseid tehnoloogilisi revolutsioone. Nii et ma ei teinud seda LinkedIni postitust päris tühjalt kohalt – elukogemust on kogunenud.

Tänaseks olen isegi mitu korda progemisele käed külge pannud AI tööriistade abil ja ise järgi proovinud, et milleks need AI tööriistad head on. See kogemus sundiski mind virtuaalselt “pastakat haarama” ja kirjutama: „Sõbrad, nii nagu seni, me enam edasi ei lähe.“

AI mõju tarkvaraarendusele saab olema väga tähelepanuväärne!

MR: Meil on ka oma ettevõttes tarkvaraarenduse tiim ja üldiselt on arendus üks väga suur osa sellest, mida me teeme. Kuidas sa näed – millised need muutused saavad olema? Või kuidas peaks tiimi tasandil praegu sellele muutusele mõtlema?


JT: Kui vaadata, kus see muutus kõige rohkem tunda annab, siis just seal, kus AI suudab inimkeelse jutu põhjal koodi kirjutada. 

Inimene, kes oskab oma mõtte selgelt välja öelda, on nüüd sisuliselt võimeline ükskõik mis programmeerimiskeeles midagi valmis tegema – tänu tehisintellektile.

See ongi kõige olulisem muutus: kui mina ütlen näiteks, et tahan tootekataloogi veebi jaoks, mis kuvaks mu andmebaasi põhjal kena tabeli teatud veergudega, siis AI suudab selle põhjal kirjutada koodi – olgu selleks keeleks Java, Kotlin, Python, TypeScript või midagi muud.

Seda kõike nimetatakse sageli "kõrgema taseme programmeerimiseks", kus töö käib inimkeeles. See muudab päris palju meie seniseid tööharjumusi arenduses – eriti seda, kes mida tiimis teeb. 

Varem olid rollid hästi jaotatud: süsteemiarhitekt, tooteomanik, analüütik, disainer, front-end, back-end, DevOps jne.

Aga nüüd need piirid hägustuvad. Disainer võib AI abil luua juba front-endi koodi, arendaja saab paluda AI-l kirjutada tootespetsifikatsioone. See kõik on võimalik, sest tööriistad ja keelemudelid võimaldavad seda üha paremini teha.


MR: Aga kui täpne peab siis see inimkeelne tekst olema, mida AI-le sisendiks anda? Näiteks – ühest äärmusest: “Tee nupp, millele vajutades leitakse tabelist teatud andmed.” Ja teisest: “Kirjuta mulle rahvastikuregister.” Kui konkreetne peab inimene olema?


JT: See toimib üsna sarnaselt nagu tavalise ChatGPT kasutamisega - mida täpsemini suudad oma mõtet väljendada, seda täpsemini ja paremini töötab ka AI. Kui oled väga üldsõnaline, siis suure tõenäosusega genereerib AI midagi, mida sa ei oodanud või ei tahtnud.

Meie endi väljendusoskus AI’ga suhtlemisel peab kindlasti paranema. Ja tõsi on ka see, et näiteks kogu rahvastikuregistri infosüsteemi ei suuda keegi korraga detailselt lahti kirjutada – see käib pigem jupphaaval.

Üks osa tulevikukodeerimisest ongi tegelikult see, et enne koodi kirjutamist tuleb süsteemi loogika ja mõtted väga selgelt kirja panna. Ja just selles etapis saab AI juba palju abiks olla.

MR: See on üsna tavaline. Minu hinnangul on nii, et kui võtta üks infosüsteemi või digitaliseerimise projekt tervikuna, siis koodi kirjutamine moodustab ehk 20% kogu töömahust – maksimaalselt.

Kui tegu on suure organisatsiooniga, siis palju keerulisem on üldse kokkuleppele jõuda, kuidas organisatsioon toimima peaks, ja alles siis saab selle tarkvarasse kirjutada. Kui just ei ole diktaatorlik juht, kes ütleb: “Teeme nii,” ja ongi kõik.

Kas see töö jääb siis alles või saab ka seda AI-ga kiirendada või automatiseerida?


JT: See osa läheb samuti palju kiiremaks tänu AI-tööriistadele. Kogu dokumentatsiooni koostamine, sisendi kogumine, selle struktureerimine ja ettevalmistamine arendajatele – kõik see kiireneb vähemalt sama palju kui koodi kirjutamine.

Me suudame oma mõtteid palju kiiremini ja arusaadavamalt kirja panna. Tõsi, kui on täiesti uus klient – näiteks mingi riigiamet, millest me alguses mitte midagi ei tea –, siis tuleb kõigepealt info kätte saada.

Traditsiooniline viis on olnud teha intervjuusid, panna need kirja... aga tänapäeval tulevad kohe appi AI-tööriistad. Intervjuu tekstiks muutmine, sealt kontseptsioonide välja toomine, esialgne struktureerimine – kõik see käib juba AI abil.

Iga etapi juures, alates info kogumisest kuni visualiseerimiseni – näiteks voodiagrammid või süsteemiskeemid – on AI tööriistad juba abiks. Sa ei pea enam käsitsi joonistama või kasutama keerulisi tarkvarasid – ChatGPT oskab näiteks üsna hästi genereerida Mermaid keeles diagramme.

Ja veel üks oluline asi: ka olemasoleva dokumentatsiooni läbitöötamine on märgatavalt kiirem AI toel.


MR: Kui me oleme oma arendajatega rääkinud, siis vähemalt mõnda aega tagasi – ja võib-olla ka praegu – valitses arusaam, et AI-d saab kasutada ainult seal, kus inimene suudab tulemust kontrollida. Kui ma palun tal kirjutada midagi väga suurt, näiteks tuhandeid ridu koodi, siis on inimesel seda praktiliselt võimatu üle vaadata. 

Aga samas – äkki piisabki sellest, et paned süsteemi tööle ja testid? Kui tööle ei lähe, ongi vigane.

JT: See on täiesti arusaadav probleem – ja seda on kõik juba näinud. Selle lahenduseks ongi see, et lisaks koodi genereerivale AI-le on vaja ka testivat ja kontrollivat AI-d. Ja need on juba täna arenduses olemas.

Näiteks üks AI-mudel kirjutab koodi, teeb pull request'i, teine loeb selle läbi, võrdleb olemasoleva koodibaasiga ja annab koodi review. Selle põhjal teeb esimene AI juba parandused.

Praegu me hindame AI tulevikku nende tööriistade põhjal, mida esimesena kätte saame. Aga tegelikult on tänastest probleemidest juba teadlikult mõtlema hakatud – ja neid juba ka lahendatakse.

Ma näen selgelt, et juba tekivad kombinatsioonid, kus rõhk ei ole enam ainult koodi genereerimisel, vaid ka AI-de koostööl – erinevate meeskondade, rollide ja agentide vahel. See ongi järgmine tase – integratsioon, sünkroniseerimine, reeglitepõhine ülevaatus.

Tõuge nutikamatele tööriistadele tuligi esialgu sellest, et keegi "vibe coding'u" käigus genereeris mingi äpi koodi, pani selle kohe live’sse ja siis kui kasutama hakati avastati sellest hunnik turvaauke ja muid probleeme. Aga nii me õpimegi, et millist AI-tööriista meil on vaja kasutada millises faasis. 

Tänapäeval on nii, et kui me esimese agendi valmis saame, siis see juba ise aitab kirjutada järgmist ja paremat. Ja sealt edasi läheb asi kiiresti eksponentsiaalseks.


MR: Kui head need süsteemid praegu üldse on? Kui me mõtleme ideaalsest tulevikust, siis võiks ju asi toimida nii, et ma formuleerin oma soovi hästi täpselt ära, üks AI kirjutab koodi, teine testib ja kolmas korrastab. Ja lõpuks on mul küll aimu, mida ma tahan, aga ma ei pruugigi enam aru saada, kuidas see kõik tehniliselt toimib. Kui testid ütlevad, et töötab, siis ehk julgen selle laivi panna?

JT: Kui me vaatame, kus me täna – märtsis 2025 – oleme, siis enamlevinud tööriistad jagunevad laias laastus kolmeks.

Esiteks on “imevidinad” – need on tööriistad, kuhu sisestad mingi pildi või paar lauset ja süsteem genereerib midagi välja. Tundub, et töötab, aga sul puudub igasugune ülevaade, kuidas see tulemus tekkis. Sellised on näiteks Bolt.devi stiilis tööriistad -  V0, Repliti agendid, Loveable jne.

Teiseks on tööriistad, kus sul on rohkem kontrolli. Sa saad ideesid sisestada, AI pakub soovitusi, ja sina saad kaasa mõelda. Nendeks on näiteks Cursor, Windsurf, Cline jt. Selline koostöö on juba oluliselt paremini jälgitav ja kontrollitav.

Kolmas kategooria on kõige lihtsam – auto-complete tööriistad. Kirjutad koodi ja AI pakub järgmisi ridu. Neid kasutatakse laialdaselt, kuigi nad ei tee midagi “maagilist”.

Nüüd, kui küsida, kui head need tööriistad on – siis sõltub. Mõni “imevidin” võib mõne ülesande puhul olla lausa geniaalne. Aga kui sa ütled talle, et ehita mulle Eesti ID-kaardi süsteem uuele platvormile, siis on üsna kindel, et selleks ülesandeks “imevidinast” ei piisa.


MR: Aga kuidas on nende tööriistadega, mis ei puuduta koodi kirjutamist? Näiteks analüüsidokumendid või süsteemidiagrammid – kood on lihtne, selle saab käivitada ja näha, kas töötab või mitte. Aga kui AI genereerib sulle sada lehekülge teksti, kas inimene peab selle ikkagi lõpuks kõik läbi lugema? Äkki ei olegi päris õige?

JT: Generatiivse AI puhul on üks reegel küll üsna kindel – hallutsineerimist ei saa täielikult välistada. Seega oleks hea, kui inimene vähemalt mingil määral lõpptulemuse üle käiks.

Samas on olemas ka kombineeritud lähenemisi, kus üks AI mudel genereerib teksti, teine hindab ja vaatab tulemuse üle. Selleks on eriti head uuemad nö arutlevad mudelid (reasoning models), mis mitte ainult ei genereeri vastuseid, vaid käivad enne mitmeid kordi oma mõtteprotsessi läbi. See annab palju parema kvaliteedi ja usaldusväärsuse.

Minu soovitus ongi, et just planeerimise ja süsteemikirjelduste puhul tasub kasutada tugeva arutlusvõimega mudeleid – näiteks OpenAI O seeria mudelid, DeepSeek R1 või Claude 3.7 Sonnet Thinking Mode. Need käituvad pigem nagu kaasa mõtlevad tiimikaaslased, mitte lihtsalt vastuste pakkujad.

Eriti just süsteemidisaini faasis tasub nad partneriks võtta – nende tugevus tuleb seal väga hästi esile.


MR: Minu jaoks on AI tööriistade puhul olnud juba mõnda aega üks suur probleem – need arenevad nii kiiresti, et kui hakkan midagi õppima või katsetama, siis nädal hiljem tundub juba, et see, mida ma õppisin, on vananenud. Nagu oleks olnud karjääri kuumim tööriist ainult kuu aega ja siis polegi seda enam vaja. Kas üldse on mõtet midagi põhjalikult selgeks õppida, või on kõik juba selleks ajaks muutunud, kui lõpuks pihta saad?

JT:  Ma saan sellest murest väga hästi aru. Tarkvarasektoris ollakse ehk veidi rohkem harjunud kiirelt muutuva keskkonnaga, aga teistes valdkondades võib see muudatuste tempo tunduda ikka päris hull.

Samas – mõned asjad siiski püsivad ka muutumatuna. Kui vaatan enda AI koolituste sisu, siis baastõed on püsinud üsna muutumatuna juba üheksa kuud.

Tõsi, promptimisega on tulnud uusi reegleid seoses reasoning-mudelitega, mis käituvad veidi teisiti.

Mis puutub tööriistadesse, siis päris nädalaga sa maha ei jää, aga kui ei praktiseeri, siis kipub lihtsalt ununema. See on nagu võõrkeele õppimine – ilma harjutamata ei püsi.

Kui aga vaadata ettevõtte juhtimise vaatenurgast, siis siin on vaja teadlikku süsteemi, mis aitab muutustega kohaneda. Meil peaks olema selge roll või üksus, kes jälgib uusi arenguid ja mõtleb läbi, kuidas neid meie konteksti sobitada.

Seda ei saa panna tavapärase töötaja igapäevatöö kõrvale – peab olema keegi, kelle ülesanne ongi pidevalt muutustega kursis olla.

Miks see oluline on? Sest viimase kuue kuu jooksul on IT-sektoris toimunud väga suured muutused – eriti geopoliitilisel tasandil. Hiina AI-tehnoloogiate plahvatuslik areng on kogu sektorile tugeva tõuke andnud. Sellele reageerimiseks on vaja täiesti uusi juhtimismeetodeid.


MR: Kas sa pead silmas ainult IT-ettevõtteid, või puudutab see kõiki organisatsioone?

JT: IT-teenuse pakkujad võiksid tõesti olla esirinnas, aga tegelikult on see laiem teema – see puudutab kõiki suuremaid organisatsioone.

Tänapäeval on IT nii tihedalt põimunud organisatsioonide juhtimise ja toimimisega, et ilma selleta enam ei saa.

Tuleb olla kursis, mis toimub, ja selleks tuleb organisatsioonides ka selgelt määratleda vastutajad – inimesed või üksused, kelle ülesanne ongi jälgida, kuhu areng liigub ja kuidas seda oma töösse rakendada.


MR: Sinu postituses jäi kõlama ka üks huvitav tulevikuvisioon: et tarkvaraarendus ei põhine enam koodi kirjutamisel, vaid looval ja holistilisel lähenemisel. Inimene defineerib probleemi ja AI kirjutab vastavalt sellele koodi. Kuidas see erineb tänasest olukorrast? Kas praegu on koodi kirjutamine lihtsalt nii suur ja keeruline töö, et keegi ei jõuagi sügavamale minna?

JT:  Täna on koodi kirjutamine kindlasti veel suur ajakulu. Meil on arendusprotsessis selgelt näha, kuidas see jääb tihti pudelikaelaks – ülesannete prioritiseerimine, arendus järjekorra haldamine, planeerimine... Kõik see viitab sellele, et koodi kirjutamine on endiselt suur ja oluline osa.

Aga minu mõte oli pigem selles, et kuna see koodi kirjutamise faas on olnud seni nii töömahukas, siis oleme harjunud tegema tooteid, mis peavad lahendama võimalikult paljude inimeste probleeme korraga. Eriti SaaS-äris on põhimõte: kui lisad uue funktsiooni, siis sellel peaks olema vähemalt tuhat või kümme tuhat kasutajat.

Holistilisem lähenemine võimaldab aga keskenduda konkreetse kliendi vajadustele – mõista sügavamalt, mida ta saavutada soovib, ja luua lahendusi, mis on päriselt temale kohandatud. Enam ei pea nii jõhkralt kompromisse tegema, nagu seni suurele turule suunatud toodetega.

MR: Nii et näiteks võiks keegi teha Kadrioru kohvikutele spetsiaalse CRM-i, mida kasutab vaid seitse inimest? Ei pea olema Salesforce, millel on tuhat või kümme tuhat kasutajat. Ja startuppide puhul – saan ma õigesti aru, et varsti saab kümnekesi ära teha selle, mille jaoks varem oli vaja sadat või tuhandet arendajat? Ehk saab väiksema investeeringuga palju kiiremini lahenduse valmis?

J Absoluutselt. Paljud viimase aja huvitavad tööriistad ja platvormid ongi loodud väikeste meeskondade poolt. See on selgelt uus suund.

Kui vaadata näiteks seitse või kümme aastat tagasi, siis startup'i väärtus hakkas tõusma sel hetkel, kui ettevõttel tekkis tugev sisemine struktuur – erinevad funktsioonid, palju inimesi, tugev organisatsioon. Kui vaatame näiteks meie oma Eesti üksarvikuid, siis selleks ajaks, kui nad selle staatuse saavutasid, olid nad juba suured ja hästi üles ehitatud.

Täna see mudel enam nii hästi ei tööta. Väärtuse loomine ei tähenda enam tingimata suurt meeskonda või ulatuslikku infrastruktuuri. Arendajal või ettevõtjal ei ole enam vajadust kohe alguses riskikapitali kaasata, sest esimesed sammud saab AI toel teha oluliselt lihtsamalt ja väiksema tiimiga.

Tõsi, me ei ole veel päris sealmaal, et üks inimene istub kohvikus, avab sülearvuti ja ehitab nullist valmis töötava tarkvara. Aga kui vaadata, kui kiiresti tööriistad nagu Loveable, Bolt.dev või V0 on arenenud, siis ausalt öeldes – ma oleks väga üllatunud, kui aasta pärast ei oleks see juba võimalik.

MR: Aga siis saab ju selgeks, et kui selliseid väikseid lahendusi – nagu see Kadrioru kohvikute CRM – tekib tuhandeid, siis muutub äriline konkurents väga tihedaks. Just näiteks väikeste CRM-startuppide jaoks muutub nähtavaks saamine keeruliseks. Kuidas siis üldse läbi lüüa?

JT: See on väga hea küsimus. Tulebki mõelda, milline see uus ärimudel üldse olema saab.

Ma usun, et kuskil keegi juba töötab selle nimel, et luua platvorm või ökosüsteem, kus need “mini-SaaS”-lahendused saavad tekkida. See saab olema väga suur äri iseenesest. Kas see platvorm tuleb Azure'i, Google Cloudi, AWS-i või millegi muu peale – eks aeg näitab.

Aga see “klassikaline” SaaS-mudel, nagu me täna tunneme – Salesforce või Pipedrive –, saab selles uues kontekstis kõvasti konkurentsi. Tõenäoliselt muutuvad nad ise pigem võimaldajateks, infrastruktuuriks, mille peal teised ehitavad oma väikeseid lahendusi.

Võib-olla tulevikus näeme olukorda, kus meil ongi üks suur “liivakast” – näiteks Pipedrive või mõni muu platvorm –, kus igaüks saab endale omaenda väikese CRM-i kokku panna. Just sellise, mis vastab täpselt tema vajadustele.


MR: Meie töös on aastate jooksul ikka ja jälle nähtud, et organisatsioonide suutlikkus uusi tehnoloogiaid kasutusele võtta on sageli kõige suurem pudelikael. Tihti on uued lahendused turul olemas juba viis või kümme aastat, aga organisatsioonid lihtsalt ei jõua neid omaks võtta.

Aga nüüd, kui AI-ga areneb kõik veelgi kiiremini, kas see lõhe ainult suureneb? Või muutuvad ka organisatsioonid ise – paindlikumaks, kiiremaks, nii et nad suudavadki ise uusi lahendusi arendada ja kasutusele võtta?

JT: Üks põhjus, miks varem uusi tehnoloogiaid aeglaselt kasutusele võeti, oli info ja kompetentsi puudus. Näiteks oled suur pagaritöökoda, kogu Eesti sööb su saia, aga AI-d ei ole. Ei tea, keda palgata, millest alustada, ega saa isegi aru, kas AI-l on sinu äris üldse kohta.

Selle põhjuseks oli lihtsalt väga kõrge sisenemisbarjäär – et üldse IT-juht olla, pidi sul olema teadmisi, kogemust, kontaktide võrgustik.

Nüüd võib see kõik muutuda. Võib juhtuda, et pagaritöökoda saabki õhtul ChatGPT-le öelda: "Olen 20 aastat saia küpsetanud – kuidas AI võiks mind aidata?" Ja saabki edasi liikuda.

Barjäärid lähevad madalamaks.

Samas – ma ei ole naiivne. Inimesed ei muutu üleöö. Olen ise kaks aastat AI koolitusi teinud ja näen, et paljuski õpetame ikka veel baasteadmisi. Meie mõttemustrid muutuvad palju aeglasemalt kui tehnoloogia.

Aga võimalusi on praegu rohkem kui kunagi varem.


MR: Meie aeg hakkab vaikselt otsa saama. Viimane küsimus: kui kellegi jaoks sinu mõtted tundusid huvitavad ja kõnetasid, siis kuidas on võimalik sinu koolitusele tulla või sind endale nõustajaks kutsuda?
JT: EBS-is teeme avatud kursusi – sinna saab näiteks tulla õppima.

Kui aga on soov kutsuda mind koolitama otse ettevõttesse, siis teeme ka seda. Üks koht, mida tasub meeles pidada, on Productory.eu – sealt leiab rohkem infot. Ma panen pärast lingi ka alla, et kuulajad ja lugejad saaksid ise vaadata.


MR: Suur tänu sulle, Jarmo! Oli väga põnev ja sisukas vestlus. Nägemiseni!

Kogu podcasti saad kuulata siit: