tietokoneen näytöllä tekoälyyn viittaavia tekstejä

ChatGPT-työkalun hyödyntäminen ohjelmoinnissa

16.10.2023

Tekoäly tulee varmasti mullistamaan monta eri työelämän osa-aluetta, vaikutukset tulevat näkymään myös aloilla, joilla sitä ei välttämättä odoteta ollenkaan. Vaikka tekoälyä on jo hyödynnetty monella tavalla, ChatGPT oli ehkä ensimmäinen, joka toi sen hyödyt helposti saataville ja käytettäväksi lähes kaikille. Tarvitset vain internet-yhteyden ja sinulla oli pääsy valtavan määrän tietoa omaavaan tekoälyllä toimivaan apuriin. Tämän sovelluksen suosio antoi eräänlaisen lähtölaukauksen muille yrityksille ruveta tosissaan kilpailemaan näiden työkalujen kehityksessä. Ajan kuluessa käyttöön onkin tullut jo useita samankaltaisia työkaluja, joita käytetään jokaisen yrityksen omien, jo olemassa olevien palveluiden kautta. Pääosin nämä kaikki toimivat kuitenkin samalla perusteella eli tekoälyn kanssa käydyn keskustelun kautta.

Käytettävyys ohjelmoinnissa

Ohjelmointi oli yksi osa-alue, joka otti kyseiset työkalut vastaan avosylin. Sen sijaan, että ratkaisuja täytyisi etsiä itse keskustelupalstoilta ja verkkosivuilta, saatoit kysyä nyt suoraan kaverilta, joka osaa etsiä vastauksen sinulle sekunneissa. Valtaosa ohjelmoinnista kuitenkin on ratkaisujen etsimistä ja asioiden korjaamista, ja juuri näissä tehtävissä tekoälyllä toimivat apurit loistavat. Ei aikaisemmin ollut mahdollisuutta ottaa vain kopioita omasta koodista ja kysyä suoraan ”työkaverilta” mikä koodissa on vikana. Ei myöskään mennyt pitkään kunnes tällainen apuri oli suoraan saatavilla itse koodieditoriin, jolloin välistä voidaan vielä tiputtaa kokonaan erillisen verkkosivun käyttö. On siis helppoa huomata kuinka paljon tekoälyllä toimiva työkalu voi helpottaa ohjelmoinnin jokapäiväisiä työtehtäviä. Ajansäästö voi olla osaavissa käsissä valtava, koska näiltä työkaluilta on mahdollista saada täysin toimivaa koodia hyvin pienellä vaivalla.

Ohjelmoinnissa tekoäly on siis jo valtava apu kehittäjille. Se osaa kirjoittaa koodia, korjata sitä, ehdottaa vaihtoehtoisia ratkaisuja, selittää koodin toimintaa, dokumentoida koodia ja etsiä tietoa miksi joku ei mahdollisesti toimi oikein. Näiden työkalujen mahdollisuudet muillakin elämän osa-alueilla ovat hyvin suuret, moni onkin puhunut tästä tekoälyn nousujohteesta yhtä tärkeänä tapahtumana kuin internetin kehitys. Vaikka tekoäly käsitteenä onkin monta vuosikymmentä vanha, nykyinen kehitystahti on mahdollistunut vasta teknologian kehityksen myötä. Koneilla on jatkuvasti entistä enemmän laskentatehoa ja prosessointikykyä, joten näiden suurien työkalujen kouluttaminen valtavalla määrällä materiaalia onnistuu. Näitä työkaluja ollaan nyt tasaisesti tuomassa erilaisiin tietokoneella käytettäviin sovelluksiin, viimeiset uutiset koskivat Copilot-työkalun tuomista Windows-pohjaisiin koneisiin, eli ChatGPT:n kaltainen työkalu tulisi käytettäväksi suoraan käyttäjän tietokoneen työpöydältä.

Pelkkää plussaa?

