Skip to content

Tekoälyseuraa yksinäisille: Näin syntyi puhuva ja kuunteleva kaveri alle työpäivässä

Tässä on "Kamu". Kamu on tekoälypohjainen, heleällä naisäänellä puhuva ja kuunteleva keskustelukumppani yksinäisille ikäihmisille. Se pitää seuraa, kun illat venyvät pitkiksi. Se muistaa, jos aamulla on jo otettu lääkkeet, kertoo vitsejä tylsiin hetkiin ja muistelee menneitä yhdessä käyttäjänsä kanssa. Ja tämän tein minä. Minä, joka en osaa koodata. Ja tein sen alle työpäivässä. Tämä ei ole vain tarina yhdestä sovelluksesta vaan konkreettinen osoitus siitä, miten nopeasti ohjelmistokehitys on muuttumassa.


Kamu

Viikko sitten perjantaina juttelin työasioista erään #AtoZtyypin kanssa, mutta kuten meillä on tapana, keskustelu rönsyili myös henkilökohtaisiin aiheisiin. Työkaverillani oli idea tekoälytuotteesta, joka voisi helpottaa isoa ja kasvavaa ongelmaa – yksinäisyyttä. Asia oli hänelle henkilökohtainen: hänen oma isänsä, muistisairas ikäihminen, kamppaili yksinäisyyden kanssa.

Suomessa jopa joka kolmas ikäihminen kokee yksinäisyyttä. Usein puoliso on menehtynyt, lapset asuvat kaukana, ja päivät kuluvat TV:n ääressä odottaen, jos joku vaikka soittaisi. Eniten kaivataan juttuseuraa – kuuntelijaa ja keskustelukumppania.

Samaan aikaan radiossa puhuttiin, miten nuoret keskustelevat tekoälyn, kuten ChatGPT:n, kanssa ääneen. Tästä oli syntynyt ajatus: entä jos ikäihmisille olisi yhtä helppo, yksinkertainen tekoälyratkaisu kotona? Laite, jossa olisi vain nappi, mikrofoni, kaiutin ja verkkoyhteys. Yksinkertainen "purkki", joka kuuntelee ja vastaa.

Olen seurannut tekoälyn kehitystä eturintamassa ja nähnyt, miten nopeasti se mullistaa työtehtäviä ja kokonaisia toimialoja. Meidänkin alamme on murroksessa. Koodaus ei enää ole monopolisoitu vuosien teknisen koulutuksen käyneille asiantuntijoille. Nykyiset työkalut opastavat askel askeleelta taitamattomaampaakin. Koska en itse osaa koodata, olin juuri sopiva henkilö testaamaan. Halusin myös oppia ymmärtämään tätä koko toimialaamme koskevaa muutosta omakohtaisesti. Työkaverini idea oli juuri sopivan kokoinen haaste. Siispä ryhdyin tuumasta toimeen.

Ensiaskeleet kehitystyössä

Aloitin kehitystyön lataamalla Cursorin. En oikein tiennyt, mistä pitäisi lähteä liikkeelle, joten kerroin tämän Cursorille. Cursor pyysi minua kuvaamaan ongelman, jonka haluan ratkaista. Pienen pallottelun jälkeen päädyimme siihen, että järkevintä olisi toteuttaa koko projekti Android-sovelluksena. Pienellä rahalla saa ostettua yksinkertaisen kännykän, joka pystyisi pyörittämään keskustelukumppani-sovellusta. Sen voisi vaikka asettaa keittiön pöydälle virtajohdon varaan pyörittämään vain tätä yhtä sovellusta. Tämän päätettyämme teimme vaatimusmäärittelyt Cursorin kanssa, minkä jälkeen etenimme teknologiavalintoihin. Mielestäni minulla ei ollut näihin kompetenssia ottaa kantaa, joten valitsimme ne vaihtoehdot, jotka Cursor minulle suositteli – hyvin perustellusti kylläkin.




 

Seuraavaksi ladattiinkin jo Android Studio. Cursor opasti minut painallus painallukselta eteenpäin projektin perustamisessa ja loi tarvittavan tiedostorakenteen. Runko ensimmäiselle versiolle äpistä syntyi alle tunnissa aloituksesta. Minulla oli jo ensimmäinen versio emulaattorissa pyörivästä käyttöliittymästä. Loimme tekoälyllä hieman grafiikkaa käyttöliittymään ja tämän jälkeen päästiin hiomaan toiminnallisuuksia, kuten muistitoiminto. Olisihan hyödyllistä, että järjestelmä muistaa käydyt keskusteluhistoriat ja voi siten muistuttaa vaikka että ne aamulääkkeethän otettiin jo. Ensimmäisenä päivänä käytin sovelluksen kehitykseen aikaa ehkä 2h, josta ainakin puolituntia meni ensimmäisen raakileen vain ihmettelyyn emulaattoreilla. Minä sain aikaan jo jotenkin toimivan sovelluksen! Vielä varsinaisia keskusteluja ei tosin ollut mahdollista käydä.



