Ihmisen ja tekoälyn yhteistyö ohjelmistokehityksessä
Tuomi, Susanna (2024)
Tuomi, Susanna
2024
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024111928810
https://urn.fi/URN:NBN:fi:amk-2024111928810
Tiivistelmä
Tutkimuksessa tarkasteltiin ihmisen ja tekoälyn yhteistyötä ohjelmistokehityksessä. Kuinka tekoälytyökaluja hyödynnetään ohjelmistokehityksessä ja mitä hyötyä niiden käytöstä voi olla? Missä määrin tekoälytyökalujen käyttö voi tehostaa työntekoa tai tuottavuutta, sekä mitkä ovat ohjelmistokehittäjien asenteet tekoälytyökaluja kohtaan? Liittyykö tekoälynkäyttöön uhkia/eettisiä haasteita, onko vaikutuksia työelämään?
Työn teoriaosuudessa paneuduttiin generatiiviseen tekoälyyn ja siihen liittyviin teknologioihin sekä valittiin tarkasteltaviksi työkaluiksi ChatGPT, GitHub Copilot ja Tabnine. Tutkimusosiossa tutkittiin kuvailevana kirjallisuuskatsauksena kuutta artikkelia vuosilta 2023–2024, joissa analysoitiin työkalujen tehokkuutta, kehittäjien asenteita, vaikutusta työllisyyteen sekä eettisiä haasteita.
ChatGPT ja GitHub Copilot osoittautuivat suosituimmiksi työkaluiksi. Käyttäjät hyödynsivät niitä muun muassa koodin tuottamisessa, virheiden korjaamisessa ja uusien ratkaisujen löytämisessä. ChatGPT suoriutui erityisen hyvin koodiongelmien ratkaisemisessa, mutta sen tehokkuus riippui käyttäjän tarkasta ohjeistuksesta ja arvioinnista. Copilotin käyttö tehosti ohjelmointia, mutta sen tuottamat ratkaisut vaativat usein muokkausta. Yksinkertaisten ongelmien ratkaisemisessa tekoäly oli tehokas, mutta monimutkaisempien haasteiden kohdalla sen suoriutuminen oli heikompaa.
Tekoälytyökalujen käyttötapoja kaksi: kiihdytystilassa ohjelmoija hyödyntää tekoälyä nopeiden ja yksinkertaisten koodirivien tuottamiseen, tutkimustilassa etsitään ratkaisuja tuntemattomiin ongelmiin tai syntakseihin, jolloin ohjelmoijat olivat valmiimpia käymään läpi useita vaihtoehtoja ja muokkaamaan niitä tarpeen mukaan. Molemmissa tiloissa ihmisen rooli oli keskeinen, sillä tekoälyn tuottamaa koodia ei voinut automaattisesti hyväksyä.
Ihmisen ja tekoälyn yhteistyön ja vuorovaikutuksen valossa huomattiin, että vaikka tekoäly pystyy tuottamaan laadukasta koodia, ohjelmoijan vastuulla on varmistaa sen toimivuus ja soveltuvuus. Kokeneet ohjelmoijat arvostivat tekoälyn tuomia etuja, mutta vähemmän kokeneet käyttäjät suhtautuivat työkaluihin kriittisemmin, kokien niiden käytön välillä sekavana.
Vaikka tekoälytyökalut voivat parantaa ohjelmoijien tuottavuutta ja tehostaa työskentelyä, tekoäly tarvitsee yhä tarkkaa ohjeistusta ja ihmisen arviointia, eikä sen tuottamaa koodia voida pitää virheettömänä. Ihmisen rooli kriittisenä tarkastajana säilyy keskeisenä, sekä erityisesti luovuutta ja toimialatuntemusta vaativissa työtehtävissä. Vaikka tekoälyllä voidaan joitakin tehtäviä automatisoida, se ei toistaiseksi vielä korvaa ihmistä täysin, ja seurauksena voi kehittyä uusia ammatteja ja tehtäviä. Eettisesti tärkeimpiä haasteita ovat tietosuoja, syrjinnän ja vinoumien ennaltaehkäisy sekä tekoälyn tuottaman virheellisen tiedon tunnistaminen. Lisäksi tekoälyn vaikutusta ihmisen päätöksentekoon on arvioitava tarkasti, jotta varmistetaan, että tekoäly toimii toivotulla, eettisesti hyväksyttävällä, tavalla.
Työn teoriaosuudessa paneuduttiin generatiiviseen tekoälyyn ja siihen liittyviin teknologioihin sekä valittiin tarkasteltaviksi työkaluiksi ChatGPT, GitHub Copilot ja Tabnine. Tutkimusosiossa tutkittiin kuvailevana kirjallisuuskatsauksena kuutta artikkelia vuosilta 2023–2024, joissa analysoitiin työkalujen tehokkuutta, kehittäjien asenteita, vaikutusta työllisyyteen sekä eettisiä haasteita.
ChatGPT ja GitHub Copilot osoittautuivat suosituimmiksi työkaluiksi. Käyttäjät hyödynsivät niitä muun muassa koodin tuottamisessa, virheiden korjaamisessa ja uusien ratkaisujen löytämisessä. ChatGPT suoriutui erityisen hyvin koodiongelmien ratkaisemisessa, mutta sen tehokkuus riippui käyttäjän tarkasta ohjeistuksesta ja arvioinnista. Copilotin käyttö tehosti ohjelmointia, mutta sen tuottamat ratkaisut vaativat usein muokkausta. Yksinkertaisten ongelmien ratkaisemisessa tekoäly oli tehokas, mutta monimutkaisempien haasteiden kohdalla sen suoriutuminen oli heikompaa.
Tekoälytyökalujen käyttötapoja kaksi: kiihdytystilassa ohjelmoija hyödyntää tekoälyä nopeiden ja yksinkertaisten koodirivien tuottamiseen, tutkimustilassa etsitään ratkaisuja tuntemattomiin ongelmiin tai syntakseihin, jolloin ohjelmoijat olivat valmiimpia käymään läpi useita vaihtoehtoja ja muokkaamaan niitä tarpeen mukaan. Molemmissa tiloissa ihmisen rooli oli keskeinen, sillä tekoälyn tuottamaa koodia ei voinut automaattisesti hyväksyä.
Ihmisen ja tekoälyn yhteistyön ja vuorovaikutuksen valossa huomattiin, että vaikka tekoäly pystyy tuottamaan laadukasta koodia, ohjelmoijan vastuulla on varmistaa sen toimivuus ja soveltuvuus. Kokeneet ohjelmoijat arvostivat tekoälyn tuomia etuja, mutta vähemmän kokeneet käyttäjät suhtautuivat työkaluihin kriittisemmin, kokien niiden käytön välillä sekavana.
Vaikka tekoälytyökalut voivat parantaa ohjelmoijien tuottavuutta ja tehostaa työskentelyä, tekoäly tarvitsee yhä tarkkaa ohjeistusta ja ihmisen arviointia, eikä sen tuottamaa koodia voida pitää virheettömänä. Ihmisen rooli kriittisenä tarkastajana säilyy keskeisenä, sekä erityisesti luovuutta ja toimialatuntemusta vaativissa työtehtävissä. Vaikka tekoälyllä voidaan joitakin tehtäviä automatisoida, se ei toistaiseksi vielä korvaa ihmistä täysin, ja seurauksena voi kehittyä uusia ammatteja ja tehtäviä. Eettisesti tärkeimpiä haasteita ovat tietosuoja, syrjinnän ja vinoumien ennaltaehkäisy sekä tekoälyn tuottaman virheellisen tiedon tunnistaminen. Lisäksi tekoälyn vaikutusta ihmisen päätöksentekoon on arvioitava tarkasti, jotta varmistetaan, että tekoäly toimii toivotulla, eettisesti hyväksyttävällä, tavalla.
