scieee AI-readable full text Open interactive document viewer

Generatiivisen tekoälyn käyttö ja etiikka ohjelmistokehityksessä

Tuomisto, Tiina

Full text

Tiina Tuomisto Generatiivisen tekoälyn käyttö ja etiikka ohjelmistokehityksessä Tietotekniikan pro gradu -tutkielma 14. marraskuuta 2024 Jyväskylän yliopisto Informaatioteknologian tiedekunta Kokkolan yliopistokeskus Chydenius Tekijä: Tiina Tuomisto Yhteystiedot: [email protected].fi Puhelinnumero: - Ohjaaja: Lasse Harjumaa Työn nimi: Generatiivisen tekoälyn käyttö ja etiikka ohjelmistokehityksessä Title in English: The use and ethics of generative artificial intelligence in software development Työ: Tietotekniikan pro gradu -tutkielma Sivumäärä: 93+5 Tiivistelmä: Generatiivisia tekoälytyökaluja käytetään yhä useammin työskentelyn tukena. Ne tehostavat monenlaisten tehtävien tekoa, jolloin niitä voidaan hyödyntää laajalti eri toimialoilla. Niihin liitetään myös monia haasteita, joista osa on eettisiä. Tässä tutkielmassa tarkastellaan tietotekniikan ammattilaisten kokemuksia generatiivisten tekoälytyökalujen käytöstä ohjelmistokehityksessä. Tutkielma hahmottaa työkalujen tyypillisiä käyttökohteita, hyötyjä ja haittoja. Samalla tarkastellaan myös tekoälyn eettisten periaatteiden tunnettavuutta ja eettisten ongelmien esiintyvyyttä. Tutkimusaineisto kerättiin kvalitatiivisella puolistrukturoidulla haastattelulla, jossa on teemahaastattelun piirteitä. Yksilöhaastattelut järjestettiin yhdeksälle henkilölle ja ne toteutettiin 9.5.-6.6.2024 välisenä aikana etähaastatteluina. Litteroidun haastatteluaineiston käsittely perustui ankkuroituun teoriaan, jonka avulla siitä tunnistettiin erilaisia teemoja. Tutkimuskysymyksiin vastattiin löydettyihin teemoihin nojautuen. Tuloksista ilmenee, että työkaluja voidaan käyttää monenlaisiin tehtäviin, vaikka pääasiassa niiden käyttö kohdistuu ohjelmistokehityksen toteutus- ja testausvaiheisiin. Työkalujen hyödyt liittyvät erityisesti työnteon sujuvoittamiseen ja haasteet niiden tuottamien vastausten laatuun ja luotettavuuteen. Eri työkalujen vastausten laadussa on myös eroja ja siihen voi myös vaikuttaa suoritettava tehtävä sekä ohjelmointikieli. Tulokset havainnollistavat, että tekoälyn eettiset ohjeet ovat pääasiassa tuntemattomia, mutta niihin liittyvät eettiset periaatteet ovat tuttuja käsitteitä. Koetut eettiset ongelmat liittyivät erityisesti läpinäkyvyyteen ja selitettävyyteen, tietoturvallisuuteen, vastausten toistuvuuteen ja työkalujen aiheuttamaan eriarvoisuuteen. Tulokset havainnollistavat tietotekniikan ammattilaisten kokemuksia generatii- visten tekoälytyökalujen käytöstä. Työ tuo esille työkalujen potentiaalisia hyötyjä ja haittoja, joita tietotekniikan ammattilaiset saattavat kohdata, kun he käyttävät niitä ohjelmistokehityksessä. Avainsanat: generatiivinen tekoäly, etiikka, ohjelmistokehitys Abstract: Generative artificial intelligence tools can be used in various tasks and they are increasingly used to support workflows in different industries. Unfortunately, they are also associated with many challenges. This thesis examines the use of generative artificial tools among information technology professionals in software development. The typical uses, benefits, drawbacks and ethics of these tools are examined and discussed. The research was conducted via qualitative semi-structured interviews. The nine individual interviews were carried out remotely between May 9 to June 6, 2024. Grounded theory method was used to identify various themes from the interviews to answer the research questions. The results show that these tools can be used to streamline different tasks but they produce unreliable and low-quality answers that are affected by the tool, task and programming language. Though the ethical guidelines of artificial intelligence were mainly unknown, their principles were familiar to the interviewees. The encountered ethical problems were related to transparency and explainability, information security, repetition of answers and inequality. The results highlight the experiences of information technology professionals who are familiar with generative artificial intelligence tools. This thesis showcases the potential and encountered benefits and drawbacks of these tools when they are used in software development. Keywords: generative artificial intelligence, ethics, software development Copyright © 2024 Tiina Tuomisto All rights reserved. ii Esipuhe Haluan kiittää ohjaajaani, Lasse Harjumaata, joka on antanut aktiivisesti neuvoja ja ehdotuksia tutkielman teon aikana. Tämän lisäksi haluan kiittää yrityksiä, jotka vastasivat haastattelupyyntööni ja edistivät haastatteluehdokkaiden etsintää. Haluan kiittää erityisesti myös tutkimukseeni osallistuneita haastateltavia, jotka kiireistään huolimatta osallistuivat tutkimukseeni. Haluan kiittää haastateltavia myös vinkeistä, avartavista ja mielenkiintoisista näkökulmista sekä kiinnostuksesta tutkielman aihetta kohtaan. i Sanasto AI HLEG High-Level Expert Group on Artificial Intelligence Euroopan komission määräämä korkean tason asiantuntijaryhmä, joka on tehnyt luotettavalle tekoälylle eettiset ohjeet. GAN Generative Adversial Network (suom. Generatiivinen kilpaileva verkosto) Generatiivinen malli, joka voi toimia generatiivisen tekoälyn perustana. Luo sisältöä kahden kilpailevan verkon avulla. GenAI Generative Artificial Intelligence (suom. Generatiivinen tekoäly) Tekoäly, jonka avulla voidaan luoda uutta sisältöä sen koulutusdataan pohjauten. NLP Natural Language Processing (suom. Luonnollisen kielen käsittely) Koneiden kyky käsitellä ihmisten käyttämiä kieliä. Sitä hyödynnetään monissa tekoälysovelluksissa tekstin luomiseen ja ymmärtämiseen. Suuret kielimallit Large Language Models, LLM Malleja, jotka suorittavat luonnollisten kielten käsittelytehtäviä. Ne ovat usein generatiivisten tekoälytyökalujen pohjana. Koska ne ymmärtävät tekstiä, ne tuottavat erilaista sisältöä sen perusteella. Transformer-malli Transformer-model Generatiivinen malli, jota käytetään suuriin kielimalleihin pohjautuvien tekoälytyökalujen perustana. Se pystyy käsittelemään luonnollisia kieliä. VAE Variational auto-encoder (suom. variationaalinen autoenkooderi) Generatiivinen malli, joka voi toimia generatiivisen tekoälyn perustana. Se käyttää todennäköisyysjakaumaa, enkooderia ja dekooderia sisällön tuottamiseksi. ii Sisällys Esipuhe i Sanasto ii 1 Johdanto 1 2 Generatiivinen tekoäly 4 2.1 Koneoppiminen, syväoppiminen ja generatiiviset mallit . . . . . . . . 4 2.2 Generatiivisen tekoälyn käyttömahdollisuudet . . . . . . . . . . . . . 8 2.3 Yhteenveto.................................. 9 3 Ohjelmistokehitys 11 3.1 Generatiivisen tekoälyn käyttö ohjelmistokehityksessä . . . . . . . . 13 3.2 Ohjelmistokehityksessä käytettävät GenAI-työkalut . . . . . . . . . . 20 3.3 GenAI-työkalujen käytön hyödyt ja haasteet . . . . . . . . . . . . . . 22 3.4 Yhteenveto.................................. 29 4 Etiikka 31 4.1 Generatiivisen tekoälyn etiikka . . . . . . . . . . . . . . . . . . . . . . 32 4.2 Ohjelmistokehityksen etiikka suhteessa tekoälyn etiikkaan . . . . . . 39 4.3 Yhteenveto.................................. 44 5 Tavoitteet ja aineiston käsittely 46 6 Tulokset 51 6.1 GenAI-työkalujen käyttökohteet ohjelmistokehityksessä . . . . . . . 52 6.2 GenAI-työkalujen hyvät ja huonot puolet . . . . . . . . . . . . . . . . 56 6.2.1 GenAI-työkalujen hyödyt . . . . . . . . . . . . . . . . . . . . . 57 6.2.2 GenAI-työkalujen haitat . . . . . . . . . . . . . . . . . . . . . . 58 6.3 GenAI-työkalut ja etiikka . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.3.1 Tekoälyn eettiset ohjeet yrityksissä . . . . . . . . . . . . . . . . 61 6.3.2 GenAI-työkalujen eettiset ongelmat . . . . . . . . . . . . . . . 63 iii 6.4 Yhteenveto.................................. 67 7 Johtopäätökset ja pohdinta 71 7.1 Rajoitteet ja tutkimuksen aikana todetut haasteet . . . . . . . . . . . . 75 7.2 Mahdollisia jatkotutkimusaiheita . . . . . . . . . . . . . . . . . . . . . 76 7.3 Yhteenveto.................................. 77 Lähteet 79 Liitteet A Haastattelukutsu 94 B Tietosuojailmoitus 95 C Haastattelurunko 96 iv 1 Johdanto Generatiivinen tekoäly (engl. Generative Artificial Intelligence, GenAI) on yksi merkittävimmistä viime vuosien teknologisista saavutuksista. Sen kyky tuottaa sisältöä, kuten tekstiä, kuvia, ääniä ja videoita tekee siitä kiehtovan apuvälineen monenlaisiin tarkoituksiin. Tämän lisäksi GenAI-työkalut ovat helppokäyttöisiä, koska ne ymmärtävät usein ihmisten käyttämiä luonnollisia kieliä ja niiden käyttö voi muistuttaa ihmisten välistä keskustelua. Koska monet GenAI-työkalut voivat luoda useanlaista sisältöä ja ne ovat usein helppokäyttöisiä, niitä voidaan käyttää monipuolisesti eri tehtävissä työskentelyn tehostamiseksi. Ei siis ole yllättävää, että GenAI-työkalut ovat tulleet lisääntyvässä määrin osaksi myös työelämää. Useita GenAI-työkaluja voidaan käyttää ohjelmistojen kehityksessä. Työkalut voivat olla tarkoitettu sepsifisiin tehtäviin, kuten ohjelmointiin, tai ne ovat yleiskäyttöisiä, jolloin ne tukevat monenlaisten tehtävien tekoa. Niiden avulla voidaan tukea useita ohjelmistokehityksen vaiheita, kuten Özpolat et al. [143] tekemä tutkimus osoittaa ChatGPT:n käytöstä ohjelmistokehityksessä. Tällöin kaikki käyttäjät, riippumatta heidän kokeneisuudestaan, voivat hyötyä niiden käytöstä. Vaikka GenAI-työkaluja voidaan hyödyntää laaja-alaisesti ohjelmistokehityksessä, niihin liittyy myös paljon ongelmia, joista monet liittyvät etiikkaan. GenAI-työkalujen potentiaalisten eettisten ongelmien takia useat tahot ovat laatineet eettisiä ohjeita tekoälyjärjestelmien kehittäjille ja käyttäjille. Tästä on esimerkkinä Euroopan komission perustama tekoälyä käsittelevä korkean tason asiantuntijaryhmä (engl. High-Level Expert Group on Artificial Intelligence, AI HLEG), joka on tehnyt eettiset ohjeet [2] luotettavien tekoälyjärjestelmien kehittämiseksi. Erilaisten eettisten ohjeiden ja periaatteiden noudattaminen ei kuitenkaan ole helppoa, sillä Ryanin ja Stahlin [110] mukaan ne eivät anna riittävästi neuvoja käytäntöön periaatteiden toteuttamiseksi. Tällöin IT-alan ammattilaiset voivat törmätä erilaisiin eettisiin ongelmiin GenAI-työkalujen käytön aikana. Koska GenAI-työkaluja voidaan teoriassa käyttää useanlaisiin tehtäviin, tutkielmassa selvitetään tyypillisempiä GenAI-työkalujen käyttökohteita ohjelmistokehityksessä. Samalla tarkastellaan myös IT-alan ammattilaisten kokemuksia ja mielipiteitä GenAI-työkalujen hyödyistä ja haitoista sekä tekoälyn eettisten ohjeiden tun- 1 nettavuudesta ja eettisten ongelmien esiintyvyydestä. Näiden perusteella tutkielman tutkimuskysymykset ovat: 1. Mihin ohjelmistokehityksen työtehtäviin GenAI-työkaluja käytetään käytännössä? 2. Mitkä ovat GenAI-työkalujen koetut hyödyt ja haitat? 3. Miten tekoälyyn liittyvät eettiset ohjeet huomioidaan GenAI-työkaluja käytettäessä? 3.1. Onko eettisiin ongelmiin törmätty GenAI-työkaluja käytettäessä? Tutkimusmenetelmänä käytettiin kvalitatiivista puolistrukturoitua haastattelua, jossa on teemahaastattelun ominaisuuksia. Haastattelukutsu lähetettiin IT-alan yrityksille, joilla on toimipiste Pirkanmaalla. Yksilöhaastatteluihin osallistui yhteensä yhdeksän henkilöä ja ne järjestettiin 9.5.-6.6.2024 välisenä aikana etähaastatteluina. Tämän jälkeen tutkimusaineisto litteroitiin ja sitä käsiteltiin ankkuroitu teoriamenetelmää (engl. Grounded Theory Method, GTM) soveltaen. Tutkimuskysymyksiin vastattiin GTM:n avulla löydettyjen teemojen perusteella. Tutkielman tulosten perusteella voidaan todeta, että GenAI-työkaluja käytetään erityisesti ohjelmointiin, testaukseen, tiedonhakuun, ongelmanratkaisuun ja erilaisiin tekstinkäsittelytehtäviin. Pääasiassa niitä käytetään siis ohjelmistojen toteutus- ja testausvaiheissa. Haastateltavat löytävät GenAI-työkalujen käytöstä myös useita hyötyjä ja haittoja. Niiden hyödyt liittyvät erityisesti erilaisten tehtävien sujuvoittamiseen, kun taas haitat liittyvät vastausten epäluotettavuuteen ja laaduttomuuteen. Tutkimuksessa kuitenkin huomataan eroja GenAI-työkalujen kyvyissä tuottaa laadukkaita vastauksia tehtävästä sekä ohjelmointikielestä riippuen. Tuloksista myös ilmenee, että tekoälyn eettiset ohjeet ovat pääasiassa haastateltaville tuntemattomia, mutta niihin liittyvät periaatteet ovat heille entuudestaan tuttuja käsitteitä. Vastauksista tulee myös esille, että eettisiä periaatteita ei juurikaan huomioida GenAI-työkaluja käytettäessä, jolloin eettisyys voi jäädä täysin käyttäjien pohdittavaksi. Monet haastateltavat ovat myös kohdanneet eettisiä ongelmia, mutta niiden luokittelu eettiseksi ongelmaksi voi olla haasteellista. Eettiset haasteet liittyvät erityisesti työkalujen läpinäkyvyyteen ja selitettävyyteen, tietoturvallisuuteen, vastausten toistuvuuteen sekä työkalujen aiheuttamaan eriarvoisuuteen. Tutkielma antaa siis käsityksen eettisistä haasteita, joita IT-alan ammattilaiset saattavat kohdata GenAI-työkaluja käyttäessään. Luvussa 2 annetaan yleistietoa generatiivisesta tekoälystä sekä miten se nivoutuu koneoppimiseen ja syväoppimiseen. Tämän jälkeen luvussa 3 havainnolliste- 2 että keskustelu ihmisen ja GenAI:n välillä on usein iteratiivinen, jossa kehotteita muokataan uudestaan laadukkaamman vastauksen saamiseksi. Työkalujen koulutusdatan kattavuus ja keskustelunomainen käyttö tekee GenAI-työkaluista helppokäyttöisiä työkaluja erilaisiin tehtäviin. GenAI-työkalujen on todettu helpottavan monenlaisten tehtävien tekoa ja sen käyttöä on kokeiltu eri toimialoilla. Ne voivat edistää opiskelua ja tutkimustyötä, tukemalla kirjoittamista [88] ja tieteellistä tutkimusta [6]. Marzuki et al. [88] totesivat GenAI-työkalujen parantavan vieraalla kielellä tehtyjä kirjoituksia esimerkiksi selkeyttämällä tekstin rakennetta ja tarjoamalla sanaehdotuksia. GenAI-työkalut tukevat usein työntekoa antamalla käyttäjilleen myös lisätietoa ja neuvoja. Niiden käyttö muistuttaakin hakukoneiden käyttöä. Ne voivat olla hyvä tuki ongelmanratkaisussa, kuten Urban et al. [122] mainitsevat, että niiden avulla tuotetut ratkaisut voivat olla luovempia ja paremmin laadittuja kuin ihmisten tuottamat ratkaisutavat. Myös Limna ja Kraiwanit [79] mainitsevat ChatGPT:n auttavan ongelmanratkaisussa sekä kielten tulkkauksessa, jolloin se avustaa myös asiakaspalvelussa. Limnan ja Kraiwanitin [79] mukaan ChatGPT voi antaa neuvo- ja myös työn aikatauluttamiseen ja työnkulun organisointiin, jolloin GenAI-työkalut tukevat monipuolisesti työntekijöiden työskentelyä. GenAI-työkaluja voidaan myös hyödyntää matemaattisissa tehtävissä [130], talousasioissa [78] ja luovissa tehtävissä [83]. Niiden käyttöä on myös pohdittu terveydenhuollon tehtäviin, kuten sairausdiagnoosien tekoon [15, 49] ja mielenterveyshäiriöiden hoitoon [23]. GenAI- työkaluilla on siis käyttöpotentiaalia monenlaisissa tehtävissä riippumatta toimialasta. 2.3 Yhteenveto Generatiivisella tekoälyllä tarkoitetaan tekoälyä, joka tuottaa uutta sisältöä, kuten tekstiä, kuvia tai ääntä koulutusdatansa pohjalta. Monet generatiiviset mallit ovat kuitenkin kehittyneet vasta 2010-luvun jälkeen, joten uuden sisällön tuotto GenAI- työkalujen avulla sekä työkalujen käytön yleistyminen eri toimialoilla on melko uusi ilmiö. Kuvassa 2.5 esitetään pelkistetysti GenAI:n pohjautuminen koneoppimiseen ja syväoppimiseen. GenAI perustuu erilaisiin generatiivisiin malleihin, joista erityisesti transformer-mallit ovat monien suurten kielimallien ja GenAI-työkalujen perustana. Kuva 2.5 on yksinkertaistettu, eikä siinä näytetä suurten kielimallien suhdetta 9 NLP:hen. GenAI-työkalujen käyttöpotentiaaliin vaikuttaa erityisesti niiden koulutusdata, jonka tulee olla riittävän kattavaa laadukkaiden vastausten saamiseksi. Kuten Raiaan et al. [108] kertovat, GenAI-työkalujen opettamiseen käytetään runsaasti dataa, jota kerätään monenlaisista lähteistä. Kun GenAI-työkalujen kolutusdata on kattava ja niiden käyttö muistuttaa keskustelua, ne ovat helppokäyttöisiä työkaluja, joita voidaan käytää erilaisissa tehtävissä. Koneoppiminen Syväoppiminen Tekoäly GenAI Generatiiviset mallit ja suuret kielimallit Neuroverkot Ohjattu oppiminen, ohjaamaton oppiminen ja vahvistusoppiminen Kuva 2.5: GenAI:n luokittelu. GenAI-työkalut tukevat erilaisia NLP-tehtäviä, kuten kirjoitusta [6, 88] ja kielten tulkkausta [79]. Ne tukevat myös luovaa työskentelyä [83], ongelmanratkaisua [79, 122] ja antavat tarvittaessa käyttäjilleen myös lisätietoa, kuten Limnan ja Kraiwanitin [79] tutkimuksessa todetaan. Hyödyllisten ominaisuuksiensa ansiosta niitä voidaan käyttää monipuolisesti eri toimialoilla. 10 3 Ohjelmistokehitys GenAI-työkaluja voidaan käyttää ohjelmistokehityksessä erilaisiin työtehtäviin. Özpolat et al. [143] mukaan niiden avulla voidaan tehostaa ohjelmistokehitystä antamalla käyttäjille esimerkiksi neuvoja ja ideoita, mutta niiden avulla pystytään myös kirjoittamaan tekstiä ja luomaan koodia. GenAI-työkaluja voidaan siis hyödyntää ohjelmistokehityksen jokaisessa vaiheessa. Ohjelmistokehitys voi tapahtua usealla eri tavalla riippuen projektin suuruudesta ja luotavasta ohjelmistosta. Eri ohjelmistokehitysmenetelmät sopivat erilaisiin projekteihin, jolloin menetelmä voidaan valita kehitettävän ohjelmiston mukaisesti. Riippumatta siitä valitaanko menetelmäksi esimerkiksi perinteinen vesiputousmalli, prototyyppimalli tai ketterämenetelmä, kuten scrum, niissä esiintyy samoja tehtäviä ja tavoitteita. Alin [5] ja Despan [24] löytämiä ohjelmistokehityksen vaiheita ja tehtäviä esitetään taulukossa 3.1. Vaikka Alin [5] ja Despan [24] esittämissä vaiheiden nimissä ja niiden sisältämissä tehtävissä on pieniä eroja, oleelliset tehtävät tapahtuvat pääasiassa samassa järjestyksessä. Taulukon 3.1 numerojärjestys esittää vaiheiden tyypillistä läpikäyntijärjestystä, vaikka se voi muuttua käytettävän ohjelmistokehitysmallin mukaan. Luvussa 3.1 tarkennetaan, miten GenAI-työkaluja voidaan käyttää ohjelmistokehityksen eri vaiheiden työtehtävissä. Luvussa 3.2 perehdytään usein tutkittuihin GenAI-työkaluihin ja niiden käyttökohteisiin. GenAI-työkalujen on todettu helpottavan ja nopeuttavan työskentelyä, mutta niihin liittyy myös paljon haasteita. Vaikka työkalun on kerrottu soveltuvan tiettyyn käyttötarkoitukseen, tutkimuksista [53, 17, 48] huomataan, että GenAI- työkalut suorittavat tehtäviä eritasoisesti. Tietämättömyys GenAI-työkalujen vastausten laadukkuudesta saattaa vaikeuttaa sopivan työkalun valintaa. Koska työkalujen hyödyistä ja haitoista on tehty paljon tutkimuksia [46, 82, 143], niitä esitellään tarkemmin luvussa 3.3. Työkalujen tunteminen on tärkeää, koska työkalujen ominaisuuksissa ja kyvyissä on eroja. Tämän takia ohjelmistokehittäjien tulisi tiedostaa työkalujen hyödyt ja haitat, jotta he pystyvät valitsemaan itselleen parhaimman työkalun. 11 Taulukko 3.1: Ohjelmistokehityksen vaiheita, lähteistä [5, s.15] ja [24, s.39–41]. Vaihe Pääpiirteet 1. Suunnittelu Riskien tunnistus Toteutettavuuden arviointi Laadunvarmistuksen vaatimukset 2. Vaatimusten määrittely Vaatimusten määrittely Vaatimusten varmistaminen 3. Arkkitehtuuri Ohjelmiston arkkitehtuurin suunnittelu Ulkoasun suunnittelu Tietokannan suunnittelu 4. Toteutus Ohjelmiston ohjelmointi Ohjelmiston rakennus 5. Testaus Kehitetyn tuotteen tarkistus Ohjelmistovirheiden etsintä, raportointi ja korjaus 6. Käyttöönotto Käyttöönotto tarkoitetussa ympäristössä Testaaminen tarkoitetussa ympäristössä 7. Ylläpito Toiminnan valvonta Uusien ominaisuuksien käyttöönotto 12 3.1 Generatiivisen tekoälyn käyttö ohjelmistokehityksessä Generatiivista tekoälyä voidaan käyttää monessa ohjelmistokehityksen vaiheessa ja työtehtävässä. Özpolat et al. [143] totesivat, että ChatGPT:n antamat vastaukset voivat sisältää virheitä, mutta se on silti hyödyllinen työkalu ohjelmistokehityksessä. Generatiivisiin tekoälytyökaluihin liittyvistä haasteista huolimatta, niiden on todettu edesauttavan erilaisissa ohjelmointiongelmissa [36, 104]. Niiden avulla voidaan myös automatisoida toistuvia tehtäviä, kuten dokumentaatiota [44, 104], ohjelmointia [44, 104] ja yksikkötestaamista [42, 104]. Niiden käyttöä on pohdittu myös käyttöliittymien ja käyttäjäkokemuksen parantamisessa [44] sekä ohjelmistojen automaattisessa penetraatiotestauksessa [16]. Vaikka generatiivista tekoälyä voidaan soveltaa monissa ohjelmistokehityksen vaiheissa, sitä on tutkittu erityisen paljon ohjelmoinnissa, ohjelmointivirheiden korjauksessa ja ohjelmien testauksessa. GenAI-työkalujen hyötynä on erilaisten neuvojen ja lisätietojen antaminen, jolloin se on hyvä tuki suunnittelussa ja ideoinnissa. Özpolat et al. [143] totesivat, että ChatGPT antaa hyödyllisiä neuvoja useisiin ohjelmistokehityksen vaiheisiin, kuten kaaviokuvien täydentämiseen ja se pystyy ohjeistamaan ohjelmistokehityksen eri vaiheisiin kuuluvia työtehtäviä. Tämän lisäksi Giunti ja Doherty [36] toteavat ChatGPT:n antavan hyviä neuvoja myös ohjelmointiin ja ohjelmointiympäristön asentamiseen. Koska suuriin kielimalleihin pohjautuvilta GenAI-työkaluilta voidaan kysyä monia erilaisia kysymyksiä, ne pystyvät antamaan käyttäjälle lisätietoa eri aihealueista ja lisäämään käyttäjän luovaa työskentelyä tuomalla esille uusia näkökulmia. GenAI-työkaluja voidaan käyttää ideointiin, ohjelmiston suunnitteluun ja tiedonhakuun. Vaatimusmäärittely vaikuttaa merkittävästi ohjelmistojen onnistumiseen. Jos siitä jää puuttumaan merkittäviä vaatimuksia tai ne ovat epäselvästi määriteltyjä, kehittäjien sekä asiakkaan välille voi syntyä väärinymmärryksiä ja ohjelmiston kehitys voi epäonnistua. Useat tutkimukset ovat todenneet suurten kielimallien helpottavan vaatimusten keräystä [3, 19] ja täydentämistä [84]. Vaatimuksia voidaan esittää myös käyttäjätarinoiden muodossa, joiden teossa on tutkittu ChatGPT:n käyttöä positiivisin tuloksin [87, 99]. Generatiivisen tekoälyn käyttöä on tutkittu myös dokumentaatioon liittyvissä tehtävissä. Useat GenAI-työkalut pohjautuvat suuriin kielimalleihin, jolloin ne voivat luoda tekstiä ja korjata kielioppivirheitä. Tällöin ne soveltuvat hyvin dokumentaation nopeaan kirjoitukseen, mutta myös muihin NLP-tehtäviin. Tästä on esimerkkinä Khlaisamniang et al. [67] tekemä tutkimus, jossa yhtenä lopputuloksena oli pa- 13 lomuurin lokiraporttien automaattinen kirjoitus generatiivisen tekoälyn avulla. Sen käyttöä on tutkittu myös Akayn ja Kimin [3] tutkimuksessa dokumentaation nopeaan läpikäyntiin, jotta tekstistä voidaan löytää oleelliset tavoitteet ja vaatimukset kehitettävälle tuotteelle. GenAI-työkalut soveltuvat myös projektisuunnitelman tekemiseen ja ne pystyvät nopeuttamaan esimerkiksi aikataulujen suunnittelua, kustannusarviointien tekoa ja riskien arviointia. Barcaui ja Monat [10] vertasivat ChatGPT-4:n ja projektipäällikön tekemien projektisuunnitelmien eri osa-alueita keskenään ja totesivat ChatGPT-4:n tukevan projektipäällikön työtä. ChatGPT:n tekemät arvioinnit ja määritelmät olivat pääasiassa yleisluontoisia, kun taas ihmisen tekemänä ne olivat yksityiskohtaisempia ja tarkempia. GenAI-työkalut eivät pysty huomioimaan kaikkia niitä tekijöitä, jotka vaikuttavat ohjelmiston kehitykseen eli työkaluilta puuttuu ymmärrys asiayhteyksistä, joita ihminen ymmärtää ja tiedostaa helpommin. Tällöin GenAI-työkalut voivat tarjota yleisluontoisen pohjan projektisuunnitelmien tekoon, mutta käyttäjän tulee muokata ne projektille sopivaksi. Vaikka ChatGPT-4 tuotti pääasiassa yleisluontoisia tuloksia, Barcauin ja Monatin [10] mukaan se tuotti tarkemman ja laajemman lähestymistavan riskienhallintaan verrattuna projektipäällikön tekemään lähestymistapaan. GenAI-työkalujen yleisluontoiset vastaukset voivat tarjota käyttäjilleen uusia näkökulmia ja ideoita, joita ihminen ei ole huomannut ja näin projektisuunnitelmasta voidaan saada kattavampi. Generatiivinen tekoäly voi tukea projektipäälliköiden toimintaa ja sen käytöllä voidaan tukea myös ihmisten päätöksentekoa. GenAI-työkaluja voidaan käyttää myös ohjelmistojen suunnitteluun ja erilaisiin visuaalisiin tehtäviin. Ne voivat tukea erilaisten kaavioiden luomista, kuten Özpolat et al. [143] tutkimuksessa ChatGPT:n avulla luotiin tietokanta-, UML- ja vuokaavio toiminnanohjausjärjestelmälle. Generatiivisia malleja voidaan käyttää myös muihin visuaalisiin tehtäviin, ja niiden on todettu olevan hyödyllisiä digitaalisten prototyyppien teossa [13], käyttöliittymien kehityksessä ja suunnittelussa [103, 141], tuotesuunnittelussa [142] sekä 3D-mallinnuksessa [137]. Zhao et al. [141] käyttivät GAN:iin pohjautuvan generatiivisen mallin kehityksessä aitojen mobiilisovelluksien käyttöliittymiä, joiden pohjalta se pystyi luomaan erilaisia käyttöliittymiä pääasiassa onnistuneesti. Tämän lisäksi generatiivisia malleja voidaan käyttää käyttöliittymien komponenttien muuttamisessa koodiksi, kuten Pang et al. [103] tekivät tutkimuksessaan. GenAI-työkalut voivat tarjota tehokkaan keinon erilaisten visuaalisten tehtävien ratkaisemiseksi. Sen lisäksi, että sen avulla voidaan luoda kaavioita, 14 kuvia ja käyttöliittymiä, se tarjoaa käyttäjilleen myös inspiraatiota erilaisiin visuaalisiin suunnittelutehtäviin. Vaikka käyttäjä ei käytä GenAI-työkalun antamaa ratkaisua sellaisenaan, ratkaisusta voidaan valita kiinnostavia ja hyväksi koettuja elementtejä oman ratkaisun kehittämiseksi. Tällöin ohjelmistojen visuaalinen suunnittelu on tehokkaampaa ja asiakkaalle voidaan esittää nopeammin useita vaihtoehtoja esimerkiksi käyttöliittymistä. Erilaisten generatiivisten tekoälytyökalujen käyttöä on tutkittu paljon ohjelmoinnin tukena. GenAI-työkalut voivat luoda koodia [9, 53, 82, 94], korjata koodausvirheitä [46, 82], muuttaa koodia toiselle ohjelmointikielle [73, 132] sekä antaa erilaisia neuvoja ja esimerkkejä ohjelmointiin [36] ja kyselykielten käyttöön [143]. Niiden käyttöä on pohdittu myös koodin kommentointiin liittyen [50, 74]. Vaithilingam et al. [124] tarkastelivat ohjelmoijien käyttökokemusta Copilotista. Tutkimuksessa [124] todettiin, että Copilotin tuottama koodi antoi hyvän pohjan ohjelmoinnin jatkamiseen, mutta se ei välttämättä nopeuta työn valmistumista tai paranna työtulosta. Toisaalta Idrisov ja Schlippe [53] totesivat GenAI-työkalujen tuottamaa koodia käsittelevässä tutkimuksessaan, että GenAI-työkalujen käyttö nopeuttaa ohjelmistokehitystä, koska ohjelmistokehittäjien ei tarvitse tehdä koodia alusta lähtien itse ja GenAI-työkalujen tuottamat koodivirheet ovat pääasiassa helposti korjattavia. Kun tarkastellaan GenAI-työkalujen tarjoamia hyötyjä ohjelmistokehittäjille, usein pohditaan myös työkalun käyttäjän ohjelmointikokemuksen vaikutusta GenAI-työkaluista saataviin hyötyihin ja haasteisiin. Moradi Dakhel et al. [94] tutkivat Copilotin käyttöä ohjelmoinnissa ja totesivat sen olevan hyödyllinen erityisesti kokeneille ohjelmistokehittäjille, jotka pystyvät tarkastelemaan GenAI-työkalujen tuottamaa koodia kriittisemmin ja löytämään mahdollisia virheitä koodista. GenAI-työkalujen on kuitenkin todettu olevan hyödyllisiä myös kokemattomille ohjelmistokehittäjille Giuntin ja Dohertyn [36] tutkimuksessa, koska ChatGPT pystyi tuottamaan toimivaa koodia ja antamaan käyttäjälle neuvoja. Kokeneet ohjelmistokehittäjät tunnistavat todennäköisesti nopeammin ja helpommin GenAI-työkalujen tekemiä ohjelmointivirheitä, mutta kokemattomat ohjelmistokehittäjät voivat oppia paljon GenAI-työkalun vastauksista, jos he arvioivat kriittisesti sen tuottamaa koodia. Riippumatta ohjelmistokehittäjän kokemuksesta ja osaamisesta generatiivinen tekoäly tukee ohjelmistojen kehitystä antamalla nopeasti tietoa ja neuvoa ohjelmointiin, jolloin aikaa kuluu vähemmän virallisten dokumenttien etsimiseen ja lukemiseen. Aikaa voi kulua vähemmän, kun GenAI-työkalu pystyy luomaan koodipohjan, josta ohjelmistokehittäjä voi jatkaa 15 ohjelman kehitystä. Koska GenAI-työkalu voi tukea monia eri työvaiheita on tärkeää, että ohjelmistokehittäjät eivät tukeudu liikaa generatiiviselta tekoälyltä saatuihin vastauksiin, jotta mahdolliset koodivirheet eivät päädy lopputuotteeseen. Tämän lisäksi GenAI-työkalujen käyttäjä ymmärtää paremmin kehitettävän ohjelman tarkoituksen ja vaikutukset kuin GenAI-työkalu, kun sille ei syötetä kehotteeksi koko ohjelmakoodia vaan pätkiä koodista. Tällöin GenAI-työkalulla ei ole tiedossa kaikkia tietoja ja asiayhteyksiä, jotka voivat vaikuttaa sen vastauksien luotettavuuteen. Myös tämän takia on tärkeää, että ohjelmistokehittäjät arvioivat GenAI-työkalujen tuottamia vastauksia kriittisesti. GenAI-työkalujen on todettu olevan hyvä tuki myös ohjelmointikielen muuttuessa toiseen kieleen [73, 132], josta on esimerkkinä Kumar et al. [73] ja Weisz et al. [132] tekemät tutkimukset. Kumar et al. [73] toteavat, että ChatGPT-4, Bard eli nykyinen Gemini ja Bing kääntävät MATLAB-koodia toimivaksi Python-koodiksi tarkasti ja tehokkaasti. Weisz et al. [132] mainitsevat myös koodin laadun paranevan, kun GenAI-työkaluja käytetään ohjelmointikielten käännösten teossa sen sijaan, että käännöstyön tekisi ihminen. GenAI-työkalut ovat hyödyllisiä koodiin liittyvissä tehtävissä, vaikka niiden tuottamat vastaukset eivät ole täydellisiä ja sisältävät virheitä. Ne tarjoavat pohjan, josta ohjelmistokehittäjä voi jatkaa ohjelman tekemistä ja ne antavat tarvittaessa kehitysideoita ja neuvoja ongelmien sekä virheiden ratkaisemiseksi. Tutkimuksissa on tarkasteltu GAN-mallin käyttöä automaattisessa testidatan luomisessa [42], fuzz-testauksessa [139] ja web-sovellusten itsenäisessä penetraatiotestauksessa [16]. Näiden lisäksi generatiivisia malleja on tutkittu automaattisessa yksikkötestien luomisessa [112] sekä automaattisessa virheiden tunnistuksessa ja korjaamisessa [67]. Schäfer et al. [112] toteavat suurten kielimallien olevan hyviä testidatan luomisessa. Tämän lisäksi Chowdhary et al. [16] mukaan GAN-mallin käyttö itsenäisessä penetraatiotestauksessa oli tehokkaampi menetelmä kuin manuaalinen penetraatiotestaus. Vaikka molemmat tutkimukset toteavat generatiivisten mallien edesauttavan ohjelmistojen testausta, Schäfer et al. [112] mainitsevat, että suurten kielimallien luomassa testidatassa saattaa olla virheitä. Ennen testidatan käyttöä tulee tarkastaa sen eheys ja tehdä siihen tarvittavia muutoksia virheiden esiintyessä. Tutkimusta on tehty GAN:n lisäksi myös VAE:n käytöstä järjestelmien turvallisuuden parantamiseksi. Khlaisamniang et al. [67] tekivät itsensä parantavan järjestelmän, jossa käytettiin VAE-pohjaista generatiivista mallia tapahtumalokeissa olevien poikkeavien tapahtumien tunnistamiseen. Khlaisamniang et al. [67] mukaan, näin mahdol- 16 lisiin hyökkäyksiin ja uhkiin voitiin puuttua nopeasti. Tämän lisäksi järjestelmään sisällytettiin generatiivinen tekoäly, joka korjaa automaattisesti lokeista löytyneiden poikkeusten perusteella järjestelmän koodia. Khlaisamniang et al. [67] pitävät generatiivisia malleja hyödyllisenä ja mainitsevat, että tällä tavalla ohjelmista saadaan kestävämpiä ja voidaan vähentää ylläpitomaksuja sekä järjestelmän häiriöaikaa. Generatiivista tekoälyä voidaan käyttää ohjelmistojen testaukseen monella eri tavalla, vaikka se tuottaisi virheitä testidataan. Saadut testit helpottavat ja nopeuttavat testauksen tekoa ja tarvittaessa testaaja pystyy korjaamaan ja muokkaamaan saatua dataa, jotta sitä voidaan hyödyntää testauksessa. Vastaavasti generatiivinen tekoäly soveltuu moniin itsenäisiin tehtäviin, mutta virheriskin takia generatiivisen tekoälyn toimintaa tulee valvoa ihmiskäyttäjä, joka pystyy arvioimaan tekoälyltä saatuja vastauksia. Suurten kielimallien hyötyjä on pohdittu myös ohjelmistojen käyttöönottossa ja niiden on todettu edesauttavan myös tätä ohjelmistokehityksen vaihetta. Seo et al. [113] totesivat suurten kielimallien pystyvän yhteensovittamaan kahden eri yrityksen tietokannat keskenään, vaikka niiden muotoilussa olisi eroavaisuuksia. Vaikka Seo et al. [113] tutkimus keskittyy suurten kielimallien kykyyn tunnistaa ohjelmaan kohdistuvia hyökkäyksiä, se tarjoaa havaintoja generatiivisen tekoälyn vaikutuksesta ohjelmistojen käyttöönottovaiheeseen. Generatiivisen tekoälyn kyky muuttaa kehotteena saatu koodi toiselle ohjelmointikielelle ja sen kyky luoda uutta koodia mahdollistaa koodin, joka pystyy yhdistämään ja yhteensovittamaan eri ympäristöistä saatuja tietoja. Koska GenAI-työkaluja voidaan käyttää uuden koodin kehitykseen sekä vanhan koodin päivittämiseen ja korjaamiseen, niitä voidaan käyttää myös valmiiden ohjelmistojen ylläpitotehtäviin. Generatiivisten mallien, kuten GAN:n, käyttöä on pohdittu paljon ennustavassa ylläpidossa, koska se pystyy luomaan uutta dataa reaalidatan pohjalta. Tällöin saadaan enemmän esimerkkidataa erilaisista olosuhteista, vaikka reaalidataa olisi kerätty vähän. Suuremman ja monipuolisemman datamäärän avulla saadaan todennäköisemmin oikeita ennusteita esimerkiksi ylläpidon tarpeesta. Liu et al. [81] loivat teollisuuteen tarkoitetun ennustavan ylläpitomenetelmän, joka pohjautui osaksi GAN-malliin. Sen avulla voitiin tunnistaa ennakkoon teollisuudessa käytettävien laitteiden häiriöitä ja tehdä niille korjaussuunnitelma. Tällöin generatiiviset mallit osoittavat myös potentiaalia järjestelmien toiminnan itsenäiseen valvontaan ja ylläpitoon. Kuten taulukosta 3.2 huomataan, GenAI-työkaluja voidaan käyttää usealla eri tavalla ohjelmistokehityksessä, riippumatta valitusta ohjelmistokehitysmenetelmäs- 17 tä. GenAI-työkalut tukevat myös erilaisten ohjelmistojen kehitystä, vaikka ohjelmistojen ominaisuudet ja tarpeet vaihtelevat. Niitä voidaan käyttää esimerkiksi pelien ja mobiilisovellusten kehityksessä. Riippumatta kehitettävästä ohjelmistosta ihmisen ja generatiivisen tekoälyn yhteistyö tukee toisiaan, vaikka generatiivisen tekoälyn tuottamat tulokset eivät ole täydellisiä. 18 ChatGPT-3.5:n ratkaisseen ohjelmointitehtävistä 22.2 %, kun taas CodeWhisperer ei ratkaissut yhtään ohjelmointitehtävää. Sen lisäksi, että käytettävä GenAI-työkalu voi vaikuttaa ongelmanratkaisun sujuvuuteen, tutkimuksissa [53, 82] on myös todettu ohjelmointikielen vaikuttavan GenAI-työkaluilta saadun vastauksen laatuun. Idrisov ja Schlippe [53] huomasivat, että GitHub Copilot ratkaisi ongelmia paremmin Java ja C++ -ohjelmointikielillä verrattuna Python-kielen käyttöön, kun taas BingAI ratkaisi parhaiten ohjelmointitehtäviä Python-kielellä. Tutkimukset [53, 82] ovat keskittyneet erityisesti hyvin tunnettuihin ohjelmointikieliin. Koska GenAI- työkalun vastauksiin vaikuttaa koulutusdata, GenAI-työkalut eivät välttämättä toimi yhtä tehokkaasti vähemmän käytettyjen ja tunnettujen ohjelmointikielten kanssa, joista ei ole saatu riittävästi dataa koulutukseen. GenAI-työkalut pystyvät todennäköisemmin ratkaisemaan ennestään hyvin tunnettuja ongelmia, mutta harvinaisempien ongelmien ratkaisemisessa kyseiset työkalut voivat muuttua epäluotettaviksi. Monia GenAI-työkaluja kuitenkin päivitetään ajoittain, jolloin niiden kyky ratkaista myös aikaisemmin tuntemattomia ongelmia voi vähitellen kehittyä. Vaikka GenAI-työkaluilta saadut vastaukset perustuvat niiden koulutusdataan, useissa tutkimuksissa [10, 46, 82] kehotteiden on todettu vaikuttavan saatuihin vastauksiin ja niiden laatuun. Haque ja Li [46] kertovat, että ChatGPT:lle tulisi antaa riittävästi tietoa kehotteiden avulla, koska sillä ei todennäköisesti ole riittävää ymmärrystä eri asiayhteyksistä, jotka tulisi huomioida spesifisten ongelmien ratkaisemisessa. Tällöin ohjelmistokehittäjien tulee pystyä kuvailemaan GenAI-työkalulle ratkaistava ongelma mahdollisimman selkeästi ja riittävän tarkasti, jotta työkalut voivat ratkaista ongelmia tehokkaammin. Kehotesuunnittelun merkitys korostuu Liu et al. [82] tekemässä tutkimuksessa, jossa tarkasteltiin ChatGPT:n tekemää koodia ja siihen liittyviä ongelmia sekä niiden korjaamista. Vaikka Haque ja Li [46] kertovat, että ChatGPT:lle tulisi antaa mahdollisimman paljon tietoa, kuten virheilmoitus ja virheen tuottanut koodi, Liu et al. [82] totesivat, että myös yksinkertainen kehote, jossa ChatGPT:lle ei anneta spesifisiä virheilmoitustietoja pystyy ratkaisemaan eräitä ongelmia. Liu et al. [82] mukaan sekä yksinkertainen palaute että tarkka palaute toimivat erilaisten virheiden korjaamisessa. GenAI-työkalujen vastauksia käsitellään usein iteratiivisesti, jolloin käyttäjä antaa palautetta GenAI-työkalulle, jos vastaus ei ollut halutunkaltainen tai siinä on todettu virheitä. Tällöin Liu et al. [82] huomasivat iteratiivisen ja yksityiskohtaisen palautteenannon parantavan korjattavan koodin laatua ja toimivan paremmin verrattuna siihen, että ChatGPT:lle annettava palaute olisi iteratiivinen, mutta yksinkertainen. 25 Ohjelmistokehittäjät voivat myös käyttää GenAI-työkaluja erilailla. GitHub Copilot voi olla osana ohjelmistoympäristöä, jossa ohjelmistokehittäjä voi hyödyntää sen tarjoamia ehdotuksia koodin jatkamiseksi. Barke et al. [11] mainitsevat, että Git- Hub Copilotia käytetään tällä tavoin erityisesti silloin, kun ohjelmistokehittäjille annettu tehtävä on hyvin määritelty. Jos ohjelmistokehittäjä on epävarma, kuinka edetä tehtävän ratkaisemiseksi, Barke et al. [11] mukaan ohjelmistokehittäjä pyytää tällöin GitHub Copilotilta useita ehdotuksia, joista voidaan valita sopivin vaihtoehto. Molemmat käyttötavat voivat nopeuttaa ohjelmistokehittäjien työtä, kun ohjelmistokehittäjän ei tarvitse kirjoittaa kaikkea koodia itse, vaan sopivat koodinpätkät ovat muutamien näppäinpainallusten takana. GitHub Copilot vaikuttaa Barke et al. [11] mukaan ymmärtävän paremmin asiayhteyksiä, koska se saadaan osaksi ohjelmistoympäristöä. Jos GenAI-työkaluilla on haastetta asiayhteyksien ymmärtämisessä, käyttäjät voivat antaa niille lisätietoa kehotteiden avulla, kuten Haque ja Li [46] ohjeistavat. Koska GenAI-työkalujen vastausten laatuun vaikuttaa kehotteiden sisältö, ohjelmistokehittäjät ovat merkittävässä roolissa kehotteiden suunnittelussa. Myös tiedonhaku voi olla nopeampaa, kun generatiivista tekoälytyökalua käytetään hakukoneen tapaan. Barke et al. [11] mainitsevat, että ohjelmistokehittäjät käyttävät GitHub Copilotia suositun ohjelmointiaiheisen Stack Overflow -foorumin sijaisena. Kun GenAI-työkalu on osana ohjelmistoympäristöä, se voidaan mieltää tehokkaaksi hakutyökaluksi, jolloin tietoa ei haeta hakukoneiden avulla. Koska GenAI-työkalut pystyvät ratkaisemaan erilaisia tehtäviä, kokematon ohjelmistokehittäjä pystyy kysymään GenAI-työkaluilta neuvoa, jos hän ei ymmärrä ratkaistavasta aihealueesta riittävästi. Tällöin ohjelmistokehittäjällä ei tarvitse olla kattavaa ymmärrystä esimerkiksi ohjelmoinnista [36] tai käytettävästä tietokannan kyselykielestä [120]. Kokematon ohjelmistokehittäjä voi siis hyötyä generatiivisen tekoälyn käytöstä, saamalla tarvittavaa perustietoa ohjelmoinnista. Tällöin ohjelmistokehittäjä säästää aikaa, kun hänen ei tarvitse lukea virallista dokumentaatiota esimerkiksi tietokannan käyttöön liittyen ja hän saattaa oppia nopeasti uusia asioita ohjelmoinnista. Toisaalta ohjelmoija voi tukeutua liikaa generatiiviseen työkaluun, jolloin uusien asioiden oppiminen vähenee sekä virheiden todennäköisyys koodissa lisääntyy, kun työkalun luomaa koodia ei pystytä arvioimaan kriittisesti liian vähäisen ymmärryksen takia. Vaikka siis GenAI-työkalu voi tukea myös kokematonta ohjelmistokehittäjää, on kuitenkin tärkeää, että ohjelmistokehittäjät pyrkivät kehittämään myös omia ohjelmointitaitojaan. Riskinä on myös se, että GenAI-työkaluja käyttävät ohjelmistokehittäjät luottavat liikaa niiden tuottamiin vastauksiin, jolloin 26 erilaisia virheitä ja ongelmia voi esiintyä tehdyssä ohjelmassa. Kun ohjelmistokehittäjä käyttää työkalua, kuten GitHub Copilotia, joka ehdottaa koodin täydennyksiä lähes automaattisesti, riskinä voi olla vauhtisokeus, jossa koodia luodaan GenAI:n avulla nopeasti, mutta käyttäjä ei huomioi ohjelmaan syntyviä ongelmia. Yhtenä haasteena voi myös olla GenAI-työkalun oikeanlainen käyttö ja sen toiminnan ymmärrettävyys. Tästä on esimerkkinä Barke et al. [11] tutkimus, jossa huomattiin, että GitHub Copilotia käyttävät ohjelmistokehittäjät eivät ymmärtäneet, miten se käytti heidän koodiansa ehdotuksien luomiseksi. Barke et al. [11] mainitsevat, että ohjelmistokehittäjät uskoivat kommentoidun koodin olevan sille näkymätön. Tämän lisäksi Barke et al. [11] huomasivat, että GitHub Copilotin tarjotessa useita ehdotuksia, ohjelmistokehittäjät uskoivat ehdotusten olevan paremmuusjärjestyksessä. Käytettävän GenAI-työkalun toiminnallisuuden ymmärtäminen on tärkeää, jotta ohjelmistokehittäjät pystyvät tekemään ratkaisuja sujuvasti ja nopeasti. Yritysten ja ohjelmistokehittäjien tulisi perehtyä niihin GenAI-työkaluihin, joita he käyttävät ohjelmistokehityksessä. Vaikka GenAI-työkalut voivat soveltua monenlaisten työtehtävien avuksi, ne eivät aina tue käyttäjiään tehokkaasti. Taulukossa 3.4 esitetään tiivistetysti GenAI- työkalujen käytön hyviä ja huonoja puolia. Kuten taulukosta 3.4 huomataan, GenAI- työkaluihin liittyy myös eettisiä haasteita. Näitä haasteita käsitellään tarkemmin luvussa 4.1. 27 Taulukko 3.4: GenAI-työkalujen hyödyt ja haitat. Hyödyt Haitat 1. Mahdollistavat erilaisten ongelmien ratkaisun vastausten yleisluontoisuuden ansioista. Yksinkertaisia koodaustehtäviä voidaan ratkoa luotettavasti. 2. Nopeuttavat erilaisten tehtävien tekoa, esimerkiksi automatisaation, ehdotusten ja koodipohjien avulla. 3. Nopeuttavat ohjelmistokehittäjien tiedonhakua. Voidaan käyttää hakuselainten tapaan. 4. Voivat korjata nopeasti erilaisia virheitä. 5. Osaavat käsitellä tunnettuja ohjelmointikieliä. 6. Ratkaisevat todennäköisemmin uusia ja aikaisemmin tuntemattomia ongelmia, kun GenAI-työkaluja päivitetään ajoittain. 7. Antavat kokemattomalle käyttäjälle neuvoja ongelmien ratkaisuun. Voi tukea myös kokeneen ohjelmistokehittäjän ongelmanratkaisua. 8. Automatisoivat tehtäviä. 9. Ovat helppokäyttöisiä. 1. Eivät ratkaise spesifisiä ongelmia ja ovat liian yleisluontoisia. Vastauksissa ei huomioida asiayhteyksiä. Käyttäjä joutuu muokkaamaan vastauksia itselleen sopiviksi. 2. Voivat tehdä epäluotettavia vastauksia, erityisesti vaikeissa ohjelmointitehtävissä. Koodi voi olla täysin väärin tai se sisältää virheitä. 3. Eivät käsittele kaikkia ohjelmointikieliä yhtä tehokkaasti. 4. Vaativat käyttäjältä kokemusta ja osaamista vastausten arvioinnissa. Kokematon ohjelmistokehittäjä voi tukeutua tai luottaa liikaa GenAI-työkalujen vastauksiin. 5. Vaativat käyttäjältä osaamista kehotteiden muotoilusta, jotta GenAI:lta saadaan haluttuja vastauksia. 6. Vaativat käyttäjältä ymmärrystä GenAI-työkalun toiminnallisuudesta. 7. Liittyvät useisiin eettisiin ongelmiin. 28 3.4 Yhteenveto Tutkimuksista [143, 36] tulee esille, että GenAI-työkaluja voidaan käyttää ohjelmistokehityksen jokaisessa vaiheessa eri työtehtävien tekoon. Työkalut voivat nopeuttaa ongelmanratkaisua, kun niiltä saadaan neuvoja ja ohjeita tehtävän ratkaisuun, kuten Özpolat et al. [143] tutkimuksessa todetaan. Tällöin niitä voidaan käyttää useisiin erilaisiin tehtäviin, kuten tekstinkäsittelyyn [44, 67, 104], visuaalisiin tehtäviin [143], tiedonhakuun [143], ohjelmointiin [36, 94, 124] ja testaukseen [104]. Vaikka GenAI-työkaluilla on monia potentiaalisia käyttökohteita, monet tutkimukset [17, 53] käsittelevät erityisesti niiden tuottaman koodin laatua. Vaikka työkalut nopeuttavat monenlaisten tehtävien tekoa, ongelmia on todettu niiden tuottamien vastausten laadussa. Tästä on esimerkkinä Idrisovin ja Schlippen [53] tekemä tutkimus, jossa työkalujen todettiin tuottavat erilaatuista koodia ja niissä on usein virheitä. Myös Coello et al. [17] tutkimuksesta tulee esille, että GenAI-työkalujen tuottamissa vastauksissa on laatueroja. GenAI-työkalujen oleellinen ongelma on vastausten laaduttomuus, joka tekee työkaluista myös epäluotettavia. Tämän takia työkalujen käyttäjät ovat merkittävässä roolissa, jotta he voivat tunnistaa vastauksissa olevia virheitä ja korjata niitä. Myös kehotteiden muotoilun [46] on todettu vaikuttavan vastausten laatuun. Liu et al. [82] totesivat kehotteiden auttavan virheiden korjausta ja parantavan koodin laatua. Koska GenAI-työkalut eivät ymmärrä yhtä hyvin asiayhteyksiä kuin ihmiset, niille voidaan antaa lisätietoa Haquen ja Liin [46] mukaan kehotteiden avulla. On siis tärkeää, että GenAI-työkalujen käyttäjät osaavat tehdä kehotteita, jotta vastauksista saadaan mahdollisimman laadukkaita ja virheitä voidaan korjata tehokkaasti. Ihminen on siis merkittävässä roolissa, kun GenAI-työkaluja käytetään. Heidän tulee osata tehdä kehotteita ja heidän tulee myös osata arvoida työkaluilta saatuja vastauksia. Haque ja Li [46] toteavat, että työkalujen käytöstä voi hyötyä eri kokemuksen omaavat ohjelmistokehittäjät. Moradi Dakhel et al. [94] kuitenkin varoittavat, että kokemattomat ohjelmistokehittäjät eivät välttämättä tunnista työkalujen tuottamia virheitä. Vaikka työkalut siis sujuvoittavat monia työtehtäviä, niissä on myös paljon haasteita. Myös GenAI-työkalun valinta saattaa olla haasteellista, koska niitä on useita erilaisia ja niiden ominaisuuksissa on eroja. ChatGPT vaikuttaa olevan monipuolisimmin tutkittu [10, 17, 143] GenAI-työkalu. Toinen paljon tutkittu työkalu on GitHub Copilot, jonka koodauskykyä on tutkittu [11, 53, 94] paljon. Vaikka useita GenAI- 29 työkaluja voidaan käyttää ohjelmistokehityksen tukena, työkalujen tuottamissa vastauksissa on laatu eroja, johon voi vaikuttaa Haquen ja Liin [46] mukaan niiden koulutusdatan kattavuus. Tällöin ohjelmistokehittäjiltä vaaditaan ymmärrystä GenAI- työkalujen toiminnasta ja ominaisuuksista sekä omista tarpeistaan, jotta he voivat valita itselleen sopivimman työkalun. 30 4 Etiikka Merriam-Webster-sanakirjassa [91] kerrotaan, että moraali on yksilön oma käsitys hyvästä ja pahasta, kun taas etiikka tarkastelee yleismaailmallista oikeudenmukaisuutta ja toimintatapojen vastuullisuutta. Kielitoimiston sanakirja [71] kertoo etiikan olevan tieteenhaara, joka tutkii ihmisten moraalisia toimintatapoja. Koska etiikka tukee vastuullista toimintaa ja kehitystä, eri aloille on kehitetty erilaisia etiikan ohjeita. Vaikka etiikan ohjeiden noudattaminen ei ole aina lakisääteistä, lait usein tukevat eettisten ohjeiden toteutumista, kun ne liittyvät, esimerkiksi perusoikeuksiin, yksityisyyteen ja turvallisuuteen. Koska ihmisillä voi olla erilaisia käsityksiä, mikä on oikein ja mikä väärin, eri aloille suunnatut etiikan ohjeet tukevat yksilöiden ja yritysten eettistä toimintaa. Ohjeet antavat selkeän yleiskäsityksen aihealueista, jotka ovat tärkeitä alan eettiselle toiminnalle. Jones [64] käsittelee ihmisten eettistä päätöksentekoa yrityksissä ja toteaa, että moraalisen ongelman esiintyessä ihmisen tulee tiedostaa olevansa osa moraalista päätöksentekoa, koska hän voi vaikuttaa päätöksellään muihin ihmisiin. Myös moraalisen ongelman tunnistaminen on tärkeää, koska Jonesin [64] mukaan päätöksenteko saattaa muutoin pohjautua esimerkiksi taloudellisiin syihin. Koska etiikan ohjeistus antaa usein tietoa potentiaalisista eettisistä ongelmista sekä niiden estämisestä ja korjaamisesta, niiden tunteminen on tärkeää. Jones [64] kertoo, että moraalisen ongelman tunnistamisen jälkeen voidaan tehdä moraalinen arviointi, jossa voidaan hyödyntää eettisiä ohjeita moraalisen ongelman ratkaisemiseksi. Jones [64] myös mainitsee, että tähän vaikuttavat myös ihmisten omat moraalikäsitykset ja lainsäädäntö. Vaikka moraalisen arvioinnin perusteella jokin toimi voidaan todeta oikeaksi, Jones [64] mainitsee, että päätöksentekijä voi silti päätyä toimimaan tarkoituksellisesti väärin. Kaikki eettiset ohjeet eivät ole osana lakia ja niiden toteutumista ei valvota yhtä tarkasti, jolloin eettisiä ohjeita voidaan rikkoa. Jones [64] kertoo, että mitä vakavampi moraalinen ongelma on kyseessä sitä todennäköisemmin ihminen pyrkii hyvää tuottavaan ratkaisuun, haitallisten seuraamusten välttämiseksi. Vaikka Jones [64] korostaa erityisesti ihmisten moraalista toimintaa, myös yrityksen sisäiset tekijät voivat vaikuttaa moraaliseen päätöksentekoprosessiin. Jones [64] kertoo, että päätökseen voi vaikuttaa auktoriteetti, joka vastustaa eettisen päätöksen tekoa tai 31 vaikuttavana tekijänä voi olla yrityksen sisäinen ryhmäpaine, kuten ryhmäajattelu. Tämä voi lisätä pelkoa myös seuraamuksiin liittyen, kun yrityksen toiminta koetaan vastuuttomana ja työntekijä haluaa tuoda asian ilmi. Toisaalta, jos yritys noudattaa lainsäädännön lisäksi myös alan eettisiä ohjeita, se voi tukea työntekijöiden moraalista päätöksentekoa ja samalla myös oman toimintansa vastuullisuutta. Etiikan ohjeet tukevat siis yritysten ja ihmisten eettistä toimintaa. Ne antavat tietoa alaan liittyvistä eettisistä haasteista ja miten niitä voidaan ratkoa. Etiikan ohjeiden avulla saadaan yhteisymmärrys periaatteista, jotka koetaan merkittäväksi vastuullisuuden ja luotettavuuden määrittäjiksi. Niiden noudattaminen ja käyttö osana yrityksen toimintaa turvaa sekä yrityksen että toimialan luotettavuutta. Vastuuttoman toiminnan on todettu [32, 105] alentavan kuluttajien luottamusta yritykseen ja sen toimintaan. Tällöin yrityksen liiketoiminta ja maine kärsivät. 4.1 Generatiivisen tekoälyn etiikka Koska tekoälyjärjestelmiin liittyy paljon potentiaalisia eettisiä ongelmia, useat eri järjestöt ovat kehittäneet eettisiä periaatteita niiden estämiseksi. Tästä on esimerkkinä Euroopan komission perustaman tekoälyä käsittelevän korkean tason asiantuntijaryhmän (engl. High-Level Expert Group on Artificial Intelligence, AI HLEG) tekemät eettiset ohjeet ja vaatimukset luotettavalle tekoälylle [2] sekä Institute of Electrical and Electronics Engineers (IEEE) standardit [54] tekoälylle. AI HLEG:n etiikan periaatteet [2] kertovat, mitä asioita tulee käsitellä ja arvioida tekoälyjärjestelmän koko elinkaaren ajan ja IEEE:n [54] standardit antavat tekoälyä kehittäville yrityksille yleisohjeita eri etiikan kohtien noudattamiseen. Myös suuret yritykset, kuten Adobe [1], Google [40] ja IBM [52] ovat esittäneet oleellisia etiikan periaatteita, joita he ovat sitoutuneet noudattamaan. Useat viranomaiset ja yritykset ovat siis huomioineet tekoälyn nopean kehityksen ja sen mahdolliset riskit eettiselle toiminnalle. GenAI:lle ei ole tehty omia, selkeitä eettisiä ohjeita, jonka takia tässä tutkielmassa esitellään viranomaisten ja yritysten tekemiä yleisimpiä tekoälyyn liittyviä etiikan periaatteita. Tahojen tunnistamissa periaatteissa on jonkin verran eroja. Vaikka AI HLEG [2] mainitsee vain neljä eettistä periaatetta, niitä tarkennetaan eettisten vaatimusten avulla. AI HLEG:n [2] tunnistamat vaatimukset kuuluvat kuitenkin toisten tahojen eettisiin periaatteisiin. Tästä on esimerkkinä läpinäkyyvyden periaate, jonka AI HLEG [2] on luokitellut eettiseksi vaatimukseksi, kun taas IBM [52] kertoo sen ole- 32 van eettinen periaate. Tämän takia, taulukossa 4.1 esitetään myös AI HLEG:n [2] tunnistamat eettiset vaatimukset eettisinä periaatteina. Tahot siis saattavat tunnistaa eri eettisiä periaatteita ja luokitella niitä eri tavoin. Vaikka tekoälyn etiikan periaatteita on useita, pääasiassa yksityisyyttä, turvallisuutta ja kestävyyttä sekä läpinäkyvyyttä ja selitettävyyttä on tutkittu generatiiviseen tekoälyyn liittyen paljon. Tekoälyjärjestelmien halutaan käyttäytyvän tarkoitetulla tavalla ja pyrkimyksenä on AI HLEG:n [2] mukaan niihin liittyvien odottamattomien ja tahattomien riskien vähentäminen. AI HLEG [2] varoittaa, että hyökkäykset voivat myös vaikuttaa tekoälyn toimintaan, jolloin se voi tehdä poikkeavia päätöksiä tai lopettaa toimintansa. Koska hyökkäysten kohteena voi myös olla ihmisten ja yritysten tiedot, myös yksityisyys on tärkeä eettinen periaate. Vaikka pääasiassa tutkimukset keskittyvät yksityisyyden suhteen muihin aloihin kuin ohjelmistokehitykseen, useat artikkelit [4, 14, 43, 80, 102, 107] käsittelevät kielimallien aiheuttamia tietoturva- ja yksityisyysongelmia. Erityisesti ChatGPT:n potentiaalisia tietoturvauhkia on tarkasteltu useissa artikkeleissa [4, 43, 80]. Al-Hawawreh et al. [4] toteavat, että ChatGPT:n toimintaan voidaan vaikuttaa keskustelussa käytettyjen sanavalintojen avulla, jolloin sitä voidaan käyttää hyökkäysten kehittämiseen. Kehotteiden muotoilulla voidaan siis vaikuttaa GenAI-työ- kalujen toimintaan. Myös Liu et al. [80] huomasivat tutkimuksessaan, että ChatGPT voi luopua sen moraalisista ja laillisista rajoituksista, kun sille annetaan tietynlaisia kehotteita. Huoli yksityisyyden suojan rikkomisesta on jatkuvasti esillä, koska nykyään ihmisistä löytyy helposti tietoa internetistä, ja heistä kerätään paljon tietoa eri teknologioiden avulla. Yksityisyyttä voidaan rikkoa syväväärennöksillä, joita on tutkittu [21, 69] paljon. Koska syväväärennösten avulla voidaan esittää esimerkiksi aitoa henkilöä väärentämällä henkilön henkilöllisyys, Kirchengast [69] toteaa syväväärennösten aiheuttavan myös selvän riskin propagandan ja huijausten mahdollistajina. Myös Srinivasan ja Uchinon [115] varoittavat, että GenAI voi vääristää historiakäsitystä, kun generatiivisilla malleilla voidaan luoda menneisyyden tapahtumia vääristäviä kuvia. Koska GenAI-työkalut voivat tuottaa myös virheellisiä vastauksia, kuten huomataan Idrisovin ja Schelippen [53] tutkimuksesta, vastuuvelvollisuusperiaatteen takia voidaan joutua pohtimaan, kuka on vastuussa valheellisen tiedon levittämisestä ja kehityksestä. Pohdittavaksi myös jää missä suhteessa vastuu on tekoälyn kehittäjillä ja käyttäjillä. Tekoäly voi luoda valheellista tietoa, mutta käyttäjät voivat 33 myös tarkoituksellisesti luoda ja levittää sitä tietoisesti eteenpäin. On tärkeää, että käyttäjät pystyvät arvioimaan saadun tiedon oikeellisuutta ja toimivuutta. Tällöin myös käyttäjien arviointikyvyn merkitys kasvaa. Useissa artikkeleissa on tarkasteltu myös läpinäkyvyyden [76, 128, 31] ja selitettävyyden [117, 27] tärkeyttä tekoälyjärjestelmien luotettavuuden parantamisek- si. Artikkelissa [128] todetaan, että luotettavuuden lisäämiseksi tarvitaan läpinäkyvyyttä siitä, miten järjestelmä tekee ennustuksia tai päätyy tiettyyn lopputulokseen sekä miten se toimii. Tätä tosin vaikeuttaa mustan laatikon ongelma, joka Von Eschenbachin [128] mukaan tarkoittaa tekoälyä, jonka toimintaprosessi on tuntematon eli käyttäjät eivät tiedä millä perusteella tekoäly päätyy vastauksiinsa. Felzmann et al. [31] kertovat tekoälyjärjestelmien läpinäkyvyyttä käsittelevässä tutkimuksessaan, että läpinäkyvyyden yhdistäminen tekoälyn suunnitteluun ja toteutukseen on haastavaa. Tämän lisäksi Li et al. [76] toteavat tekoälyn luotettavuuden tekijöitä käsittelevässä artikkelissaan, että loppukäyttäjät ovat tärkeä, mutta usein sivuutettu sidosryhmä. Tällöin GenAI-työkalujen käyttäjät eivät välttämättä saa riittävästi tietoa tekoälyn toiminnasta, mikä tulee esille myös Sun et al. [117] tekemässä tutkimuksessa, jossa tarkasteltiin ohjelmistokehittäjien selitettävyyden tarvetta, kun he käyttivät GenAI:ta koodin täydennyksessä, käännössä ja luonnollisen kielen ohjaamassa koodauksessa. Myös tekijänoikeudet voivat olla yksi läpinäkyvyyteen ja selitettävyyteen liittyvä ongelma. Franceschelli ja Musolesi [34] mainitsevat tekoälyn tekijänoikeusseikkoja ja lain näkökulmaa käsittelevässä tutkimuksessaan, että tietojoukkojen ja -lähteiden, kuten koodinpätkien, löytäminen internetistä ei tarkoita sitä, että niihin ei liity tekijänoikeuksia. Kuvia, koodia ja tekstiä on helppo luoda generatiivisen tekoälyn avulla, mutta tulisi kuitenkin pohtia tekoälyn opetuksessa käytettävien datajoukkojen tekijänoikeuksia. Koska GenAI-työkalujen koulutusdata voidaan kerätä useista erilaisista lähteistä, Wu et al. [136] huomauttavat, että tällöin siihen voi päätyä myös ihmisten henkilökohtaista dataa. Wu et al [136] myös varoittavat, että työkalut voivat kerätä tietoa kehotteiden välityksellä, jolloin käyttäjän tulee pohtia mitä tietoja työkaluille voidaan antaa. Riskinä voi siis olla luottamuksellisten tietojen vuotaminen. Myös generatiivisten mallien oikeudenmukaisuutta on tutkittu paljon. AI HLEG [2] varoittaa vääristymistä, joilla tarkoitetaan puolueellisuutta jotakin kantaa, kohdetta tai ryhmää kohtaan, mikä voi johtaa epäoikeudenmukaisiin tuloksiin. Tekoälyyn liittyviä epäoikeudenmukaisia vääristymiä on tutkittu, esimerkiksi sukupuo- 34 Taulukko 4.2 – Jatkuu edelliseltä sivulta. Periaate Selitys Asiakas ja työnantaja Ohjelmistokehittäjien tulee ilmoittaa työnantajalle tai asiakkaalle, jos ohjelma ei tule onnistumaan, se on liian kallis tai siihen liittyy muita ongelmia. He eivät saa vastaanottaa ohjelmistokehitystyötä toisesta yrityksestä, jonka lopputulos voi haitata jo työsuhteessa olevaa yritystä. Ohjelmistokehittäjien tulee olla rehellisiä omista taidoistaan ja he eivät saa jakaa työskentelyn aikana saatuja luottamuksellisia tietoja. Tuote Ohjelmistokehittäjen on huolehdittava, että lopputuote vastaa standardeja. Työnteossa on oltava saavutettavia tavoitteita ja tuotteeseen liittyvät eettiset, lailliset, taloudelliset ja ympäristövaikutukset on tunnistettava. Tuote tulee dokumentoida ja testata tarkasti ja kerättyä dataa tulee käsitellä asianmukaisesti. Arviointikyky Ohjelmistokehittäjien tulee pystyä käyttämään omaa puolueetonta arviointikykyään ohjelmistokehityksen eri vaiheissa, kuten arviointien teossa. Eturistiriidoista on ilmoitettava ja taloudellisen hyödyn tavoittelu sopimattomilla tavoilla, kuten lahjuksilla, on kiellettyä. Hallinto Johtohenkilöiden on huolehdittava, että ohjelmistokehittäjät ovat tietoisia ohjelmistokehityksessä käytettävistä standardeista ja käytännöistä. Tähän liittyy salassapitovelvollisuus ja tiedostojen sekä salasanojen turvaaminen. Johtohenkilöiden tulee arvioida projektien aikataulutusta, kuluja, laatua ja lopputuloksia sekä huolehdittava ohjelmistojen tekijänoikeuksien oikeanlaisesta jakautumisesta. Johdon on myös kohdeltava työntekijöitä ja - hakijoita asiallisesti. Jatkuu seuraavalla sivulla 41 Taulukko 4.2 – Jatkuu edelliseltä sivulta. Periaate Selitys Ammatti Ohjelmistokehittäjien tulee lisätä ihmisten tietämystä ohjelmistokehityksestä. He eivät saa ajaa omaa etuaan toisten kustannuksella ja heidän on noudatettava lakia. Ohjelmistoista on kerrottava rehellisesti, ilman valheellisia tai virheellisiä väitteitä, ja ohjelmistokehittäjien tulee olla vastuussa tekemistään ohjelmistoista ja niiden dokumentaatioista tarkkailemalla, korjaamalla ja ilmiantamalla niissä esiintyviä virheitä. Ohjelmistokehittäjien tulisi välttää työpaikkoja, jotka ovat ristiriidassa näiden eettisten ohjeiden kanssa ja tarvittaessa ilmiantaa asianmukaisille tahoille, jos eettistä toimintaa rikotaan. Kollegat Ohjelmistokehittäjien on kohdeltava kollegojaan tasavertaisesti ja heidän on arvioitava toisten työtä objektiivisesti ja annettava tukea osaamisen kehitykseen. Myös kollegoiden mielipiteitä ja huolia on kuunneltava. Näiden lisäksi kollegoita on kohdeltava oikeudenmukaisesti ja heitä on tuettava käytäntöjen, kuten salasanojen ja muiden luottamuksellisten tietojen salassapidossa sekä muiden turvallisuustoimenpiteiden ymmärtämisessä. Oma toiminta Ohjelmistokehittäjien on kehitettävä omaa osaamistaan ohjelmistokehityksen eri osa-alueilla, kuten suunnittelussa, huollossa ja testauksessa. Heidän tulee kehittää itseänsä siten, että ohjelmistoista saadaan luotettavia ja turvallisia ja niiden dokumentaatio on tarkkaa ja informatiivisia. Heidän tulee olla tietoisia voimassaolevista standardeista ja laeista, jotka vaikuttavat ohjelmaan ja sen kehitykseen. Näiden lisäksi tulisi myös noudattaa näitä eettisiä ohjeita. Taulukossa 4.3 esitetään tekoälyn etiikan periaatteita, jotka ovat huomioitu myös ohjelmistokehityksessä. Jos tekoälyn etiikan ohjeen piirteitä esiintyy ohjelmistokehityksen ohjeissa, huomioitu-sarakkeessa on X-merkki. Jos aihetta ei olla käsitelty, huomioitu-sarake on kyseisen periaatteen kohdalla tyhjä. Ohjelmistokehityksen etiikka sisältää paljon samoja asioita kuin tekoälyn etiikka. Ohjelmistokehityksen etiikassa korostuu erityisesti ohjelmistokehittäjien vastuuvelvollisuus ja ohjelmiston vaikutukset yhteiskuntaan, kestävään kehitykseen ja ihmisten hyvinvointiin. Taulukosta 4.3 huomataan, että ohjelmistokehityksen ohjeissa ei kerrota ihmisten 42 itsemääräämisoikeudesta ja ihmisen suorittamasta ohjelman valvonnasta, joka on yksi tekoälyyn liittyvä etiikan periaate. Tähän vaikuttaa todennäköisesti se, että tekoäly pystyy tekemään enemmän itsenäisiä päätöksiä ihmisiin liittyen, jolloin se voi aiheuttaa merkittävää haittaa ihmisille, jos se tekee esimerkiksi syrjiviä päätöksiä. Taulukko 4.3: Ohjelmistokehityksen etiikassa esiintyvät tekoälyn etiikan aiheet. Tekoälyn etiikan ohje Huomioitu Yksityisyys X Turvallisuus ja kestävyys X Selitettävyys X Läpinäkyvyys X Oikeudenmukaisuus X Kestävä kehitys ja hyvinvointi X Vastuuvelvollisuus X Itsemääräämisoikeus ja hallinta Vahinkojen välttäminen X Ohjelmistokehityksen periaatteet antavat yleiskuvan asioista, joita ohjelmistokehittäjien tulisi pohtia, kun ohjelmaa kehitetään. Periaatteet antavat myös yleisohjeita ohjelmistokäyttäjien käyttäytymistapoihin, kun toimitaan osana ryhmää ja ollaan vuorovaikutuksessa eri sidosryhmien kanssa. Ne eivät kuitenkaan anna selkeitä, käytännön ohjeita siihen, miten ohjelmistokehityksen eri vaiheisiin voidaan sisällyttää niitä. Tällöin etiikan ohjeiden noudattaminen voi olla haastavaa. Käytännön menetelmiä etiikan toteutumiseksi ohjelmistokehityksessä on tutkittu varsin vähän, vaikka useissa lähteissä [37, 45, 85] todetaan, että ohjelmistokehityksen etiikan ohjeiden saaminen mukaan käytäntöön on haastavaa. Ohjelmistokehitykseen suunnattuja etiikan ohjeita on kritisoitu niiden teoreettisuuden takia. Gogoll et al. [37] mukaan ohjelmistokehitykselle suunnatut IEEE/ACM:n työryhmän tekemät etiikan ohjeet ovat riittämättömiä avustamaan ohjelmistokehittäjiä käytännön ohjelmistokehityksessä ja kaikkia eettisiä ohjeita ei tulisi asettaa vain ohjelmistokehittäjille, sillä myös yrityksillä on vastuu eettisen toiminnan toteutumisesta ja eettisten tuotteiden kehityksestä. Ohjelmistokehittäjät voivat kuitenkin vaikuttaa siihen, kuinka sovellus tehdään ja millaisia tekniikoita siinä käytetään, kuten Gogoll et al. [37] mainitsee, että ohjelmistokehittäjät voivat vaikuttaa käyttäjätietojen turvaamiseen ja asianmukaiseen datan hallintaan. Vaikka yksityisyyden varmista- 43 mista sovelluksessa ei olla erikseen vaadittu, ohjelmistokehittäjät voivat omalla toiminnallaan parantaa tietojen turvaamista. Koska ohjelmistokehityksen etiikan ohjeet eivät anna selkeitä käytännön ohjeita niiden toteuttamiseksi, tutkimuksissa [85, 45] on yritetty löytää käytännön keinoja niiden huomioimiseksi. Lurie ja Mark [85] ehdottavat eettisen kyselykorttien käyttöä, jonka tarkoituksena on herättää ohjelmistokehittäjiä pohtimaan eettisiä ratkaisuja ja ongelmia. Halme et al. [45] sen sijaan pohtivat tutkimuksessaan käyttäjätarinoiden käyttöä siten, että niihin voidaan sisältää eettisiä näkökulmia ja näin tuoda eettiset ohjeet osaksi ohjelmakehityksen käytäntöä. Etiikan ohjeiden tuominen osak- si ohjelmistokehitystä ei kuitenkaan ole helppoa, koska ne ovat teoreettisia. Tämän takia Gogoll et al. [37] varoittavat, että ohjeisiin saatetaan suhtautua välinpitämättömästi tai ohjelmistokehityksessä noudatetaan vain eräitä, valikoituja, etiikan ohjeita. 4.3 Yhteenveto Tällä hetkellä GenAI-työkalujen etiikka pohjautuu tekoälyn etiikkaan, josta sekä AI HLEG [2] että IEEE [54] ovat antaneet omat ohjeistuksena. Sen sijaan ohjelmistokehityksen etiikka vaikuttaa pohjautuvan IEEE-CS/ACM:n [33] tekemään ohjelmistokehittäjien etiikkaan. Vaikka AI HLEG:n [2] ja IEEE:n [54] ohjeistukset liittyvät tekoälyn kehittämiseen ja IEEE-CS/ACM:n [33] ohjelmistokehitykseen, ne sisältävät paljon yhtäläisyyksiä. Tekoälyn eettiset periaatteet, jotka huomioidaan myös ohjelmistokehittäjien etiikassa ovat • yksityisyys, • turvallisuus ja kestävyys, • selitettävyys, • läpinäkyvyys, • oikeudenmukaisuus, • kestävä kehitys ja hyvinvointi, • vastuuvelvollisuus sekä • vahinkojen välttäminen. 44 Ohjelmistokehityksen etiikasta kuitenkin puuttuu yksi tyypillinen tekoälyn periaate, itsemääräämisoikeus ja hallinta, jolla pyritään AI HLEG:n [2] mukaan huolehtimaan, että tekoälyn toimintaa voidaan valvoa ja hallita, jotta ihmisiin ei kohdistu vain tekoälyn tuottamia päätöksiä. AI HLEG:n [2] mukaan se turvaa myös ihmisten perusoikeuksia. Koska tekoälyjärjestelmät pystyvät automatisoimaan monenlaisia tehtäviä, se on tärkeä periaate erityisesti niiden kohdalla. Vaikka GenAI-työkalut voivat edeusauttaa yhteiskuntaa tukemalla ihmisten ja luonnon hyvinvointia, kuten tutkimuksista [51, 62] voidaan todeta, niihin liittyy myös useita eettisiä ongelmia. GenAI-työkalut voivat aiheuttaa tietoturvaan liittyviä ongelmia, kuten Al-Hawawreh et al. [4] ja Liu et al. [80] kertovat. Tämän lisäksi niitä voidaan käyttää valheellisen tiedon levittämiseen esimerkiksi syväväärennösten avulla, kuten Kirchengast [69] mainitsee, ja työkalut voivat myös painottaa koulutusdatansa perusteella tietynlaisia vastauksia, kuten tutkimuksissa [65, 70] todetaan. Tekoälysäädöksen [30, 86] mukaan GenAI-työkalujen tulee olla läpinäkyviä. Tutkimuksissa [31, 34, 117, 128] työkaluihin on liitetty useita läpinäkyvyyteen ja selitettävyyteen liittyviä ongelmia. Von Eschenbach [128] varoittaa esityisesti mustan laatikon ongelmasta, kun taas Franceschelli ja Musolesi [34] ovat huolissaan siitä, että GenAI voi rikkoa tekijänoikeuksia. Tämän lisäksi Sun et al. [117] tuovat esille, että ohjelmistokehittäjät kaipaavat GenAI-työkaluihin lisää selitettävyyttä. Työkalujen läpinäkyvyyteen ja selitettävyyteen liittyy siis paljon haasteita. Vaikka eettiset ohjeet tukevat luotettavien ohjelmistojen kehitystä, myös niissä on todettu ongelmia. Ryan ja Stahl [110] kertovat tekoälyyn liittyvien eettisten ohjeiden ja Gogoll et al. [37] ohjelmistokehityksen etiikan ohjeiden tarjoavan riittämättömästi neuvoja käytäntöön. Kuten Gogoll et al. [37] varoittavat, tällöin eettisiä ohjeita ja periaatteita saatetaan noudattaa valikoiden tai niistä ei välitetä. Koska tämä sama ongelma esiintyy sekä ohjelmistokehityksen että tekoälyjärjestelmien etiikassa, eettiset ongelmat saattavat esiintyä loppukäyttäjille. Tällöin GenAI-työkalujen käyttäjät saattavat huomata eettisiä ongelmia niiden käytön aikana, kun etiikkaa ei olla saatu osaksi niiden kehitystä. 45 5 Tavoitteet ja aineiston käsittely Vakkuri et al. [125] ovat tutkineet, miten tekoälyä kehittävät yritykset huomioivat tekoälyjärjestelmille suunnattuja etiikan ohjeita. Tämän lisäksi tutkimuksissa on tarkastelu yksittäisiä eettisiä ongelmia, kuten tekoälyjärjestelmien läpinäkyvyyttä [128] ja selitettävyyttä [27, 117]. Ryan ja Stahl [110] kuitenkin kertovat etiikan ohjeiden noudattamisen olevan haasteellista, koska ne ovat vaikeaselkoisia ja niissä ei ole riittävästi käytännön ohjeita. GenAI-työkaluihin liittyvää etiikkaa ohjelmistokehityksessä on kuitenkin pohdittu vähän. Generatiivisen tekoälyn tutkiminen on keskittynyt erityisesti siihen, mihin työtehtäviin [143, 36] sitä voidaan käyttää. Tämän lisäksi tutkimuksissa [48, 53, 46] on tutkittu GenAI-työkalujen vastausten laatua erilaisissa tehtävissä. Työkaluihin liittyviä käyttökohteita, hyötyjä ja haittoja on siis tutkittu paljon. Koska GenAI-työkaluja voidaan käyttää kaikissa ohjelmistokehityksen vaiheissa ja monenlaisissa työtehtävissä, tässä tutkimuksessa halutaan selvittää tämänhetkistä tilannetta GenAI-työkalujen käytöstä ohjelmistokehityksessä. Huolimatta työkalujen osoittamasta potentiaalista useissa työtehtävissä, ne eivät välttämättä tue työntekoa riittävästi. Vaikka GenAI-työkalujen käyttäjien kokemuksia on tutkittu erityisesti ohjelmoinnissa [11, 107], tässä tutkimuksessa halutaan myös tarkentaa IT-alalla toimivien henkilöiden mielipiteitä ja kokemuksia työkalujen hyödyistä ja haitoista eri tehtävissä. Koska tekoälyn etiikan ohjeistus on vaikeaselkoinen ja siinä ei ole riittävästi käytännönohjeita, eettisiä ongelmia saattaa esiintyä GenAI-työkaluja käytettäessä. Tämän takia tutkimuksessa halutaan myös selvittää GenAI-työkalujen käytön tuottamia eettisiä ongelmia ja niiden esiintyvyyttä. Tämän lisäksi tutkimuksessa tarkastellaan tekoälyn etiikan ohjeiden tunnettavuutta ja sovelletaanko GenAI- työkalujen käytössä eettisiä ohjeistuksia. Tutkimuskysymyksinä ovat: 1. Mihin ohjelmistokehityksen työtehtäviin GenAI-työkaluja käytetään käytännössä? 2. Mitkä ovat GenAI-työkalujen koetut hyödyt ja haitat? 3. Miten tekoälyyn liittyvät eettiset ohjeet huomioidaan GenAI-työkaluja käytettäessä? 46 3.1. Onko eettisiin ongelmiin törmätty GenAI-työkaluja käytettäessä? Koska tarkoituksena on selvittää tietotekniikan ammattilaisten kokemuksia ja mielipiteitä, tutkimusmenetelmäksi valittiin kvalitatiivinen puolistrukturoitu haastattelu, jossa ilmenee myös Hirsjärven ja Hurmeen [47, luku 4.2.3] esittelemän haastattelumenetelmän, teemahaastattelun, piirteitä. Haastattelussa voidaan syventyä haastaltavien kokemuksiin, jolloin Hirsjärven ja Hurmeen [47, luku 1] mukaan se soveltuu tiedonhankintaan. Hirsjäven ja Hurmeen [47, luku 4.2.3] mukaan teemahaastattelun haastattelukysymykset muodostuvat tutkijan valitsemien teemojen ympärille, mitä käsitellään jokaisen haastateltavan henkilön kanssa. Tutkimuksen haastattelujen teemoiksi valittiin GenAI-työkalujen käyttäminen ohjelmistokehityksessä ja GenAI-työkalujen etiikka. Hirsjärven ja Hurmeen [47, luku 4.2.3] mukaan puolistrukturoidussa haastattelussa on tyypillistä, että haastateltaville esitetään samat kysymykset. Tämän takia tutkimuksen haastattelukysymykset muodostettiin etukäteen ennen haastatteluita. Koska kyseessä on puolistrukturoitu haastattelu, haastateltavat vastaavat haastattelukysymyksiin omin sanoin, ilman valmiita vastausvaihtoehtoja. Tutkimukseen valittiin satunnaisesti eri kokoisia IT-alan yrityksiä, joilla on toimipiste Pirkanmaalla. Yrityksiin otettiin yhteyttä sähköpostitse aikavälillä 25.4 - 3.6.2024. Haastattelupyyntö lähetettiin 74:lle yritykselle, joista seitsemästä IT-alan yrityksestä osallistui yhteensä yhdeksän henkilöä. Kaikilla haastateltavilla oli kokemusta tai kiinnostusta GenAI-työkalujen käytöstä. Taulukossa 5.1 esitellään tutkimukseen osallistuneiden yritysten ja haastateltavien määrät luokiteltuna kolmeen eri yrityskokoluokkaan, jotka perustuvat yritysten työntekijöiden määriin. Taulukko 5.1: Osallistuneiden yritysten kokoluokat ja haastateltavien määrät. Kokoluokka Työntekijöitä Yrityksiä Haastateltavia Pienyritys 1-50 4 5 Keskisuuri yritys 51-249 2 3 Suuryritys >249 1 1 Haastateltaville lähetettiin haastattelukutsu, liite A, ja tutkimukseen liittyvä tietosuojailmoitus, liite B. Halutessaan haastateltavat pystyivät tutustumaan haastattelurunkoon, liite C, etukäteen. Haastattelurungon C kysymykset on jaettu ylä- ja 47 alakysymyksiin. Haastateltavilta kysyttiin ensisijaisesti yläkysymykset ja ajan riittäessä myös alakysymyksiä. Haastattelurungossa C, Etiikka-osiossa, yläkysymykseen 1 on merkattu, että haastateltaville voidaan tarvittaessa esittää etiikan ohjeita. Haastateltavalle esitettiin hänen niin halutessaan taulukon 4.1 mukaiset tekoälyn eettiset periaatteet. Haastattelut suoritettiin yksilöhaastatteluina 9.5.-6.6.2024 välisenä aikana etäyhteydellä Zoom JYU-sovelluksen avulla. Litteroidun haastatteluaineiston analyysin pohjateoriaksi valittiin ankkuroitu teoria (engl. Grounded Theory Method, GTM), koska Williamsin ja Moserin [135] mukaan sen avulla voidaan organisoida haastatteluaineiston sisältöä. Kuvassa 5.1 esitellään yksinkertaistettu versio GTM:n vaiheista. Vaikka Urquhartin[123] mukaan GTM:n päätarkoituksena on teorioiden rakentaminen tutkittavan aineiston pohjalta, tässä gradussa ei kehitetä teoriaa vaan vastataan aikaisemmin määritettyihin tutkimuskysymyksiin. Tämän takia teorian kehitysvaihe on jätetty pois kuvasta 5.1. Kuva 5.1: Aineiston käsittelyn vaiheet, muokattu lähteestä [135, s.54]. Williamsin ja Moserin [135] mukaan GTM on induktiivinen tapa käsitellä aineistoa, ja Urquhart [123] huomauttaa, että GTM:ssä aineistoa ei käsitellä aikaisempien teorioiden pohjalta. Tällöin koodit ja teoriat muodostuvat luettavan haastatteluaineiston pohjalta, kun litteroituja haastatteluja luetaan läpi useamman kerran. Kuvan 5.1 mukaisesti haastatteluaineiston käsittely aloitetaan avoimella koodausvaiheella, jossa Urquhart [123] suosittelee käsittelemään aineistoa systemaattisesti lukemalla tekstikappaleita rivi kerrallaan koodien muodostamiseksi. Tämän jälkeen edetään aksiaaliseen koodaukseen, jossa eri koodisanat luokitellaan samo- 48 jen käsitteiden alle. Williams ja Moser [135] mukaan tällöin tarkastellaan avoimessa koodauksessa saatujen koodien suhteita toisiinsa, jolloin niitä voidaan luokittella samoihin tai eri luokkiin. Selektiivisessä vaiheessa Williamsin ja Moserin [135] mukaan luokkia yhdistetään samoihin teemoihin. Vaikka kuvassa 5.1 aineiston analyysin vaiheet esitetään lineaarisesti, Williamsin ja Moserin [135] mukaan GTM:n kolme koodausvaihetta toimivat syklissä, jossa vaiheiden järjestys vaihtelee, kun aineistosta löytyneitä koodeja, luokkia ja teemoja vertaillaan jatkuvasti keskenään. Urquhart [123] kertoo aineistosta saatavien koodien ja luokkien vertailun olevan tärkeää, jotta koodeja voidaan yhdistää samaan luokkaan. Tämän takia haastatteluaineistosta löytyviä koodeja vertaillaan keskenään yhteisten luokkien löytämiseksi. Vastaavasti myös luokkia vertaillaan keskenään, jotta voidaan löytää yhteisiä teemoja. Taulukossa 5.2 esitetään esimerkki haastateltavien kommenttien perusteella syntyneistä avoimista koodeista, luokista ja luokkien perusteella syntyneestä teemasta. Kommentit kuuluvat eri luokkiin, koska toinen kommenteista kertoo vastausten virheellisyydestä ja toinen taas niiden laadusta. Kummatkin kommentit kuitenkin viittaavat GenAI-työkalujen vastausten luotettavuuteen ja laatuun, jonka takia ne on lopulta yhdistetty samaan teemaan. Taulukko 5.2: Esimerkki litteroidun haastatteluaineiston analyysistä. Kommentti Avoin koodi Luokka Teema “...todella usein sillonkin niin jos mä vaan copy-pasteen sen valmiin vastauksen ja pistän sen koodiin ni se ei tuu ikinä menemään läpi, et ne niinku tosi harvoin toimii.”(I) Virheet koodissa Virheelliset vastaukset Tekevät laaduttomia ja epäluotettavia vastauksia “...ne tuottaa semmosta toisteista amatööritason koodia...” (E) Koodin amatöörimäisyys Heikkolaatuiset vastaukset Koska haastateltavia on vähän, ja osa heistä on samoista yrityksistä, tutkimustulokset eivät anna laajaa kuvaa GenAI-työkalujen käytöstä ohjelmistokehityksessä. Tulokset voivat antaa suuntaa-antavan kuvan siitä, missä työtehtävissä työkaluja erityisesti käytetään, jos useat haastateltavat käyttävät työkaluja samoihin aihealueisiin. Myös yrityksen oma toiminta ja haastateltavien työkokemus voi vaikuttaa siihen, millaisiin tehtäviin GenAI-työkaluja on käytetty. Tällöin joitain näkökulmia, 49 kuten GenAI-työkalujen käyttö pelinkehityksessä voi jäädä puuttumaan täysin. Toisaalta tämä tarkoittaa myös sitä, että jotkut erikoisemmat käyttökohteet ja näkökulmat voivat korostua, kun haastateltavia on pieni määrä. Tulokset eivät siis voi antaa täysin kattavaa kuvaa GenAI-työkalujen käytöstä ohjelmistokehityksessä, mutta antavat kuvan tyypillisistä käyttäkohteista, hyödyistä ja haitoista ja voivat hahmottaa myös erikoisempia aihealueita. 50 Koska työkalut voivat tuottaa virheellisiä ja epäluotettavia vastauksia, työntekijöiltä vaaditaan arviointikykyä laaduttomien vastausten tunnistamiseksi ja korjaamiseksi. Tämän lisäksi heillä tulee olla riittävästi osaamista ja tietämystä, jotta he pystyvät muotoilemaan laadukkaita kehotteita. GenAI-työkalujen käyttöä saattaa vähentää myös koulutusdataan liittyvät rajoitteet, jolloin työkalut eivät tue riittävästi työntekoa. Kun työkaluihin liittyy useita ongelmia, ne voidaan kokea tarpeettomiksi. 6.2.1 GenAI-työkalujen hyödyt Haastateltavat ovat pääasiassa samaa mieltä siitä, että GenAI-työkalujen avulla voidaan nopeuttaa useiden erilaisten töiden tekoa. Tähän vaikuttaa työkalujen koulutusdatan kattavuus. Haastateltavien mukaan ne nopeuttavat testausta, ohjelmointia ja kirjoittamista laatimalla pohjarunkoja työn jatkamiseksi. Työskentelyä nopeuttaa myös työkalujen helppokäyttöisyys, kun ne voidaan liittää osaksi ohjelmistoympäristöä ja ne tarjoavat vastauksia automaattisesti. Erityisesti GitHub Copilotin koodin automaattinen täydennys on koettu laadukkaaksi. GenAI-työkaluja voidaan siis käyttää tehtävissä, jotka koetaan toistuviksi ja tylsiksi. Tällöin käyttäjät pääsevät nopeammin tekemään heitä kiinnostavia tehtäviä ja työskentelystä tulee mielekkäämpää. “...aika isookin niinkun koodialueen pystyy niinku autocompleettaamalla, autocompleettaamaan jopa oikealla tavalla [GitHub Copilotin avulla].” (A) “...unit-testien tekemiseen meni aikaa puolipäivää, päivä, et nyt sitä tehdään ehkä kymmenessä minuutissa.” (H) “...on paljon devaajia, jotka käyttää Copilotia nimenomaan testipohjien kirjottamiseen, tälläseen niinku tylsään toistuvaan duuniin...” (I) ChatGPT:tä voidaan käyttää Stack Overflown sijasta, jolloin se helpottaa ohjelmointiin liittyvien ongelmien ratkaisua. Tiedonhaku nopeutuu, kun työkaluilta voidaan pyytää esimerkkejä, lisätietoja ja neuvoja. Tämä kuitenkin tarkoittaa sitä, että käyttäjän on osattava luoda hyviä kehotteita, jotta työkaluilta saadaan laadukkaita vastauksia. Tiedonhaku on myös sujuvampaa GenAI-työkalujen kuin hakukoneiden avulla, koska ne antavat vain kysymykseen liittyvää tietoa. Tämän lisäk- si ChatGPT tuottaa laadukkaita vastauksia erilaisissa teksinkäsittelytehtävissä, ja 57 haastateltavilla vaikuttaa olevan positiivisempi mielikuva ChatGPT:n tekstinkäsittelykyvyistä kuin koodaustaidoista. “...jotkut tämmöset tutoriaalit ja ohjeistukset mitä netistä löytyy jostain blogeista ni sellasen laatu ei ehkä oo sit niin hyvä ja sitten sit siel on semmosia kaikennäköisii klippei [videopätkiä], artikkeleita ja tällasia ja tämmösii häiriötekijöitä, kun ChatGPT mun mielestä niinku se on hyvin kiva ku, kiva ku siinä ei oo niinku mitään niinku häiritseviä asioita, et vaan niinku sitä sisältöö.” (A) “...se on niinku sujuvaa englanninkieltä mitä se, asiakieltä, mitä se tota kirjottaa ja sitä, sitä pystyykin editoimaan sellaseks ku haluaa, mutta monesti niinkun, monesti niinkun on sellasenaan pystyny hyödyntämään...” (D) Pari haastateltavaa myös mainitsee, että GenAI-työkalut voivat suoriutua tietyistä tehtävistä paremmin kuin ihmiset. Ymmärrettävästi GenAI-työkaluilla on laajempi tietämys useista eri aihealueista verrattuna ihmisiin. Tämän lisäksi työkaluja ei rajoita psyykkiset tekijät, jotka voivat vaikuttaa työntekijöiden työskentelynopeuteen. Tällöin työkalut tukevat käyttäjien työntekoa ja voivat vähentää heihin kohdistuvaa kuormaa. “...se [GenAI] kahlaa sitä dataa läpi, siinähän ihminen on tosi huono, kun sä oot kaks tuntii kahlannu jotain ykköstä ja nollaa, ykköstä ja nollaa niin nolla muuttuu ykköseks ja ykkönen nollaks ja sit siellä on A:ta ja T:tä ja kaikkee muuta seassa.” (B) 6.2.2 GenAI-työkalujen haitat Työkalujen käyttöön vaikuttaa käyttäjien oma suhtautuminen kyseisiin työkaluihin. Suurin osa haastateltavista kokee GenAI-työkalut työntekoa tukeviksi välineiksi, mutta haastateltavat Cja Eeivät käytä niitä, koska niiden vastaukset ovat laaduttomia. Käyttäjien mielipiteisiin voi myös vaikuttaa se, että GenAI-työkalujen ei koeta korvaavan riittävän hyvin käytössä olleita tapoja tai menetelmiä. Tällöin ne eivät nopeuta työskentelyä riittävästi ja voivat jopa hidastaa sitä, kun käyttäjät joutuvat korjaamaan virheellisiä vastauksia. Kaikki haastateltavat kertovat GenAI-työkalujen tuottavan virheellisiä vastauksia, jolloin aikaa kuluu vastausten tarkistamiseen ja virheiden korjaamiseen. Käyttäjiltä vaaditaan myös riittävästi ymmärrystä työkaluilta kysytyistä aiheista, jotta he 58 voivat arvioida vastausten oikeellisuutta. Tämän lisäksi käyttäjiltä vaaditaan taitoa kehotteiden muotoilussa, koska ne vaikuttavat merkittävästi työkalujen vastausten laatuun ja käytettävyyteen. Käyttäjät eivät välttämättä tiedä kuinka paljon tietoa työkaluille tulisi antaa laadukkaiden vastausten saamiseksi. Yksi haastateltavista myös mainitsee, että välillä keskustelun voi joutua aloittamaan alusta, kun kehotteen muotoilu on epäonnistunut. Käyttäjällä tulee olla riittävästi ymmärrystä kysyttävästä aihealueesta, jotta kehotteiden teko on helpompaa. GenAI-työkalujen käyttäjillä on siis suuri vastuu niiden käytöstä. “Jos sää kysyt jotain tekoälyltä, että “Mites tää on?” nii siin vois tulla vastauksia niinku, että sä et ihan päältäpäin tiiä onks tää niinku hallusinaatio vai oikea totuus, jos sulla ei oo tietoa siitä.” (H) “Se tuntuu semmoselta mystiseltä varjonyrkkeilyltä, mitä sun pitää harrastaa, et sä saat menemään sen sun idean läpi ja sit-sit, ainakin itelle tulee tosi nopeesti sellanen niinku turhautumine siinä kun sä tavallaan tiiät mitä sä haluut ja ihmiseltä sä voisit vaan kysyä sen kysymyksen, mut sun pitää ihme taiteilua tehä, että sä saat sen menemään sil läpi ja siltikään se ei välttämättä mee...” (I) Vaikka kehotteiden muotoilulla on merkitystä GenAI-työkalujen vastausten luotettavuuteen, työkalut tuottavat siitä huolimatta virheitä. Erityisesti hallusinointi vaikuttaa olevan tyypillinen ongelma työkalujen vastauksissa. Työkalujen aiheuttamat virheelliset vastaukset ovat suuri ongelma, joka vaikuttaa myös työkalujen käytettävyyteen. Tämä tulee esille myös haastatteluissa, kun haastateltava Ckertoo lopettaneensa työkalujen käytön niiden epäluotettavuuden takia. GenAI-työkalut voivat tuottaa virheellisiä vastauksia riippumatta työtehtävästä, mutta haastateltavat ovat kokeneet niitä erityisesti ohjelmoinnissa. Tämä johtuu todennäköisesti siitä, että he käyttävät työkaluja erityisesti ohjelmoinnin tukena ja siihen liittyvässä tiedonhaussa. “Monesti sen [GenAI:n luoman koodin] joutuu ihan vaan käymään läpi ja sit korjaamaan ihan ilmiselvii juttuja, mut siel on monesti sitten välillä on semmosia niinku sitten ihan sellasia lähestymistapavirheitä...” (E) Työkalujen tuottamissa ongelmissa huomataan myös yhteys koulutusdatan rajallisuuteen. Ne eivät käsittele ohjelmointikieliä tasavertaisesti, jolloin vastaukset 59 voivat olla joko laadukkaita tai laaduttomia käytettävän kielen mukaisesti. Ongelmana on myös vastausten yleisluontoisuus, jolloin ne eivät pysty ratkaisemaan spesifisiä tai erikoisia ongelmia. Yksi haastateltavista myös mainitsee työkalujen hyödyntävän vanhentuneita kirjastoja. Koulutusdatalla on siis suuri merkitys työkalujen vastausten laadussa ja luotettavuudessa. Siihen liittyvät ongelmat voivat rajoittaa ja vähentää työkalujen käyttöä, kun vastaukset ovat hyödyttömiä tai liian alkeellisia. “...mut oon sit niinku huomannu et välttämättä niinku uusien kirjastojen kanssa tai jos joku kirjasto niinku päivittyy uuteen versioon niin sit [ChatGPT] ei välttämättä osaa niinku vastata niihin kysymyksiin tai se niinku ei tiedä, et joku uus ominaisuus on tullu käytettäväks...” (A) “...niche-alueilla on välil tosi vaikee käyttää eli kun sitä dataa ei ole paljon niin sit se mene hyvin geneeriseen semmoseen diipadaapa jutteluun, mistä ei sit oo siihen työhön varsinaisesti hyötyä.” (B) “...Clojure vastaukset on laaduttomampia kuin vaikka Javascript tai tota Pythonvastaukset ihan vaan sen takia, et sitä niinkun koulutusdataa on ollu vähemmän. Et se voi olla osa tätä niinkun, mun niinkun nuivaa suhtautumista tähän niinku teknologiaan.” (E) Useat haastateltavat kertovat myös työkaluissa esiintyvän moderoinnin ja sensuurin vaikuttavan työkalujen käyttöön ja niiden tuottamiin vastauksiin. Tällöin ne voivat vähentää niiden käyttöä erilaisissa asiakasprojekteissa, joissa joudutaan käsittelemään eettisesti haastavia aihealueita. Yksi haastateltavista mainitsee myös muita työkaluihin liittyviä rajoitteita, kuten työkalun saatavuuden ja muistin rajallisuuden. Tämän lisäksi pieni osa haastateltavista kertoo GenAI-työkalujen suoriutuvan huonosti myös asiayhteyksiä ja syy-seuraussuhteita esittävien kuvien ja kaavioiden teosta. Koska työkaluihin liittyy useita käyttöä rajoittavia tekijöitä, ne voivat hidastaa työntekoa tai niiden sijaan pitää käyttää perinteisiä menetelmiä. Monet haastateltavien mainitsemista rajoitteista ovat sellaisia, joihin käyttäjät eivät pysty vaikuttamaan. Tällöin on tärkeää, että käyttäjät eivät tukeudu liikaa GenAI-työkaluihin, jotta töitä pystyy jatkamaan myös ilman generatiivista tekoälyä. “...niinku vankeusrangastuslaitoksen juttuja, jos rupee niitten [GenAI-työkalujen] kans jutteleen, jos semmonen tulis asiakkaaks esimerkiksi, et tarvits testata niille jotain softaa nii sehän ei onnistu niille ollenkaan...” (B) 60 “...saan sitä [tietomallia] nopeemmin ite aikaseks. Kun mä joutuisin kuitenkin todennäkösest aika paljon selitteleen ja tarkentaan ja käytännössä kirjottaan sen tietomallin melekein auki ja niinkun ennenkun tekoäly sitten ymmärtää...” (F) 6.3 GenAI-työkalut ja etiikka Vaikka useimmat haastateltavista eivät olleet tietoisia tekoälyn eettisten ohjeiden olemassaolosta, siinä esiintyvät aihepiirit ja käsitteet olivat heille entuudestaan tuttuja. He ovat saaneet tietoa tekoälyn etiikasta pääasiassa internetin välityksellä. Tämän lisäksi tietoa on saatu keskustelemalla aiheesta kollegoiden kanssa, koulutuksista sekä virallisista lähteistä. Etiikan ohjeiden tietäminen ja selvittäminen vaikuttaa kuitenkin olevan pitkälti työntekijöiden omalla vastuulla, mikä voi vaikeuttaa myös eettisten ongelmien tunnistamista. “...jossain X:ssä kautta Twitterissä tai YouTubesta, jos kattoo jotain podcaste- ja aiheeseen liittyen ni siellä sit ehkä jotain sivuttu. Ei oo niinku mitenkään yrityksen kautta tai opiskelujen kautta...” (A) Useampi haastateltava kertoo etiikan ohjeiden noudattamisen olevan tällä hetkellä vähäistä. Haastatteluista ilmenee, että etiikan ohjeiden hyödyntämiseen kaivataan enemmän tukea, mutta myös vastuullisuutta. Yksi haastateltavista mainitsee, että riittävän kovien rangaistusten avulla voidaan parantaa etiikan ohjeiden noudattamista. Eettiset ohjeet saatetaan huomioida paremmin tulevan tekoälysäädöksen ansiosta, kun tekoälyjärjestelmien kehitykselle asetetaan vaatimuksia. “...tulee mieleen vähän tällänen internetin alkuaika, että tota ei siellä paljon ohjeita oo, et ei niitä paljoo-, ketään ei välitä niistä, tälläsistä ohjeista ja siel on, siel on tota, se on sellanen villilänsi tällä hetkellä...” (G) 6.3.1 Tekoälyn eettiset ohjeet yrityksissä Vaikka pääasiassa haastateltavien yrityksissä ei noudateta tällä hetkellä mitään tekoälyn eettistä ohjeistusta, yrityksissä on keinoja eettisten ongelmien estämiseksi. Usein eettisyyden pohdinta voi kuitenkin jäädä GenAI-työkalujen käyttäjien vastuulle, kun yrityksistä ei saada riittävästi tukea eettisiin haasteisiin. Tällöin työkalujen käyttöön vaikuttaa erityisesti haastateltavien omat moraalit ja jo käytössä olevat ohjelmistokehitykseen liittyvät vaatimukset. 61 “...mä koitan niinku käyttää niitä [GenAI-työkaluja] sellasella tavalla että ne, ne ei aiheuttas pahaa...” (I) “...jos mä teen semmosia asioita, mitkä on eettisesti arvelluttavii nii mä teen sen mun omassa hiekkalaatikossa [paikallisesti] ja data mitä siel sit käsitellään ni se ei oo muille ja sitte taas, et mitä se tulostaa nii sekään ei oo muille.” (B) Taulukossa 6.2 esitetään yritysten keinoja eettisten ongelmien ratkaisemiseksi. Yhdessä yrityksessä on etiikkaan perehtynyt ryhmä, jolta työntekijät saavat apua eettisiin ongelmiin keskustelemalla tai tarkistuslistan avulla. Myös toisen haastateltavan yrityksessä ollaan tietoisia GenAI-työkalujen aiheuttamista eettisistä haitoista Digi- ja Väestötietoviraston tekemien ohjeiden pohjalta sekä AI HLEG:n tekemästä eettisestä ohjeistuksesta. Osassa yrityksistä on kielletty asiakastietojen käyttö GenAI-mallien kouluttamisessa sopimuksilla tai manuaalisesti. Tämän lisäksi asiakas voi kieltää työkalujen käytön, jolloin voidaan suojautua niihin liittyviltä eettisiltä ongelmilta. Tämä kuitenkin vaatii sen, että asiakas on tietoinen niiden mahdollisesta käytöstä. Pääasiassa vaikuttaisi siltä, että asiakkaan kanssa ei juurikaan keskustella siitä saako työkalu- ja käyttää heidän projekteissaan ellei asiakas ole sitä itse kieltänyt. On mahdollista, että myös GenAI-työkalujen käytöstä tarvittaisiin lisää läpinäkyvyyttä. Koska asiakkaat ovat vastuussa kehitettävästä tuotteesta, heidän tulisi olla tietoisia työkalujen käytöstä. Taulukko 6.2: Eettisten ongelmien ratkaisukeinot yrityksissä. Keinot •Etiikkaan perehtynyt ryhmä: Ryhmän kanssa keskustelu Tarkistuslista •Datan käytön rajoittaminen: Sopimukset Manuaalinen kieltäytyminen •GenAI:n käytön rajoittaminen: Asiakas kieltää GenAI:n käytön •Viralliset tekoälyn etiikan ohjeet: Digi- ja Väestötietovirasto AI HLEG 62 Kolmen haastateltavan yrityksessä tekoälyn etiikan ohjeet ovat päivittymässä eli yritykset reagoivat tekoälyn tuomiin muutoksiin, mutta ohjeiden päivitys ja etiikan eri aihealueiden ymmärtäminen voi viedä oman aikansa. Yritykset saattavat myös tarvita herättelyä aiheeseen, jotta toimia tehdään tekoälyn etiikan huomioimiseksi. Vaikka etiikan ohjeiden avulla saadaan tietoa siitä, miten niitä käytetään eettisesti, yksi haastateltavista huomauttaa, että niiden avulla voidaan myös päättää käytetäänkö GenAI-työkaluja työnteossa. Eettisten ohjeiden tuntemus ei siis pelkästään tue itse työkalujen käyttöä, vaan myös niiden valintaprosessia. “...tää on itseasias kehys, jolla niitä palveluita kannattaa kattoo, jonka läpi niitä palveluita kannattaa kattoo, niitä tekoälypalveluita: kannattaako niitä ottaa käyttöön vai ei, se on yks niistä kehyksistä nää eettiset säännöt...” (D) 6.3.2 GenAI-työkalujen eettiset ongelmat Haastateltavien kokemuksiin voi vaikuttaa tietämättömyys siitä, mitä eettisiä ongelmia työkalut voivat aiheuttaa sekä miten ne muodostuvat ja näyttäytyvät heidän työssään. Käyttäjät eivät välttämättä kiinnitä huomiota itse työkalujen aiheuttamiin eettisiin ongelmiin, vaan korostavat oman toimintansa eettisyyttä. Vaikka käyttäjät siis ovat kokeneet ongelmia GenAI-työkalujen käytön aikana, he eivät välttämättä tiedä, että ne voidaan luokitella eettisiksi ongelmiksi. “...ei sitä oikein niinku ajattele et miks se nyt jonkun näkösen lopputuloksen niinkun tuotti, sitä vaan ajattelee, et näin se vaan nyt tällä kertaa generoi.” (A) “En mä nyt oo mitään kansanmurhaa tässä suunnittelmassa ni [haastateltava naurahtaa] ni tuota ei oo, ei oo mitään ongelmaa sillä tavalla ton, ton puolen [etiikan] kanssa...” (F) Vaikka vain kaksi haastateltavaa kertoo kokeneensa GenAI-työkalujen käytön aikana eettisiä ongelmia, eettisiä ongelmia kokeneiden haastateltavien määrä nousee kuuteen, kun huomioidaan työkalujen vaikutus eriarvoisuuteen. Kuudesta haastateltavasta kolme on kokenut ja tunnistanut eettisiä ongelmia työkalujen tuottamien vastausten läpinäkyvyydessä, selitettävyydessä ja toistuvuudessa. Vastaavasti kuudesta haastateltavasta neljä on kokenut, mutta ei tiedostanut, työkalujen aiheuttamaa eriarvoisuutta, kun ne eivät käsittele ohjelmointikieliä tasavertaisesti. Kaksi 63 haastateltavaa on myös kokenut eettisiä ongelmia käyttäessään Slack-viestintäsovel- lusta, siihen kehitetyn generatiivisen tekoälyjärjestelmän takia. Vaikka haastateltavat eivät ole kokeneet useita erilaisia eettisiä ongelmia työkalujen käytön aikana, myös tietoisuus niistä voi vaikuttaa työkalujen käyttöönottoon. Haastateltava Iei käytä GenAI-työkaluja niihin liittyvien eettisten ongelmian takia. Eivät ole läpinäkyviä. Monet haastateltavat mainitsevat GenAI-työkalujen olevan mustia laatikoita eli käyttäjät eivät tiedä mihin niiden tuottamat vastaukset perustuvat. Työkaluilta voidaan pyytää lähteitä, mutta myös ne voivat olla tekaistuja. Tämän lisäksi vastaukset voivat pohjautua tekijänoikeuksilla tai lisensseillä suojattuihin materiaaleihin. Vaikka haastateltavat eivät itse ole kokeneet GenAI-työkalujen rikkovan tekijänoikeuksia, he tietävät sen olevan mahdollista. Kun malleja koulutetaan runsaalla datamäärällä, joukossa voi olla paljon tekijänoikeuksilla ja lisensseillä suojattua materiaalia. Koska vastauksista ei tiedetä mihin lähteisiin ne perustuvat, käyttäjät eivät tiedä rikkovatko ne tekijänoikeuksia. “...jos mä julkasen, vaikka avointa lähdekoodia niin tota, että sitä voidaan käyttää näin, et sil [GenAI-työkalulla] voidaan ikäänkuin kiertää se lisenssi, et se voidaan niinku tollai niin sanotusti, niinku pestä se tekijänoikeus pois sen niinku tota kielimallin avulla.” (E) Lähes kaikkien haastateltavien mielestä GenAI-työkalujen vastaukset ovat epäluotettavia. Työkaluihin tarvitaan siis lisää läpinäkyvyyttä ja selitettävyyttä, jotta niiden tuottamat vastaukset olisivat luotettavampia kuin tällä hetkellä. Koska työkalut voivat antaa virheellistä tietoa, käyttäjien arviontikyvyn kehittäminen on tärkeää. “...ne [GenAI-työkalujen] haasteet on koskeneet sitä selitettävyyttä, toiminnan läpinäkyvyyttä, et kuinka se ChatGPT-työkalu on päättynyt-, päätynyt siihen tiettyyn lopputulokseen, miten se on saanu sen aikaan, mistä tieto on kerätty, miten sitä on jalostettu, miten analysoitu, miten johtopäätöksiin tai yhteenvetoon on päädytty, miten lähteitä on käytetty niin se selitettävyys on se haaste.” (D) “...sää et lähtökohtasesti voi luotaa yhtään mihinkään, koska kaikki voi olla tekoälyn keksimää väärennöstä ja toi on niinku ihan hirveeltä kuulostava uhkakuva, mihin tää homma niinkun tällä hetkellä on menossa, mihin se on osittain mennytkin...” (F) 64 Voivat toistaa samoja vastauksia. Pieni osa haastateltavista on huomannut GenAI- työkalujen toistavan samoja vastauksia ohjelmoinnin aikana. Tämä voi tarkoittaa, että työkalut ovat puolueellisia. Haastateltavat kertovat, että vastauksissa voi toistua samat virheet ja ongelmanratkaisutavat. Vaikka kehotteiden avulla voidaan pyrkiä vaikuttamaan työkalujen tuottamiin vastauksiin, ne eivät välttämättä auta riittävästi. Koodipätkien toistuvuus voi olla vaikea huomata, koska koodissa voi esiintyä luonnostaan toistuvia piirteitä. “...ensimmäinen versio [GenAI:lta saatu koodi] ei toimi, toinen toimii mut sä haluut parantaa sitä, sit sä saat jonkun uuden version nii siin on niit vanhoi virheit, jotka oli siellä aikasemmassa ja sit se korjaus, jota ehdotetaan nii kumoo ne virheet mut tulee toisiks seuraavat syntyneet virheet ja sit me pelataan semmost pingpongii missä ei päästä eteenpäin sit ollenkaan...” (B) “...koodissakin voi tietty semmonen patterni vois aika paljon tulla esiin. Sitten pitää olla niinku hereillä, että tää patterni taas toistuu.” (H) Voivat käyttää käyttäjistä kerättyä tietoa. Lähes kaikki haastateltavat tiedostavat GenAI-työkalujen aiheuttavan tietoturvariskejä. Asiakkaista ja yrityksistä voidaan kerätä tietoa, jota voidaan käyttää GenAI-työkalujen opettamiseen. Käyttäjät voivat myös joutua pohtimaan mitä tietoja työkaluille voidaan antaa kehotteiden välityksellä. Generatiivisen tekoälyn tuomat yksityisyys- ja tietoturvaongelmat voivat ilmetä myös muissa sovelluksissa, joihin kehitetään kyseisiä työkaluja. Haastateltavat kertovat Slack-viestintäohjelmaan tulevasta tekoälyjärjestelmästä, jonka opetukseen käytetään käyttäjien tietoja elleivät he itse kiellä sitä. “...tosiaan ne on niinku ne ChatGPT-logit et niitähän voidaan käyttää koulutukseen, että siitä on just puhuttu, että vähän kannattaa kyl miettiä mitä sieltä kysyy...” (E) “...mitä Microsoftikin niinku tekee semmosen jonkun Copilot plus PC-homma, missä se tekoäly on niinku todella integroitunu siihen koko järjestelmään ni kokoajan niinkun vakoilee sua tai jotain ni, onhan se vähän kyseenalaista ehkä.” (A) Voivat yhteiskunnan ja ympäristön hyvinvointia. Pieni osa haastateltavista on huolissaan ympäristön hyvinvoinnin heikentymisestä, koska tekoälyn kehitys ja käyttö 65 kuluttavat paljon energiaa. Haastateltavat kokevat GenAI-työkalujen pahentavan myös eriarvoisuutta yhteiskuntien, yritysten ja ihmisten välillä. Yksi haastateltavista mainitsee, että maiden infrastruktuurin taso, kuten internetin saatavuus, voi vaikuttaa generatiivisen tekoälyn käyttöönottoon. Eri maat voivat joutua siis eriarvioiseen asemaan. Tämän lisäksi eriarvoisuutta voidaan nähdä ihmisten välillä, kun GenAI-työkaluja käyttävät työntekijät tekevät työnsä nopeammin muihin verrattuna. Jos yrityksellä ei ole varaa kustantaa työkalujen käyttöä, sen kilpailukyky voi heikentyä. “...se on, aika, aika villiä et niinku maailman sähkönkulutuksesta kohta, niinkun leijonanosa alkaa mennä AI-roskan pyörittämiseen. Tuntuu hurjalta.” (I) “Se suorituskyky, se voi parantua dramaattisesti ne, jotka käyttää näitä generatiivista tekoälyä tai jotain muuta, osaa hyödyntää sen omassa asiantuntijatyössään niin saa ylivoimasta etua ja se tulee tavallaan niinku polarisoimaan niinku kansakuntia tai toimialoja tai toimialan sisällä yrityksiä tai ihmisiä...” (D) Neljä haastateltavaa kertoo GenAI-työkalujen tuottaman koodin laadun vaihtelevan ohjelmointikielen mukaisesti. Tällöin GenAI-työkalut voivat aiheuttaa eriarvoisuutta ohjelmistokehittäjien välille, kun koulutusdata ei edusta riittävän kattavasti eri ohjelmointikieliä. Tämä tekee työkalusta puolueellisen. “...mä ite käytän omassa työssä Go:ta ja sen näkee jo ihan suoraan siitä, että niinku sitä koulutusmateriaalia millä sitä AI:ta on koulutettu ettei sitä yksinkertasesti ole niin paljo, mut sit jos tekee jollain Javalla jotain mistä netti on pullollaan ni sit generoi paljon enemmän ongelmia onnistuneesti...” (I) Pääasiassa haastateltavat eivät ole huolissaan työnsä menettämisestä, vaikka generatiivisten tekoälytyökalujen käyttö on lisääntynyt. Tähän saattaa vaikuttaa haastateltavien pitkä ura IT-alalla, jolloin heillä on kattavasti osaamista. He kuitenkin toteavat, että työkalut pystyvät korvaamaan ihmisiä jossain määrin ohjelmistokehityksessä, erityisesti ohjelmistotestauksessa ja mahdollisesti myös koodauksessa. Tulevaisuudessa työntekijöitä voidaan verrata GenAI-työkaluihin, jolloin heiltä voidaan vaatia enemmän osaamista. Tällä hetkellä monet GenAI-työkalut kuitenkin tarvitsevat ihmiskäyttäjän kehotteiden muodostukseen ja vastausten arviointiin. 66 tä. Pro gradu -tutkielman tuloksissa tulee ilmi, että työkaluissa on moderointia ja niissä voi esiintyä saatavuusongelmia, mitkä heikentävät työkalujen käytettävyyttä. Tuloksissa tulee myös esille, että työkalut voivat sisältää vanhentunutta tietoa, joka Haquen ja Liin [46] mukaan voi aiheuttaa epäluotettavia vastauksia. GenAI- työkalut eivät siis osaa käyttää uusia kirjastoja tai kirjastojen uusia ominaisuuksia, jos niihin saatavat päivitykset tulevat pitkällä viiveellä. Tällöin ne eivät pysty neuvomaan käyttäjiä niiden käytössä ennen kuin itse GenAI-työkaluihin tulee päivityksiä. Vastaus tutkimuskysymykseen Miten tekoälyyn liittyvät eettiset ohjeet huomioidaan GenAI-työkaluja käytettäessä? on, että tekoälyn eettisiä ohjeita ei juurikaan huomioida GenAI-työkaluja käytettäessä. Tämä ei ole sinällään yllättävää, koska Ryanin ja Stahlin [110] tutkimuksessa mainitaan, että tekoälyn eettiset ohjeet ovat vaikeaselkoiset ja neuvoja niiden soveltamisesta on vähän. Aihealue on myös uudehko, jolloin eettiset ohjeet ja eettinen toiminta on todennäköisesti saanut vähemmän huomiota, tekoälyn tuomien mullistusten takia. Tekoälyn etiikan alue on kehittynyt siis viiveellä verrattuna kyseisen teknologian kehitykseen. Vastaavasti, vaikka tällä hetkellä suurimalla osalla ammattilaisten yrityksistä ei ollut mitään ohjeistusta tekoälyn etiikkaan liittyen, useat kertoivat siihen liittyvän keskustelun lisääntyneen yritysten sisällä. Etiikan ohjeita tullaan siis todennäköisesti huomioimaan paremmin tulevaisuudessa. Tällä hetkellä vastuu tekoälyjärjestelmien eettisestä käytöstä jää helposti täysin niiden käyttäjille, jolloin he eivät saa riittävästi tukea eettisten ongelmien esiintyessä. Vaikka tuloksista tulee esille, että haastateltavat eivät pääasiassa ole tietoisia tekoälyn etiikan ohjeista, etiikan ohjeissa [2] esiintyvät käsitteet, kuten selitettävyys ja läpinäkyvyys, ovat heille entuudestaan tuttuja. Pro gradu -tutkielman tulosten perusteella kysymykseen Onko eettisiin ongelmiin törmätty GenAI-työkaluja käytettäessä? vastaus on, että eettisiä ongelmia on ilmennyt työkalujen käytön aikana. Haastatteluissa esille tulleet käytännön eettiset ongelmat liittyivät GenAI-työkalujen tietoturvallisuuteen sekä vastausten läpinäkyvyyteen, selitettävyyteen ja toistuvuuteen. Tämän lisäksi GenAI-työkalut voivat lisätä ohjelmistokehittäjien välille eriarvoisuutta. Suurin osa haastateltavista tiedostaa GenAI-työkalujen olevan mustia laatikoita. Voidaan siis olettaa, että GenAI-työkalujen käyttäjät eivät saa riittävästi tietoa, millä perusteella työkalut päätyvät vastauksiinsa ja minkälaisiin lähteisiin ne perustuvat. Läpinäkyvyys ja selitettävyys on myös aikaisemmin todettu [128, 117] olevan GenAI-työkalujen haaste, joten pro gradu -tutkielman tulokset vahvistavat tämän 73 olevan edelleen tekoälyn eettinen ongelma. Niiden puuttuminen tekoälyjärjestelmistä, heikentää työkalujen luotettavuutta, jolloin käyttäjät voivat joutua varmistamaan muilla keinoin työkaluilta saatuja vastauksia. Pro gradu -tutkielmassa puolueellisuutta on ajateltu GenAI-työkalujen samojen vastausten toistuvuutena. Vain kaksi haastateltavista kertoi työkalujen tuottavan toistuvia vastauksia. Toinen heistä ei tunnistanut tätä eettiseksi ongelmaksi. Käyttäjät eivät siis välttämättä tiedä miten eettiset ongelmat saattavat esiintyä ohjelmistokehityksessä. Vastaava tilanne tulee esille myös ohjelmointikieliin liittyen. Vaikka neljä haastateltavaa kertoi työkalujen tuottaman koodin laadun vaihtelevan ohjelmointikielen mukaisesti, he eivät tunnistaneet sitä eettiseksi ongelmaksi. Tuloksiin saattaa vaikuttaa eettisten ohjeiden tuntemattomuus, jolloin myös eettisten ongelmien tunnistaminen saattaa olla vaikeaa. Eettisten ongelmien tunnistaminen voi myös olla haasteellisempaa ohjelmistokehityksessä, koska tavallisesti eettisistä ongelmista, kuten puolueellisuudesta, puhutaan yhteiskunnallisesta näkökulmasta. Vaikka aikaisemmassa tutkimuksessa [53] on todettu laatueroja eri ohjelmointikielten käsittelyssä, sitä ei ole tarkasteltu eettisenä ongelmana. Kun GenAI-työkalut eivät käsittele yhtä laadukkaasti eri ohjelmointikieliä, eräät ohjelmistokehittäjät ja yritykset voivat jäädä eriarvoiseen asemaan, kun työkalujen koulutusdatassa ei edusteta riittävän hyvin heidän käyttämäänsä ohjelmointikieltä. Tällöin kaikki käyttäjät eivät hyödy GenAI-työkalujen käytöstä, kun niitä käytetään ohjelmointiin. Tuloksista tulee myös ilmi, että eettisiä ongelmia eivät aiheuta vain käytössä olevat GenAI-työkalut, vaan niitä voi aiheuttaa myös muut työkalut, kuten pikaviestintäohjelmat, jos niiden kehittäjät alkavat kehittämään omaa tekoälyjärjestelmää. Huolena on, että käyttäjien tietoja käytetään luvatta tekoälyjärjestelmien opettamiseen ja tiedot voivat vuotaa ulkopuolisille tahoille. Vaikka haastateltavat eivät ole kohdanneet muita eettisiä ongelmia työkaluihin liittyen ohjelmistokehityksessä, he tunnistavat työkalujen aiheuttavan monia potentiaalisia ongelmia. Nämä ongelmat liittyvät, esimerkiksi tekijänoikeuksiin, tiedon vääristymiseen, yhteiskuntien ja ihmisten eriarvioistumiseen, puolueellisuuteen ja ympäristövaikutuksiin. He siis tunnistavat hyvin työkalujen käyttöön liittyviä eettisiä ongelmia. Tutkielman tekovaiheessa, GenAI-työkalujen aiheuttamia eettisiä ongelmia ohjelmistokehityksessä on tutkittu vähän. Pro gradu -tutkielman tulokset antavat siis osviittaa käyttäjien kohtaamista, tyypillisistä, eettisistä ongelmista, kun he käyttävät GenAI-työkaluja. 74 7.1 Rajoitteet ja tutkimuksen aikana todetut haasteet Tutkimusmenetelmäksi valikoitui teemahaastattelun piirteitä sisältävä puolistrukturoitu haastattelu, ja litteroituja haastatteluja arvioitiin GTM-menetelmää soveltaen. Koska tutkimusotos on pieni, tulokset eivät voi antaa kattavaa kuvaa koko ohjelmistokehityksen alalta. Tutkimuksen tulokset voivat antaa osviittaa tyypillisistä ongelmista, hyödyistä ja käyttökohteista sekä eettisten ohjeiden noudattamisesta, mutta niistä puuttuu monenlaisia näkökulmia esimerkiksi työkalujen käytöstä pelikehityksessä. Vastaavasti tutkimuksen aikana esille tulleet yksittäiset käyttökohteet, kuten mainosvideoiden teko, ei kerro kuinka tyypillinen kyseinen käyttökohde on, mutta tuo esille työkalujen laajan käyttöpotentiaalin. Koska haastateltavat valikoituivat satunnaisesti, osittain eri yrityksistä, heidän kokemuksensa ja mielipiteensä GenAI-työkalujen hyödyllisyydestä ovat erilaisia. Jos haastateltavia olisi ollut pienempi joukko, tulokset olisivat voineet puoltaa tietynlaista näkökulmaa työkalujen hyödyllisyydestä. Tämän lisäksi ChatGPT:stä tuli markkinoille uusi versio, GPT-4o[97], vuoden 2024 toukokuun aikana eli samaan aikaan kuin haastatteluja pidettiin. Tämän takia haastateltavien vastaukset perustuvat pääasiassa vanhempiin ChatGPT:n versioihin. Taulukosta 6.1 huomataan, että osalla haastateltavista on vähän kokemusta generatiivisten tekoälytyökalujen käytöstä. Vähäinen käyttö on myös potentiaalinen rajoittava tekijä, koska tällöin haastattelykysymyksiin vastaaminen on haasteellisempaa. Tosin tässä tutkimuksessa nämä haastateltavat olivat lopettaneet GenAI- työkalujen käytön niiden tuottamien ongelmien takia. Heillä oli siis kokemusta generatiivisten tekoälytyökalujen käytöstä, mutta ne koettiin hyödyttömiksi. Vaikka haastattelut mahdollistavat laaja-alaisen keskustelun tutkittavasta aiheesta, niiden aikana tulee huolehtia, että haastateltavat pysyvät annetussa aihepiirissä. Koska monilla haastateltavilla oli kokemusta GenAI-työkaluista myös ohjelmistokehityksen ulkopuolelta, he innostuivat kertomaan paljon niiden käytöstä myös vapaa-ajallaan. Välillä haastateltavia tuli siis johdatella takaisin aiheeseen eli GenAI- työkalujen käyttöön ohjelmistokehityksessä. Tämä myös vaikeutti haastateltavien vastausten tulkitsemista, jos kysytyssä kysymyksessä ei oltu painotettu GenAI-työ- kalujen käyttöä ohjelmistokehityksessä. Vastaavassa tutkimuksessa kannattaa siis korostaa joka kysymyksen kohdalla kontekstia, jotta vastaukset liittyvät varmasti tutkittavaan aihealueeseen. Litteroinnin aikana, aiheeseen liittymättömät kohdat voidaan kirjoittaa tiivistettynä, jotta aikaa säästyy oleellisten kohtien kirjoittami- 75 seen. Haastatteluihin kannattaa myös varata hyvin aikaa, sillä haastatteluaika saattaa useiden syiden takia kestää oletettua pidempään. Tähän voi vaikuttaa haastateltavan oma kiinnostus aiheesta, haastattelijan esittämien lisäkysymysten määrä ja etähaastattelun tapauksessa myös tietotekniset ongelmat, kuten yhteyksien pätkiminen. Haastattelujen litterointi on erityisen pitkäkestoinen prosessi. Litterointia hidastaa esimerkiksi äänenlaatuun liittyvät ongelmat johtuen haastateltavien eri laatuisista mikrofoneista. Tällöin kaikista sanoista ei saada selvää tai nauhoitusta joutuu kuuntelemaan useamman kerran läpi oikeiden sanojen kuulemiseksi. Jos sanasta ei saatu selvää, tieto epäselvyydestä merkittiin litteroituun materiaaliin. Jotta haastateltavan puhe kuuluu hyvin, haastattelijan tulisi olla mahdollisimman hiljaa, varoen normaalissa keskustelussa ilmenevää tapaa ilmaista ymmärrystä sanallisesti. Tällöin riskinä on, että haastattelijan kommentti saattaa peittää haastateltavan äänen ja haastateltavan lauseesta tulee käyttökelvoton, kun oleellinen sana on jäänyt kuulematta. Litteroinnit kannattaa aloittaa siis ajoissa, jotta haastattelija ehtii tekemään muutosta omiin toimintatapoihinsa. Muita haasteita litteroinnissa on esimerkiksi lauseiden kirjoittaminen kieliopin mukaisesti, kun lauseet ovat monimutkaisia ja pitkiä. Lauseet saattavat olla katkonaisia, ne voivat sisältää paljon täytesanoja ja puheen aikana haastateltavat voivat muuttaa sanavalintojaan, jolloin litteroinnista tulee työlästä. Koska ohjelmistokehityksessä käytetään paljon englanninkielistä termistöä, monet haastateltavat käyttävät englanninkielisiä ilmaisuja puheessaan. Tällöin tutkimuksen tekijä joutuu pohtimaan, tuleeko suomalaisittain lausutut englanninkieliset sanat selittää suomen kielellä tai esittää englannin kielellä. 7.2 Mahdollisia jatkotutkimusaiheita Vaikka tulokset 6 esittävät erilaisia GenAI-työkalujen käyttökohteita, niiden käytön tutkimista voisi rajata tarkemmin erilaisten ohjelmien kehitykseen - Miten GenAI- työkaluja käytetään pelikehityksessä tai mobiilisovelluskehityksessä? Samalla voisi tulla esille myös uusia näkemyksiä työkalujen hyödyistä ja haitoista. Koska haastateltavien vastauksista tuli esille, että GenAI-työkalu oltiin lisätty myös Slack-pikaviestintäohjelmaan, jatkotutkimukset voisivat selvittää tarkemmin myös ohjelmistokehityksessä käytettäviä GenAI-työkaluja. On mahdollista, että ge- 76 neratiivista tekoälyä kehitetään myös muihin ohjelmistokehittäjien käyttämiin sovelluksiin. Tulosten 6 perusteella tekoälyyn liittyvä etiikka on huonosti tunnettu aihe. Tämän perusteella voisi olla hyödyllistä tietää, miten tekoälyjärjestelmiä kehittävät tai niiden kehittämiseen erikoistuneet yritykset noudattavat eettisiä ohjeita. Näiltä yrityksiltä voisi saada myös neuvoa käytäntöön eettisten ongelmien estämiseksi. Huolena on, että tekoälyyn liittyvä eettinen ohjeistus on lähes tuntematon myös tekoälyjärjestelmiä kehittävissä yrityksissä. Jatkotutkimukset voisivat siis tarkastella etiikan tuntemusta ja niihin liittyviä toimintatapoja yrityksiltä, jotka luovat tekoälyjärjestelmiä. Koska tietoisuus tekoälyjärjestelmien aiheuttamista eettisistä ongelmia lisääntyy, yritykset todennäköisesti tulevat tekemään omia ohjeistuksia niiden välttämiseksi. Tulevaisuudessa voi olla hyödyllistä selvittää, onko tekoälyn etiikan ohjeistus paremmin huomioitu GenAI-työkalujen käytön aikana tai onko GenAI-työkaluille tullut oma ohjeistus. 7.3 Yhteenveto Tässä pro gradu -tutkielmassa tarkasteltiin IT-alan ammattilaisten kokemuksia generatiivisten tekoälytyökalujen käytöstä. Tämän lisäksi tutkielmassa selvitettiin tekoälyn etiikan ohjeiden tunnettavuutta ja käyttöä sekä GenAI-työkalujen aiheuttamia eettisiä ongelmia ohjelmistokehityksessä. Tutkimuksen tulokset puoltavat aikaisempien tutkimusten tuloksia. GenAI-työ- kaluja käytetään usein ohjelmoinnissa, ohjelmistotestauksessa, tiedonhaussa, ongelmanratkaisussa ja tekstinkäsittelytehtävissä. Vaikka GenAI-työkaluja voidaan käyttää ohjelmistokehityksen eri vaiheissa, niiden käyttö vaikuttaa rajoittuvan pääasiassa ohjelmistojen toteutus- ja testausvaiheisiin. Tuloksista huomataan, että GenAI-työkalut nopeuttavat ja helpottavat monenlaisten tehtävien tekoa, mutta ne tuottavat virheellisiä vastauksia. Työkalujen vastausten laatuun vaikuttaa suoritettava tehtävä ja ohjelmointikieli sekä itse GenAI- työkalu. Tällöin IT-alan ammattilaiset voivat hyödyntää eri työkaluja erilaisiin tehtäviin niiden vahvuuksien mukaan. Toisaalta tämä myös tarkoittaa, että ennen työkalujen valintaa niihin tulisi perehtyä etukäteen, jotta työkaluista saadaan riittävästi hyötyä suoritettaviin tehtäviin. Pääasiassa tekoälyn eettiset ohjeet olivat haastateltaville tuntemattomia ja useim- 77 pien haastateltavien yrityksissä niitä hyödynnetään hyvin vähän. Eettiset periaatteet olivat kuitenkin haastateltaville tuttuja käsitteitä. Tuloksista ilmenee, että haastateltavat ovat kokeneet eettisiä ongelmia, jotka liittyvät erityisesti työkalujen vastausten läpinäkyvyyteen, selitettävyyteen ja toistuvuuteen sekä työkalujen tietoturvallisuuteen. Työkalut voivat myös lisätä eriarvoisuutta yritysten välillä, kun työkalut eivät tuota riittävän laadukkaita vastauksia. Tämä ongelma tulee esille erityisesti ohjelmointikielten käsittelyssä. Tällöin työkalut voivat olla hyödyttömiä niiden käyttäjille, kun ne eivät käsittele käytössä olevaa ohjelmointikieltä riittävän hyvin. Työkaluihin liittyviä eettisiä ongelmia voi siis esiintyä myös ohjelmistokehityksessä. Tutkielman tulokset tuovat esille GenAI-työkalujen tuottamia hyötyjä ja haittoja ohjelmistokehityksessä. Se havainnollistaa myös eettisiä ongelmia, joita voi esiintyä ohjelmistokehityksessä sekä tekoälyn etiikan tunnettavuutta IT-alan ammattilaisten keskuudessa. Tällä hetkellä GenAI-työkalut tukevat erilaisia työtehtäviä, mutta niissä on useita heikkouksia, joiden takia käyttäjien tulee arvioida vastausten laatua ja luotettavuutta. Kaikki käyttäjät eivät myöskään hyödy työkalujen käytöstä yhtä paljon kuin toiset. Vaikka eettisten ohjeiden tarkoituksena on estää potentiaalisia eettisiä ongelmia ja mahdollistaa luotettavien tekoälyjärjestelmien kehittäminen, pro gradu -tutkielman tulosten perusteella, GenAI-työkaluissa on vielä paljon kehitettävää. 78 Lähteet [1] ADOBE. Adobes Commitment to AI Ethics. URL: https://www.adobe.com/ content/dam/cc/en/ai-ethics/pdfs/Adobe-AI-Ethics-Principles. pdf, viitattu 28.10.2023. [2] AI HLEG. Luotettavaa tekoälyä koskevat eettiset ohjeet. URL https://www.europarl.europa.eu/meetdocs/2014_2019/plmrep/ COMMITTEES/JURI/DV/2019/11-06/Ethics-guidelines-AI_FI.pdf, viitattu 28.10.2023. [3] AKAY, H., JA KIM, S.-G. Extracting functional requirements from design documentation using machine learning. Procedia CIRP 100 (2021), 31–36. [4] AL-HAWAWREH, M., ALJUHANI, A., JA JARARWEH, Y. Chatgpt for cybersecurity: practical applications, challenges, and future directions. Cluster Computing 26, 6 (2023), 3421–3436. [5] ALI, K. A Study of Software Development Life Cycle Process Models. International Journal of Advanced Research in Computer Science 8, 1 (2017), 15–23. [6] ALSAGRI, H. S., FARHAT, F., SOHAIL, S. S., JA SAUDAGAR, A. K. J. ChatGPT or Gemini: Who Makes the Better Scientific Writing Assistant? Journal of Academic Ethics (2024). [7] AMAZON WEB SERVICES. Amazon Q Developer. URL https://aws. amazon.com/q/developer/, viitattu 4.10.2024. [8] ANTHROPIC. Meet Claude. URL https://www.anthropic.com/claude, viitattu 6.10.2024. [9] ASARE, O., NAGAPPAN, M., JA ASOKAN, N. Is GitHubs Copilot as bad as humans at introducing vulnerabilities in code? Empirical Software Engineering 28, 6 (2023), 129. 79 [10] BARCAUI, A., JA MONAT, A. Who is better in project planning?Generative artificial intelligence or project managers? Project Leadership and Society 4 (2023), 100101. [11] BARKE, S., JAMES, M. B., JA POLIKARPOVA, N. Grounded Copilot: How Programmers Interact with Code-Generating Models. Proceedings of the ACM on Programming Languages 7, OOPSLA1 (2023), 85 –111. [12] BIETTI, E. From Ethics Washing to Ethics Bashing: A Moral Philosophy View on Tech Ethics. Journal of Social Computing 2, 3 (2021), 266–283. [13] BILGRAM, V., JA LAARMANN, F. Accelerating Innovation With Generative AI: AI-Augmented Digital Prototyping and Innovation Methods. IEEE Engineering Management Review 51, 2 (2023), 18–25. [14] BROWN, H., LEE, K., MIRESHGHALLAH, F., SHOKRI, R., JA TRAMÈR, F. What Does it Mean for a Language Model to Preserve Privacy? Julkaisusarjassa 2022 ACM Conference on Fairness, Accountability, and Transparency (Seoul, Republic of Korea, Kesäkuu 2022), ACM, 2280–2292. [15] CARUCCIO, L., CIRILLO, S., POLESE, G., SOLIMANDO, G., SUNDARAMURTHY, S., JA TORTORA, G. Can ChatGPT provide intelligent diagnoses? A comparative study between predictive models and ChatGPT to define a new medical diagnostic bot. Expert Systems with Applications 235 (2024), 121186. [16] CHOWDHARY, A., JHA, K., JA ZHAO, M. Generative Adversarial Network (GAN)-Based Autonomous Penetration Testing for Web Applications. Sensors 23, 18 (2024), 8014. [17] COELLO, C. E. A., ALIMAM, M. N., JA KOUATLY, R. Effectiveness of ChatGPT in Coding: A Comparative Analysis of Popular Large Language Models. Digital 4, 1 (2024), 114–125. [18] COLLINS, C., DENNEHY, D., CONBOY, K., JA MIKALEF, P. Artificial intelligence in information systems research: A systematic literature review and research agenda. International Journal of Information Management 60 (2021), 102383. 80 [19] DEARAÚJO, A. F., JA MARCACINI, R. M. RE-BERT: automatic extraction of software requirements from app reviews using BERT language model. Julkaisusarjassa Proceedings of the 36th Annual ACM Symposium on Applied Computing (Virtual Event, Republic of Korea, Maaliskuu 2021), ACM, 1321–1327. [20] DELAAT, P. B. Companies Committed to Responsible AI: From Principles towards Implementation and Regulation? Philosophy Technology 34, 4 (2021), 1135–1193. [21] DERUITER, A. The Distinct Wrong of Deepfakes. Philosophy Technology 34, 4 (2021), 1311–1332. [22] DENNY, P., KUMAR, V., JA GIACAMAN, N. Conversing with Copilot: Exploring Prompt Engineering for Solving CS1 Problems Using Natural Language. Julkaisusarjassa Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1 (Toronto, ON, Canada, Maaliskuu 2023), ACM, 1136– 1142. [23] DERGAA, I., FEKIH-ROMDHANE, F., HALLIT, S., LOCH, A. A., GLENN, J. M., FESSI, M. S., BEN AISSA, M., SOUISSI, N., GUELMAMI, N., SWED, S., ELOMRI, A., BRAGAZZI, N. L., JA BEN SAAD, H. ChatGPT is not ready yet for use in providing mental health assessment and interventions. Frontiers in Psychiatry 14 (2024), 1277756. [24] DESPA, M. L. Comparative study on software development methodologies. Database Systems Journal V, 3 (2014), 37–56. [25] DVIVEDI, S. S., VIJAY, V., PUJARI, S. L. R., LODH, S., JA KUMAR, D. A Comparative Analysis of Large Language Models for Code Documentation Generation. Julkaisusarjassa Proceedings of the 1st ACM International Conference on AI-Powered Software (Porto de Galinhas, Brazil, Heinäkuu 2024), ACM, 65–73. [26] ECKHARDT, C. M., MADJAROVA, S. J., WILLIAMS, R. J., OLLIVIER, M., KARLSSON, J., PAREEK, A., JA NWACHUKWU, B. U. Unsupervised machine learning methods and emerging applications in healthcare. Knee Surgery, Sports Traumatology, Arthroscopy 31, 2 (2023), 376–381. [27] EHSAN, U., LIAO, Q. V., MULLER, M., RIEDL, M. O., JA WEISZ, J. D. Expanding Explainability: Towards Social Transparency in AI Systems. Julkai- 81 susarjassa Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems (Yokohama, Japan, Toukokuu 2021), ACM, 1–19. [28] ELHAJI, K., BRANDT, C., JA ZAIDMAN, A. Using GitHub Copilot for Test Generation in Python: An Empirical Study. Julkaisusarjassa Proceedings of the 5th ACM/IEEE International Conference on Automation of Software Test (AST 2024) (Lisbon, Portugal, Huhtikuu 2024), ACM, 45–55. [29] EUROOPAN KOMISSIO. Ehdotus euroopan parlamentin ja neuvoston asetus tekoälyä koskevista yhdenmukaistetuista säännöistä (tekoälysäädös) ja tiettyjen unionin säädösten muuttamisesta. URL https://eur-lex.europa.eu/legal-content/FI/TXT/?uri= CELEX%3A52021PC0206&qid=1703237995067, viitattu 22.12.2023. [30] EUROOPAN KOMISSIO. Regulatory framework proposal on artificial intelligence. URL https://digital-strategy.ec.europa.eu/en/policies/ regulatory-framework-ai, viitattu 16.1.2024. [31] FELZMANN, H., FOSCH-VILLARONGA, E., LUTZ, C., JA TAMÒ-LARRIEUX, A. Towards Transparency by Design for Artificial Intelligence. Science and Engineering Ethics 26, 6 (2020), 3333–3361. [32] FERRELL, O., HARRISON, D. E., FERRELL, L., JA HAIR, J. F. Business ethics, corporate social responsibility, and brand attitudes: An exploratory study. Journal of Business Research 95 (2019), 491–501. [33] FORCE, I.-C. J. T. Software engineering code of ethics and professional practice: IEEE-CS/ACM Joint Task Force on Software Engineering Ethics and Professional Practices. Science and Engineering Ethics 7, 2 (2001), 231–238. [34] FRANCESCHELLI, G., JA MUSOLESI, M. Copyright in generative deep learning. Data Policy 4 (2022), e17. [35] GITHUB. GitHub Copilot features. URL https://docs.github.com/ en/copilot/about-github-copilot/github-copilot-features, viitattu 4.10.2024. [36] GIUNTI, G., JA DOHERTY, C. P. Cocreating an Automated mHealth Apps Systematic Review Process With Generative AI: Design Science Research Approach. JMIR Medical Education 10 (2024), e48949. 82 [99] OSWAL, J. U., KANAKIA, H. T., JA SUKTEL, D. Transforming Software Requirements into User Stories with GPT-3.5 -: An AI-Powered Approach. Julkaisusarjassa 2024 2nd International Conference on Intelligent Data Communication Technologies and Internet of Things (IDCIoT) (Bengaluru, India, Tammikuu 2024), IEEE, 913–920. [100] OTTER, D. W., MEDINA, J. R., JA KALITA, J. K. A Survey of the Usages of Deep Learning for Natural Language Processing. IEEE Transactions on Neural Networks and Learning Systems 32, 2 (2021), 604–624. [101] PAN, R., KIM, M., KRISHNA, R., PAVULURI, R., JA SINHA, S. Multi-language Unit Test Generation using LLMs. arXiv preprint arXiv:2409.03093 (2024). [102] PAN, X., ZHANG, M., JI, S., JA YANG, M. Privacy Risks of General-Purpose Language Models. Julkaisusarjassa 2020 IEEE Symposium on Security and Privacy (SP) (San Francisco, CA, USA, Toukokuu 2020), IEEE, 1314–1331. [103] PANG, X., ZHOU, Y., LI, P., LIN, W., WU, W., JA WANG, J. Z. A novel syntaxaware automatic graphics code generation with attention-based deep neural network. Journal of Network and Computer Applications 161 (2020), 102636. [104] PAREDES, C. M. G., MACHUCA, C., JA CLAUDIO, Y. M. S. ChatGPT API: Brief overview and integration in Software Development. International Journal of Engineering Insights 1, 1 (2023), 27–31. [105] PARK, E., KIM, K. J., JA KWON, S. J. Corporate social responsibility as a determinant of consumer loyalty: An examination of ethical standard, satisfaction, and trust. Journal of Business Research 76 (2017), 8–13. [106] PICHAI, S., JA HASSABIS, D. Our next-generation model: Gemini 1.5. URL https://blog.google/technology/ai/google-gemini-next- generation-model-february-2024/#sundar-note, viitattu 2.11.2024. [107] PRATHER, J., REEVES, B. N., DENNY, P., BECKER, B. A., LEINONEN, J., LUXTON-REILLY, A., POWELL, G., FINNIE-ANSLEY, J., JA SANTOS, E. A. Its Weird That it Knows What I Want: Usability and Interactions with Copilot for Novice Programmers. ACM Transactions on Computer-Human Interaction 31, 1 (2023), 1–31. 89 [108] RAIAAN, M. A. K., MUKTA, M. S. H., FATEMA, K., FAHAD, N. M., SAKIB, S., MIM, M. M. J., AHMAD, J., ALI, M. E., JA AZAM, S. A Review on Large Language Models: Architectures, Applications, Taxonomies, Open Issues and Challenges. IEEE Access 12 (2024), 26839–26874. [109] RUSSELL, S., JA NORVIG, P. Artificial Intelligence A Modern Approach 4th Global Edition. Pearson Education Limited, Harlow, United Kingdom, 2022. [110] RYAN, M., JA STAHL, B. C. Artificial intelligence ethics guidelines for developers and users: clarifying their content and normative implications. Journal of Information, Communication and Ethics in Society 19, 1 (2021), 61–86. [111] SAMUEL, A. L. Some Studies in Machine Learning Using the Game of Checkers. IBM Journal of Research and Development 3, 3 (1959), 210–229. [112] SCHÄFER, M., NADI, S., EGHBALI, A., JA TIP, F. An Empirical Evaluation of Using Large Language Models for Automated Unit Test Generation. IEEE Transactions on Software Engineering 50, 1 (2024), 85–105. [113] SEO, J., ZHANG, N., JA RONG, C. Flexible and Secure Code Deployment in Federated Learning using Large Language Models: Prompt Engineering to Enhance Malicious Code Detection. Julkaisusarjassa 2023 IEEE International Conference on Cloud Computing Technology and Science (CloudCom) (Naples, Italy, Joulukuu 2023), IEEE, 341–349. [114] SILVER, D., SCHRITTWIESER, J., SIMONYAN, K., ANTONOGLOU, I., HUANG, A., GUEZ, A., HUBERT, T., BAKER, L., LAI, M., BOLTON, A., CHEN, Y., LILLICRAP, T., HUI, F., SIFRE, L., VAN DEN DRIESSCHE, G., GRAEPEL, T., JA HASSABIS, D. Mastering the game of Go without human knowledge. Nature 550, 7676 (2017), 354–359. [115] SRINIVASAN, R., JA UCHINO, K. Biases in Generative Art – A Causal Look from the Lens of Art History. Julkaisusarjassa Proceedings of the 2021 ACM Conference on Fairness, Accountability, and Transparency (Virtual Event, Canada, Maaliskuu 2021), Association for Computing Machinery, 41–51. [116] SUJATHA, R., CHATTERJEE, J. M., JHANJHI, N., JA BROHI, S. N. Performance of deep learning vs machine learning in plant leaf disease detection. Microprocessors and Microsystems 80 (2021), 103615. 90 [117] SUN, J., LIAO, Q. V., MULLER, M., AGARWAL, M., HOUDE, S., TALAMADUPULA, K., JA WEISZ, J. D. Investigating Explainability of Generative AI for Code through Scenario-Based Design. Julkaisusarjassa 27th International Conference on Intelligent User Interfaces (Helsinki, Finland, Maaliskuu 2022), ACM, 212–228. [118] SZE, V., CHEN, Y.-H., YANG, T.-J., JA EMER, J. S. Efficient Processing of Deep Neural Networks: A Tutorial and Survey. Proceedings of the IEEE 105, 12 (2017), 2295–2329. [119] TIVIANETIIKAN TYÖRYHMÄ. Tietotekniikan ammattilaisen etiikan ohjeisto. URL https://tivia.fi/toimiala/etiikan-ohjeet, viitattu 2.2.2024. [120] TOMOVA, M., HOFMANN, M., HÜTTERER, C., JA MÄDER, P. Assessing the utility of text-to-SQL approaches for satisfying software developer information needs. Empirical Software Engineering 29, 1 (2024), 15. [121] TURING, A. M. Computing Machinery and Intelligence. Mind LIX, 236 (1950), 433–460. [122] URBAN, M., DCHTRENKO, F., LUKAVSKÝ, J., HRABALOVÁ, V., SVACHA, F., BROM, C., JA URBAN, K. ChatGPT improves creative problem-solving performance in university students: An experimental study. Computers Education 215 (2024), 105031. [123] URQUHART, C. Grounded Theory for Qualitative Research: A Practical Guide. SAGE Publications, Ltd, London, United Kingdom, 2013. [124] VAITHILINGAM, P., ZHANG, T., JA GLASSMAN, E. L. Expectation vs. Experience: Evaluating the Usability of Code Generation Tools Powered by Large Language Models. Julkaisusarjassa CHI Conference on Human Factors in Computing Systems Extended Abstracts (New Orleans, LA, USA, Huhtikuu 2022), ACM, 1–7. [125] VAKKURI, V., KEMELL, K.-K., KULTANEN, J., JA ABRAHAMSSON, P. The Current State of Industrial Practice in Artificial Intelligence Ethics. IEEE Software 37, 4 (2020), 50–57. 91 [126] VASWANI, A., SHAZEER, N., PARMAR, N., USZKOREIT, J., JONES, L., GOMEZ, A. N., KAISER, ., JA POLOSUKHIN, I. Attention is All you Need. Julkaisusarjassa 31st Conference on Neural Information Processing Systems (Long Beach, California, USA, Joulukuu 2017), Curran Associates Inc., 6000–6010. [127] VELÁSQUEZ-HENAO, J. D., FRANCO-CARDONA, C. J., JA CADAVIDHIGUITA, L. Prompt Engineering: a methodology for optimizing interactions with AI-Language Models in the field of engineering. DYNA 90, 230 (2023), 9–17. [128] VON ESCHENBACH, W. J. Transparency and the Black Box Problem: Why We Do Not Trust AI. Philosophy & Technology 34, 4 (2021), 1607–1622. [129] WANG, H., LEI, Z., ZHANG, X., ZHOU, B., JA PENG, J. A review of deep learning for renewable energy forecasting. Energy Conversion and Management 198 (2019), 111799. [130] WARDAT, Y., TASHTOUSH, M. A., ALALI, R., JA JARRAH, A. M. ChatGPT: A revolutionary tool for teaching and learning mathematics. Eurasia Journal of Mathematics, Science and Technology Education 19, 7 (2023), em2286. [131] WEI, R., JA MAHMOOD, A. Recent Advances in Variational Autoencoders With Representation Learning for Biomedical Informatics: A Survey. IEEE Access 9 (2021), 4939–4956. [132] WEISZ, J. D., MULLER, M., ROSS, S. I., MARTINEZ, F., HOUDE, S., AGARWAL, M., TALAMADUPULA, K., JA RICHARDS, J. T. Better Together? An Evaluation of AI-Supported Code Translation. Julkaisusarjassa 27th International Conference on Intelligent User Interfaces (Helsinki, Finland, Maaliskuu 2022), ACM, 369–391. [133] WEIZENBAUM, J. ELIZAA Computer Program For the Study of Natural Language Communication Between Man and Machine. Communications of the ACM 9, 1 (1966), 36–45. [134] WHITTLESTONE, J., NYRUP, R., ALEXANDROVA, A., JA CAVE, S. The Role and Limits of Principles in AI Ethics: Towards a Focus on Tensions. Julkaisusarjassa Proceedigs of the 2019 AAAI/ACM Conference on AI, Ethics and Society (Honolulu, HI, USA, Tammikuu 2019), ACM, 195–200. 92 [135] WILLIAMS, M., JA MOSER, T. The Art of Coding and Thematic Exploration in Qualitative Research. International Management Review 15, 1 (2019), 45–55. [136] WU, X., DUAN, R., JA NI, J. Unveiling security, privacy, and ethical concerns of ChatGPT. Journal of Information and Intelligence 2, 2 (2024), 102–115. [137] XU, J., WANG, X., CHENG, W., CAO, Y.-P., SHAN, Y., QIE, X., JA GAO, S. Dream3D: Zero-Shot Text-to-3D Synthesis Using 3D Shape Prior and Text-to- Image Diffusion Models. Julkaisusarjassa 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (Vancouver, BC, Canada, Kesäkuu 2023), IEEE, 20908–20918. [138] YANG, L., YANG, C., GAO, S., WANG, W., WANG, B., ZHU, Q., CHU, X., ZHOU, J., LIANG, G., WANG, Q., JA CHEN, J. On the Evaluation of Large Language Models in Unit Test Generation. arXiv preprint arXiv:2406.18181 (2024). [139] YE, A., WANG, L., ZHAO, L., KE, J., WANG, W., JA LIU, Q. RapidFuzz: Accelerating fuzzing via Generative Adversarial Networks. Neurocomputing 460 (2021), 195–204. [140] ZENKNER, G., JA NAVARRO-MARTINEZ, S. A flexible and lightweight deep learning weather forecasting model. Applied Intelligence 53, 21 (2023), 24991– 25002. [141] ZHAO, T., CHEN, C., LIU, Y., JA ZHU, X. GUIGAN: Learning to Generate GUI Designs Using Generative Adversarial Networks. Julkaisusarjassa 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE) (Madrid, ES, Toukokuu 2021), IEEE, 748–760. [142] ZHOU, C., ZHANG, X., JA YU, C. How does AI promote design iteration? the optimal time to integrate AI into the design process. Journal of Engineering Design (2023), 1–28. [143] ÖZPOLAT, Z., YILDIRIM, Ö., JA KARABATAK, M. Artificial Intelligence-Based Tools in Software Development Processes: Application of ChatGPT. European Journal of Technique 13, 2 (2023), 229–240. 93 A Haastattelukutsu 94 B Tietosuojailmoitus 95 Esittely Aiheen nopea esittely ja esiselvitys haastateltavasta: 1. Kuinka kauan olet ollut IT-alalla? 2. Kuinka paljon sinulla on kokemusta GenAI-työkalujen käytöstä tai yleisesti generatiivisesta tekoälystä? 3. Miten määrittelet generatiivisen tekoälyn? Kysymykset: GenAI: 1. Mitä GenAI-työkaluja olet käyttänyt ohjelmistokehityksessä ja minkälaisiin työtehtäviin? 1.1. Jos käytetään useampaa työkalua; miksi? 1.2. Millä perusteella jokin GenAI-työkalu valitaan osaksi ohjelmistokehitystä? 1.3. Jos työkalua käytetään ohjelmointiin: mikä ohjelmointikieli on käytössä? 1.4. Onko huomattu eroa GenAI-työkalun soveltuvuudesta eri työtehtäviin? 1.4.1. Entä eri ohjelmointikielten käsittelyyn? 1.5. Vaikuttavatko GenAI-työkalut missään ohjelmistokehityksen vaiheessa päätöksentekoon? 2. Mitä hyötyjä olet todennut GenAI-työkalujen käytöstä? 3. Mitä heikkouksia tai ongelmia olet todennut GenAI-työkalujen käytöstä? 3.1. Onko sinulla käytännönesimerkkiä ongelmatilanteesta? 3.2. Miten olet toiminut ongelmatilanteissa? 3.3. Kuinka haasteellista on korjata GenAI-työkalujen tekemiä virheitä? 4. Koetko GenAI-työkalujen käytön vaikeaksi tai helpoksi? 4.1. Oletko kaivannut lisätietoa GenAI-työkalujen käyttöön? C Haastattelurunko 96 5. Miten luotettavaksi koet GenAI-työkalujen vastaukset? 5.1. Miten arvioit GenAI-työkalujen vastausten oikeellisuutta? 5.2. Oletko joutunut ihmettelemään, miten ja miksi tekoäly on päätynyt tiettyyn vastaukseen? 5.3. Miten kuvailisit GenAI-työkaluilta saatuja vastauksia? 6. Mitä hyvää tai huonoa on kehotesuunnittelussa? 6.1. Onko ohjeistusta siitä, mitä tietoja GenAI-työkaluille saa tai ei saa antaa kehotteiden välityksellä? Etiikka: 1. Onko tekoälyn etiikka sinulle entuudestaan tuttua? * 1.1 Oliko jotkin esitellyistä etiikan aihealueista sinulle tuttuja? Oliko joku aihealueista tuntematon? * 1.2. Miten kuvailisit tekoälylle suunnattuja etiikan ohjeita? 1.3. Mitä kautta olet saanut tietoa tekoälyn etiikan ohjeista? *(Haastateltavalle voidaan esittää tekoälyn eettisten ohjeiden nimet, jos ne eivät ole hänelle tuttuja) 2. Onko GenAI-työkalujen käytössä tullut vastaan eettisiä haasteita? Millaisia ne olivat? 2.1. Jos ei ole: Mitä eettisiä haasteita GenAI-työkaluihin voisi mielestäsi liittyä? 2.2. Miten eettisen ongelman ilmentyessä toimittiin? 2.3. Onko jonkin GenAI-työkalun valintaan vaikuttanut tekoälyyn liittyvät eettiset haasteet? 3. Miten tekoälyyn liittyviä eettisiä haasteita pyritään vähentämään ohjelmistokehityksessä? TAI miten niitä voitaisiin vähentää? 4. Vaikuttavatko tekoälyn eettiset ohjeet GenAI-työkalujen käyttöön? Miten? 4.1. Tulisiko tekoälyn eettisten ohjeiden vaikuttaa enemmän GenAI-työkalujen käyttöön vai riittääkö niiden käyttöön tavallisen ohjelmistokehityksen etiikan noudattaminen? 4.2. Mitkä etiikan ohjeet ovat mielestäsi tärkeimmät, kun käytetään GenAI-työkaluja? 97 4.3. Mitkä tekijät vaikeuttavat tai helpottavat ohjeiden noudattamista? 5. Kuka on mielestäsi vastuussa GenAI-työkalujen tekemistä virheistä tai sen aiheuttamista ongelmatilanteista? Tulevaisuuden näkymät: 1. Onko GenAI:n käyttö korvaamassa perinteisiä ohjelmistokehityksessä käytettäviä työkaluja ja menetelmiä? 2. Onko yrityksellänne kiinnostusta GenAI-työkalujen käytön lisäämiseen? 2.1. Millaisiin työtehtäviin? 3. Mitkä tekijät lisäävät tai vähentävät GenAI-työkalujen käyttöönottoa? 4. Miten suhtaudut GenAI-työkalujen käytön lisääntymiseen ohjelmistokehityksessä? 5. Onko jotain muuta mitä haluaisit kommentoida tai kertoa aihepiiriin liittyen? 98