Siirry sisältöön
Blogi

Generatiivinen tekoäly osana ohjelmistokehitystä

Moni ala on kokenut isompia tai pienempiä muutoksia generatiivisen tekoälyn kehityksen ja käytön yleistymisen myötä. Voisi kuvitella, että nykyään ohjelmistokehityksessä kaikki sisältö generoidaan kirjoittamalla syötteitä, mutta ei asia ihan näin ole. Tässä kirjoituksessa keskityn tarkastelemaan hyväksi havaitsemiani käyttötapoja ohjelmistokehityksen eri vaiheista.

Kuvassa on blogiartikkelin kirjoittajan profiilikuva sekä blogiartikkelin otsikko.

Tiedonhaku

Ohjelmiston kehityssuunnitelman pohjaksi tehtävässä tiedonhaussa ja valmistelevassa työssä tekoäly on tehokas apuväline. Esimerkiksi kehityksessä hyödynnettävien työkalujen ja palveluiden listaaminen ja vertailu onnistuu näppärästi niillä mittareilla, jotka kehitettävälle ohjelmistolle ovat oleellisia. Näiden ominaisuuksista ja toiminnoista esitettävät kysymykset auttavat myös kartoittamaan mahdollisia ratkaisuja kehittämiseen. Varsinkin tässä kohtaa pitää muistaa tarkistaa väittämät aikaisin, ennen kuin aletaan rakentamaan kehityssuunnitelmaa, vaikka tekoäly niitä vakuuttavasti esittäisikin faktoina. Lisäksi muita tiedonhakukanavia ei pidä unohtaa: tekoäly ei ole niitä korvannut, vaan toimii siinä rinnalla.

Suunnittelu

Ideoita on hyvä pyöritellä tekoälyllä, kun hahmotellaan kokonaisuutta, puntaroidaan eri toteutustapoja ja sovitetaan ratkaisuja yhteen. Samalla saattaa syntyä uusia ideoita. Tarvittaessa voidaan pureutua tarkemmin ohjelmiston tiettyihin osa-alueisiin ja hahmotella esimerkiksi tietorakenteita ja tiedonsiirron toteutusta. Tässä pitää silti muistaa, että tekoäly toimii vain apuvälineenä. Kehityssuunnitelmadokumentteihin kirjattavia toteutuksia varten päätöksen tekevät asiantuntijat, varmistettuun tietoon ja kokemukseen pohjautuen.

Perehdyttäessä ulkopuolisiin palveluihin, sovelluksiin tai avoimen lähdekoodin projekteihin on usein parempi tutustua heti kehittäjien virallisiin dokumentaatioihin ja oppaisiin. Tekoälyn tarjoama tieto näistä on välillä vanhentunutta, kun niiden toimintaan on tullut muutoksia uusien päivitysten myötä.

Ohjelmointi

Koodin tuottaminen sujuu tekoälyltä mallikkaasti ohjelmointikielestä riippumatta, mutta se kannattaa pitää niin sanotusti lyhyessä hihnassa, jotta kontrolli pysyy käyttäjällä. Tässä vaiheessa kehityssuunnitelma on jo tehty, joten ohjelmoija etenee sen mukaisesti, yksi ohjelmiston osa-alue ja toiminnallisuus kerrallaan. Kun koodia generoidaan pienissä osissa eli yksittäisinä funktioina, käyttäjän on helppo muotoilla syöte tekoälylle: mitä tietoa funktioon syötetään, mitä saadaan ulos sekä suoritettavat operaatiot. Lisäksi tällä tavalla yksittäiset syötteet pysyvät suppeina ja generoitu koodi on yleensä hyvin lähellä sitä, mitä ohjelmoija olisi itse tehnyt.

Tekoälyä olisi mahdollista käyttää myös suoraan ohjelmointiympäristöön integroituna, esimerkiksi Github Copilotin avulla. Tämä tarjoaa ominaisuuksia, kuten automaattisia lisäysehdotuksia koodiin, tiedostotyyppeihin ja kontekstiin pohjautuvia muokkausehdotuksia sekä chat-keskustelun. Suora integraatio-ohjelmointi ympäristöön herättää myös kysymyksiä: paljonko tietoa jaetaan, kenellä siihen on pääsy ja kuinka se on suojattu? (Treude & Gerosa 2025.)

En väitä, että nämä olisivat parhaita tai ainoita tapoja käyttää tekoälyä osana ohjelmistokehitystä. Oleellisena pidän sitä, että kehittäjä löytää omiin työ- ja ajattelutapoihinsa parhaiten soveltuvia keinoja sen hyödyntämisessä. Kaikkea tekemistä ei tekoälyllä voi vielä korvata, mutta se tarjoaa kehitykseen uusia lähestymistapoja ja oikein käytettynä mahdollistaa aiempaa tehokkaamman työnteon.

Lähteet

Treude, C. & Gerosa, M. A. 2025. How Developers Interact with AI: A Taxonomy of Human-AI Collaboration in Software Engineering. IEEE/ACM Second International Conference on AI Foundation Models and Software Engineering (Forge), 236-240. Saatavissa: 10.1109/Forge66646.2025.00033.

Sami Salo

TKI-asiantuntija

+358407299959

Ylivieska