Blogi

AI-ehosteisen softakehittämisen kolme tasoa

Joonas Pajunen Bisnes Teknologia

Joonas Pajunen puhuu tekoälystä Joonas Pajunen puhuu tekoälystä

Tekoäly muuttaa ohjelmistokehitystä valtavasti. Väitän, että työ on jatkossa vähemmän näppäimistön kalkatusta ja enemmän koodaustyön suunnittelua ja ohjausta.

Generatiivinen tekoäly on lyhyessä ajassa muuttunut kuriositeetista vakiotyökaluksi, ja silti kehityksen nopeus vain kiihtyy. Käyttöönotto on jakautunut epätasaisesti: osa yrityksistä ja ihmisistä suhtautuu työkaluihin avoimesti, osa penseästi. Tulevaisuus on niiden, jotka ottavat sen haltuun.

Muutama huomio ennen pihviä:

  • Tässä tekstissä AI/tekoäly viittaa pääosin laajoihin kielimalleihin (LLM), jotka ovat vain osa tekoälyn koko kentästä.
  • Fraktiolla käytämme erilaisia työkaluja joko chat-ikkunoissa, osana työkalujamme tai integroituna rakentamiimme palveluihin - ChatGPT, Gemini, Claude, Cursor, Copilot, Replit ynnä muut.
  • Olemme huomanneet, että työkalut ovat hyödyllisiä ja todella parantavat tehokkuutta - kunhan niitä osaa käyttää.

Millä tasoilla AI on jo nyt mukana softakehityksessä, ja mihin ollaan menossa? Tutkaillaan kolmea kehitysvaihetta:

1. Chat & copypaste

Ensimmäinen ja yleisin tapa hyödyntää tekoälyä softakehityksessä on käyttää chattibotteja, kuten ChatGPT:tä. Tekoälyn kanssa keskustellaan ongelmista, ja vastineeksi siltä saadaan ratkaisuja. Ratkaisu on joko leikkaa-liitä -menetelmällä koodieditoriin siirrettävä pätkä koodia, tai uusi ajatusmalli, jonka pohjalta kehittäjä voi ratkaista ongelmansa.

Hyödyt:

  • Dokumentaation selaaminen nopeutuu
  • Apua voi kysyä “kaverilta” milloin tahansa
  • Algoritmeja ei tarvitse opetella ulkoa
  • Rutiinitehtäviä voi hoitaa sekunneissa 

Haitat:

  • Koodin liittäminen omaan projektiin on yllättävän hidasta ja virhealtista
  • Kielimallit eivät aina ymmärrä projektin kontekstia

Vertauskuvana sanoisin, että tämä toimintamalli on kuin henkilökohtainen ja erittäin nopea hakukone.

2. Assistant-malli: ehdotukset, jotka hyväksytään

Seuraavalla tasolla AI on osa koodieditoria. AI-avusteiset koodaustyökalut, kuten GitHub Copilot ja Cursor Assistant, ehdottavat ratkaisuja suoraan editorissa. Asiantuntijan flow säilyy, ja kehittäjä siirtyy enemmän ohjaajan rooliin. AI tarjoaa vaihtoehtoja, ja ihminen tekee lopulliset päätökset.

Hyödyt:

  • Toistuvan ja rutiininomaisen koodin nopeampi kirjoittaminen
  • Kehittäjän ajankäytön vapautuminen korkeamman tason ongelmanratkaisuun
  • Tekoäly ymmärtää projektin struktuurin ja kontekstin

Haitat:

  • Koodia voi tuottaa niin nopeasti, että pullonkauloja syntyy paikkoihin, joissa niihin ei olla totuttu (esim. code-review)
  • Itse kirjoitettu koodi on helpompi ymmärtää ja muistaa, tekoälyn tekemään ratkaisuun ei synny samanlaista syvää ymmärrystä ja muistijälkeä
  • Kilpavarusteluefekti voi painaa laatua alas. Kun joku tiimistä (tai toisesta tiimistä, tai toisesta yrityksestä) tuottaa koodia nopeasti, kellä on kärsivällisyyttä ja itsekuria hoitaa asiat totutun ensiluokkaisella tavalla?

Vertauskuvallisesti tämä toimintamalli on kuin oman väsymättömän junioriassistenttitiimin suitsimista.

3. Autonomiset agentit

Kolmannella tasolla tekoäly siirtyy pelkästään ehdottamisen sijasta aktiivisesti muokkaamaan ja luomaan ohjelmistokokonaisuuksia itsenäisesti. Esimerkiksi Cursor Agent osaa kirjoittaa koodia, havaita ongelmia ja korjata ne. Se voi optimoida suorituskykyä tai jopa rakentaa kokonaisia sovelluksia määritelmien pohjalta.

Tämän toimintamallin vaikutuksia on vaikeampi jakaa hyötyihin tai haittoihin, sillä niiden luonne on täysin riippuvainen kehittäjän luonteesta:

  • Pienten sovellusten prototyyppaaminen on todella nopeaa. Koodia ei tarvitse/saa kirjoittaa enää yhtään
  • Agentit eivät korvaa kunnollista suunnittelua, keskustelua tai tiimityötä, joten odotukset kehityksen nopeutumisesta voivat olla liioiteltuja
  • Resurssien allokointiin ja tulosten validoitiin menee entistä enemmän aikaa. Kehittäjän työ muuttuu enemmän keskijohdon ja auditoijan kaltaiseksi
  • Kehittäjälle jää työksi määritellä liiketoimintalogiikka, tiedonkulkua ja integraatioita, ei toteuttaa niitä - toisaalta kehittäjistä tulee arkkitehteja

