Hyvät, pahat ja rumat: Kun tekoäly koodaa softaa – Osa 2: Pahat
Kolmiosaisessa blogisarjassa Lehtinen ruotii tekoälyavusteisen koodauksen hyvät, pahat ja rumat. Toisessa osassa perehdytään tekoälykoodauksen huonoihin puoliin ja vaaranpaikkoihin.
Tekoälyllä voidaan tuottaa muutamassa minuutissa jotain, mihin aiemmin kului tunteja tai päiviä. Ruudulle ilmestyy käyttöliittymä, testi menee läpi ja ensimmäinen demo näyttää vakuuttavalta. Tästä olisi helppo vetää johtopäätös, että myös ohjelmistokehitys olisi muuttunut helpoksi. Näin ei kuitenkaan ole, kertoo Web Developer Santtu Lehtinen blogisarjassaan.
Kolmiosaisessa blogisarjassa Lehtinen ruotii tekoälyavusteisen koodauksen hyvät, pahat ja rumat. Toisessa osassa perehdytään tekoälykoodauksen huonoihin puoliin ja vaaranpaikkoihin.
Toimivan näköinen ei aina ole toimiva
Tekoälyn tuottaman koodin haasteena on toisinaan se, että se näyttää päällepäin toimivalta. AI-avusteisesti koodattu ratkaisu ei välttämättä näytä huonolta, käyttää oikean kuuloisia käsitteitä ja toimii onnistuneessa testissä. Silti toteutuksesta voi puuttua tietoturvan kannalta olennainen tarkistus. Se voi huomioida tavallisen käyttötapauksen mutta ei virhetilanteita. Se voi myös ratkaista helpon ongelma turhan monimutkaisesti. Tällaiset puutteet eivät välttämättä näy demossa vaan tulevat esille vasta oikeiden käyttäjien, tietojen ja poikkeustilanteiden kanssa.
Ajatellaan vaikka palvelua, jossa käyttäjä kirjautuu sisään ja näkee omat tietonsa. Käyttöliittymä voi näyttää täysin oikealta, vaikka tietojen käyttöoikeuksia ei tarkistettaisi kaikissa järjestelmän kerroksissa. Onnistuneessa demossa ongelma ei näy, koska kokeilija toimii juuri odotetulla tavalla. Todellisessa käytössä sama puute voi tarkoittaa, että väärä henkilö pääsee käsiksi tietoihin. Koodin toimivuus ja järjestelmän turvallisuus eivät siis ole sama asia.
Tekoäly ratkaisee sille annetun tehtävä, mutta ei välttämättä tiedä, ratkaistaanko oikeaa ongelmaa.
Mitä enemmän vapautta tekoälylle, sitä enemmän valvontaa
Jos tekoälylle annetaan lupa muuttaa koko koodipohjaa, lisätä uusia ohjelmistoriippuvuuksia tai suorittaa tehtäviä itsenäisesti, sitä täytyy valvoa myös tarkemmin. Valvonta taas ei tarkoita vain koodirivien lukemista. On arvioitava, sopiiko ratkaisu järjestelmän kokonaisuuteen, onko se turvallinen ja ylläpidettävä sekä perustuuko se oikeaan käsitykseen liiketoiminnan tarpeesta. Tekoäly voi luoda koodia, mutta vastuu päätöksistä on loppukädessä aina ihmisellä.
Valvonnan määrä kannattaa suhteuttaa seurauksiin. Nopeassa konseptikokeilussa kevyt tarkistus voi olla riittävä. Asiakastietoja käsittelevässä tai liiketoimintakriittisessä palvelussa tarvitaan huomattavasti perusteellisempi arviointi, testaus ja hyväksyntä. Sama tekoälytyökalu voi siis olla yhdessä tilanteessa tehokas luonnoslehtiö ja toisessa merkittävä liiketoimintariski – on osa koodarin ammattitaitoa tunnistaa tämä kahtiajako.
Ota yhteyttä
Autamme kartoittamaan projektin lähtökohdat, tarpeet ja tavoitteet tarjouksen taustatiedoksi.
Tomi Kaitarinne
CRO, Founding Partner
+358 50 345 3874
tomi.kaitarinne@kuuki.fi