Kaiken hehkutuksen ohella täytyy tekoälyn käyttöä kuitenkin tarkastella kriittisesti. Minkälaisiin algoritmeihin, tietoon ja mielipiteisiin tekoälyn vastaukset perustuvat? Tekoälyn koulutuksessa käytetään valtavia määriä mahdollisesti dynaamisesti muuttuvia aineistoja. Valta aineistojen valintaan ja käytettäviin algoritmeihin on tekoälyn kehittäjillä, ei esimerkiksi yksittäisillä ohjelmankehittäjillä. Aineistojen sisältö ei välttämättä ole tekoälyn kehittäjienkään hallinnassa. Tekoälyn tuottamat tulokset voivat siis olla hallitusti tai hallitsemattomasti arvolatautuneita tai suorastaan vääriä. Tämä onkin yksi asia, johon lainsäädäntö on pikkuhiljaa heräilemässä.

Yksi suuri ongelma on myös tiedon oikeellisuus. Työkalu saattaa antaa käyttäjälle täysin virheellistä tietoa hyvin vakuuttavalla tavalla, eikä käyttäjällä välttämättä ole mitään valmiuksia huomata tätä virhettä. Viime aikoina on uutisoitu paljon siitä, että vaikuttaa siltä kuin näiden työkalujen ratkaisumahdollisuudet olisivat jatkuvasti heikkenemään päin. Uusimmat versiot voivat selata verkkoa käyttäjän tavoin ja etsiä uusimpia ratkaisuja. Tästä voi kuitenkin syntyä huolestuttava kierre, jos verkkoon syötetään jatkuvasti virheellistä tekoälyn tuottamaa tietoa, jota se sitten antaa takaisin käyttäjälle. Tässä astuu mukaan käyttäjältä vaadittu kriittinen lukeminen ja tiedon tarkistaminen, mitä toisaalta tulisi harjoittaa jo muutenkin verkkoa selatessa.

Ohjelmointiapurina tekoälyyn voi liittyä ainakin seuraavia haasteita. Nämä haasteet eivät tee tekoälystä hyödytöntä ohjelmointityökalua, mutta ne on syytä tiedostaa:

  • Tekoälyn ymmärrys ratkaistavan ohjelmointiongelman erityispiirteistä sekä halutun ratkaisun tarkentumisesta ja reunaehdoista rajautuu sen käytettävissä olevaan tietoon
  • Tiedon jakaminen tekoälyn kanssa voi sisältää riskin sen vuotamisesta kolmansille osapuolille.
  • Väärinymmärretyn ongelman selittäminen tekoälylle kehystää ongelman virheellisesti ja johtaa väärään ratkaisuun
  • Tekoälyn sokea hyödyntäminen voi tuottaa virheellistä, haavoittuvaista tai suorituskyvyltään heikkoa koodia.

Tekoäly ei syrjäytä tarvetta osaamiselle ja koodin kriittiselle tarkastelulle.  Tekoälyn tuottama koodi ei myöskään noudata kehitystiimin yhteisesti sopimia käytänteitä. Kysymyksiä voi liittyä myös parhaiden ja edistyksellisimpien tekoälytyökalujen hintaan.

Tulevaisuudennäkymiä

Kehityksessä ollaan vasta alkuaskelissa. Tulevaisuudessa tekoäly tulee varmasti mullistaan ihmisen elämän osa-alueita monilla tavoin, kun näitä työkaluja kehitetään ja lisää sovellettavia kohteita löytyy. Toivottava on, että kehityksen myötä työkaluista saadaan kitkettyä suurimpia ongelmia pois ja että ne tulevat lähinnä parantamaan ihmisten elämänlaatua. Tässä vaiheessa on vielä vaikea sanoa, onko tässä kyseessä yhtä suuri mullistus kuin internetin keksiminen. Uskon, että vain aika näyttää, mitä kaikkea tämä kehityskulku tuo tullessaan.

Lähteet

Kirmonen, J. 2023. OpenAI GPT-3.5 -tekoälyn käyttö ohjelmoinnin tukena – Theseus, Turun ammattikorkeakoulun opinnäytetyö.