Vertauskuvallisesti tämä toimintamalli on kuin ohjeistaisit täysin ulkoistettua tiimiä ja siirtyisit itse kohti product ownerin roolia.

3+. Autonomiset palvelut

Työkalut kuten Replit tai Lovable voivat rakentaa sovelluksen muutaman lauseen pohjalta, hostata sen palvelimillaan, ja julkaista sen internetiin minuuteissa. Kehittäjän (tai kenen tahansa kiinnostuneen) ei tarvitse edes vilkaista koodia.

Vaikutukset softakehittäjien työhön

Nämä kehityksen tasot vaikuttavat merkittävästi siihen, miten kehittäjän arki muotoutuu. Siinä missä ennen iso osa työstä oli itse valitun ohjelmointikielen syntaksin kirjoittamista, nyt painopiste on siirtymässä:

  • Oikeiden kysymysten esittämiseen ja tekoälyn ohjaamiseen
  • Tulosten arviointiin ja laadunvarmistukseen
  • Debuggaukseen eli ongelmatilanteiden havaitsemiseen ja selvittämiseen, sekä kiperien ongelmatapausten korjaamiseen
  • Kompleksisten kokonaisuuksien hallintaan
  • Tietoturvan, tietosuojan ja regulaatioasioiden ymmärtämiseen sekä varmistamiseen

Mikäli ylläolevia asioita ei hoideta, on agenttipohjainen “softakehitys” niin kutsuttua vibakoodausta. Tällöin silminnähtävä tuote on jotain mahdollisesti toimivaa, mutta pinnan alla kytee todennäköisesti kasa ongelmia.

Kehittäjän rooli muuttuu - ei katoa

Parhaat kehittäjät ovat tulevaisuudessa joko syväosaajia tai moniosaajia. Syväosaajan työkalupakki on alueilla, joita ei voi joko antaa tekoälyn tehtäväksi tai johon ei löydy koulutusmateriaalia tekoälylle. Moniosaaja hallitsee tekoälymallien tetriksen, tiimityön ja kommunikaation, sekä pystyy ymmärtämään laajoja syy-yhteyksiä.

Lyhyellä aikavälillä meillä voi pian olla käsillä koneajassa vanhoja legacy-projekteja, jotka tekoäly on koodannut suohon. Tutkimusten mukaan tekoäly ei keskimäärin tuota hyvin ymmärrettävää, ylläpidettävää tai tehokasta koodia. Kysehän on nopeuden ja ylläpidettävyyden välisestä kamppailusta, jota on käyty jo ennen tekoälyäkin.

Lieveilmiöt ja liiketoiminnan muutos

Tekoälyn tuomien muutosten mukana tulee myös kysymyksiä ja haasteita. Huomaan ajattelevani seuraavan kaltaisia asioita, joihin minulla ei ole vastausta:

  • Rakennammeko tulevaisuudessa enemmän ja hienompia ratkaisuja samoilla resursseilla vai samankaltaisia ratkaisuja pienemmillä resursseilla?
  • Kiihtyykö kilpailu jos asioita saadaan aikaiseksi helpommin ja nopeammin?
  • Miten laadun käy? Pysyvätkö ohjelmistot ihmisten hallinnassa?
  • Kuka hallitsee kokonaisuutta, jos koodia syntyy automaattisesti?
  • Ehtivätkö kehittäjät tai arkkitehdit ymmärtää, validoida ja auditoida kaiken generoidun koodin? Tutkimusten mukaan toistaiseksi tekoälyn generoima koodi ei ole niin hyvää.


Miten eri kokoiset yritykset voivat hyödyntää AI:ta?
  • Korporaatiot voivat automatisoida laajoja prosesseja. Isoilla yrityksillä on paljon menetettävää ja suuria riskejä, mutta enemmän resursseja investoida tekoälyn käyttöön.
  • Startupit voivat saada aiempaa kovempaa kilpailuetua. Heillä on vähemmän menetettävää, joten he pääsevät lujaa.
  • Jääkö pienemmät yritykset jälkeen, jos niillä ei ole resursseja investoida tekoälyyn, eikä mahdollisuutta riskeerata?

Tekoäly tulee jakamaan yrityksiä kyvyttömiin ja kyvykkäisiin. AI:ta hyödyntämätön yritys ei välttämättä ole tuhoon tuomittu, vaan sekin voi olla erottautumistekijä. AI-kyvykkäillä yrityksillä on etulyöntiasema, mutta myös jatkuvasti muuttuva ja samassa kuormittava toimintaympäristö.

Roiku mukana, älä panikoi

Tekoäly muuttaa softakehitystä nopeammin kuin koskaan, mutta älä hätäile. Kuten William Gibson aikoinaan tavutti: "Tulevaisuus on jo täällä - se ei vain ole jakautunut tasaisesti." 

Esimerkiksi Anthropicin raportin mukaan tekoälyn käyttö on vielä hyvin vähäistä, etenkin IT-alan ulkopuolella. Pidä itsesi ajan tasalla ja seuraa trendejä. Ennen kaikkea kokeile uusia työkaluja. AI on tehokas työkalu, mutta se ei (vielä) korvaa inhimillistä harkintaa ja makua.


Jatketaan keskusteluja Linkedinissä! Voit myös halutessasi varata palaverin alla olevasta linkistä.

Palaveri Joonaksen kanssa