Tekoäly toi sovelluksen eloon

Seuraavana iltana rakensimme puheentunnistus- ja puhesynteesitoiminnot sekä OpenAI-integraation. Cursor tarjosi tarvittavat koodinpätkät oikeisiin tiedostoihin, jotka kopioin ja liitin aiempien koodien tilalle. Myös API-avaimen luominen OpenAI:lle käytiin läpi vaihe vaiheelta – ja toki välillä piti vilauttaa luottokorttia, jotta sain krediittejä mallien käyttöä varten. Integraation jälkeen sovellukseni heräsi eloon, ja pääsin käymään oikeita keskusteluja. Tässä vaiheessa ilmainen Cursor alkoi hyytyä, joten päätin mennä nukkumaan ja palata asiaan myöhemmin maksullisen pro-version kanssa.

Myöhemmin testailin muutamaa eri mallia. Kustannustehokkuuden näkökulmasta päädyin viikonloppuna käyttämään GPT-4o-mallia, joka tarjosi selvästi parempaa keskustelulaatua kuin 3.5-malli – vaikka olikin hieman kalliimpi. Se oli silti huomattavasti edullisempi kuin täysi GPT-4-versio. Pääsin jo pohtimaan jatkokehitysideoita. Olisipa hienoa, jos sovellus voisi hakea tietoa suoraan verkosta ja käyttää sitä vastauksissaan. Pyörittelimme vaihtoehtoja Cursorin kanssa, mutta täysin ilmaista ratkaisua emme tähän löytäneet. DuckDuckGolla näytti olevan ainoa ilmainen API-rajapinta verkkohakuja varten, mutta se oli tarkoitettu vain ei-kaupalliseen käyttöön. Sen sijaan esimerkiksi Open-Meteo tarjosi ilmaisen rajapinnan säätietojen hakuun, ja tämän integraation onnistuimme toteuttamaan. Nyt kun kysyn sovellukselta huomisen säätä Tampereelle, se osaa vastata.

Tekoäly auttoi minua myös keksimään sovellukselle nimen. Parhaaksi ehdotukseksi nousi mielestäni "Kamu". Tekoälyllä luotiin lisäksi sovellukselle visuaalinen ilme ja käynnistysruutu. Jos päätän julkaista sovellukseni Play-kaupassa, Cursor lupasi ohjata minut läpi koko julkaisuprosessin. Sovellus on nyt enää lopullista testausta vaille valmis. Koko tähän mennessä tehty kehitystyö vei aikaa noin seitsemän tuntia. Alle työpäivän verran. Ja minä en osaa koodata.

Ohjelmistokehityksen uusi aika

Koko kehitysprosessi oli kuin ikkunan avaaminen uuteen maailmaan. Minä, joka en osaa koodata riviäkään, rakensin toimivan tekoälysovelluksen ja vieläpä näin nopeasti. Ei enää pitkiä kehityssyklejä, viikkokausien speksausta ja armotonta debuggausta. Nyt riittää idea, kunnollinen AI-työkalu ja ripaus uskallusta.

Samalla tämä oli pysäyttävä muistutus siitä, miten nopeasti koko ohjelmistokehityksen pelikenttä muuttuu. Pystyin tekemään jotain, johon vielä hetki sitten olisi tarvittu tiimi, budjetti ja viikkojen työ. Nyt se onnistui yhdeltä ihmiseltä, lähes ilmaisilla työkaluilla ja työpäivään mahtuvissa tunneissa.

Ja tämä muutos ei ole tulossa, se on jo täällä!

Toisaalta tämä herätti myös kysymyksiä. Mihin rooleihin meidän on enää järkevää kouluttaa ihmisiä, jos tekoäly hoitaa kohta suuren osan rutiinityöstä ja jopa luovasta ongelmanratkaisusta? Miten käy junior-koodaajille, joiden taidot ehtivät vanheta jo ennen kuin ensimmäinen työpaikka löytyy? Toivottavasti koulutusorganisaatiot ovat myös hereillä ja huomioivat muutoksen opetussuunnitelmissaan nopeasti.

Kokeneille asiantuntijoille ja niille, jotka ymmärtävät kokonaisuuksia, on jatkossakin kysyntää. Mutta kynnykset ovat liikkuneet. Ja jokaisen meistä kannattaa astua edes kerran tämän uuden työskentelytavan puolelle. Ei vain siksi, että se on mahdollista, vaan siksi, että se muuttaa tapaasi ajatella, mitä kaikkea tässä ohjelmistokehityksen uudessa ajassa voi saada aikaan.

Jos sinullakin on idea, mutta ei tiimiä tai teknistä osaamista, kokeile. Tai nykäise meitä hihasta, rakennetaan se yhdessä! Tämä ei ole enää rakettitiedettä. Tämä on tätä päivää.