tiistai 3. kesäkuuta 2025

Älä luota generatiiviseen tekoälyyn, ChatGPT pettää kun et osaa odottaa

Some-kommenteista ja uutisista päätellen moni on siirtänyt töitään tekoälylle, ja asiat hoituvat entistä tehokkaammin. Omat kokemukseni ovat ristiriitaisia. ChatGPT:stä on paljon hyötyä, mutta sen kanssa saa jatkuvasti olla tarkkana, sillä virheitä on liikaa. Ja mikä pahinta, ne ovat paikoissa, joissa ei osaa varoa.

ChatGPT on aivan mainio opas esimerkiksi Excelin funktioihin tai Python-koodaukseen. Se on kuin räätälöity opaskirja, joka neuvoo juuri siinä, mitä itse tarvitsee. Ei enää geneerisiä esimerkkejä kuvitellulla datalla, vaan täsmäohjeet juuri omaan käyttöön.

Seuraavat esimerkit ovat maksullisesta ChatGPT 4o -versiosta:

Tarvitsin kaavan, jolla laskea koordinaattipisteiden välisiä etäisyyksiä. ChatGPT antoi loistavan vastauksen Haversinen kaavasta, sekä itse kaavan että Excel-version.

Haversinen kaava matemaattisessa muodossa.

Myös Excel-kaava oli ihan oikein, mutta huom: vain englanninkielisessä Excelissä. Suomenkielisen version funktiot ovat sinnepäin, mutta eivät useinkaan oikeita, vaan aina pitää itse selvittää, mikä on oikea kirjoitusasu. 

Eräässä toisessa tapauksessa ChatGPT antoi kaavaan funktion TEKSTIPOIMI(), kun oikea nimi on POIMI.TEKSTI(). Samoin se keksi itse PYÖRISTÄ.YLÖS() kun oikea muoto on PYÖRISTÄ(). Englanniksi funktionimet menevät oikein.

Myös Haversinen kaavan Excel-versio oli ihan oikein, mutta kun halusin koodata sen VBA-funktioksi, kriittiseksi riviksi tuli 

c = 2 * WorksheetFunction.Atan2(Sqr(a), Sqr(1-a))

vaikka oikea kaava olisi ollut

c = 2 * WorksheetFunction.Asin(Sqr(a))

Ennen palauttamista c pitää vielä kertoa maapallon säteellä R, joka VBA-funktion alussa oli määritelty. Sen verran trigonometria on päässyt itseltäni unohtumaan, etten kaavaa katsomalla voinut tietää, antoiko atan2 kuitenkin saman tuloksen kuin kaavassa oleva arcsin. Ei antanut, ja mikä pahinta, oikea ja väärä kaava menivät sopivilla arvoilla päällekkäin, joten virhettä ei ehkä olisi havainnut tuloksia tarkastelemalla. 

Miksi ChatGPT antaa ihan oikean kaavan ja Excel-funktion sen toteuttamiseksi, mutta tekee alkeellisen ja vaikeasti havaittavan virheen VBA-ohjelmassa? Kyseessä on generatiivinen tekoäly, joka edelleen hallusinoi asioita omasta päästään.

Pyysin neuvoja myös Python-ohjelman koodaukseen. Pääohjelma ja exif-tietojen kaivaminen jpeg-tiedostoista toimi hyvin, mutta suoritus pysähtyi riville

return d[0]/d[1] + (m[0]/m[1])/60 + (s[0]/s[1])/3600

missä koodi yrittää siis kohdella numeerista muuttujaa listana ja jakaa sen kaksi peräkkäistä jäsentä keskenään. Tässä tapauksessa Python-tulkki pysähtyi, joten virhe oli helppo huomata, ja myös korjata kirjoittamalla

return float(d) + float(m/60)+float(s/3600)

Tekoälyn vaikuttavin toiminto on tällä hetkellä Syvätutkimus, joka tuottaa konsulttitason raportin melkein mistä aiheesta tahansa 15-30 minuutissa kuvineen ja lähdeviittauksineen. Lopputulos on vaikuttava, mutta konsultti nolaa kyllä itsensä, mikäli erehtyy luovuttamaan sen asiakkaalle sellaisenaan.

Pyysin ChatGPT:ltä raportin suomalaisista kirkkopaloista. Lopputulos näytti hienolta: siististi muotoiltu 127 161 merkkiä pitkä raportti, joka Wordiin siirrettynä vei 60 sivua. Kirkkoja on tosiaan palanut paljon, mitä erilaisimmista syistä.

Syvätutkimus tuottaa pitkän raportin, josta kuvassa pieni näyte.

ChatGPT näyttää turvautuneen paljolti Wikipedia-artikkeliin samasta aiheesta, mutta on tehnyt omaakin tutkimustyötä. Harmi vain, että jo pikainen silmäily paljastaa erikoisia kohtia.

Tarkempi lukeminen paljastaa kummallisuuksia. Raportti vasemalla, omat lisäykset oikealla.

Raportti mainitsee, että Espoon Perkkaan kappeli yritettiin sytyttää tuleen 2009, mikä pitää paikkansa. Sitä raportti ei tiedä, että kappelin tuhopoltto onnistui keväällä 2022, eikä tekijöitä koskaan saatu kiinni. Kyse ei ole siitä, että tieto olisi liian uusi, sillä raportin viimeinen kohta on Rautjärven kirkon tuhopoltto jouluna 2022. 

Kiihtelysvaaran kirkosta raportti toteaa poliisin tutkineen paloa tuhopolttona, mutta tekijää ei saatu tuomittua. Kuitenkin nuoren miehen hölmö teko uutisoitiin selkeästi mediassa, samoin hänen saamansa yli kahden vuoden vankeustuomio.

Erityisesti itsellä pistää silmään ylemmän kuvan maininta Pispalan kirkon palosta (1968): sen mukaan Pispalaan ei rakennettu enää uutta kirkkoa. Varmasti rakennettiin, koska koulun mukana kävimme siellä useitakin kertoja ja olen myös kuvannut kirkon.

Näiden esimerkkien perusteella tekoäly ei ole vielä korvaamassa ihmistä. Siitä on paljon apua, mutta viime kädessä ihmisen pitää hallita tekoälyllä teettämänsä asia ja tarkistaa tulokset moneen kertaan. Tekoäly on n. 90-prosenttisesti oikeassa, mutta pahaan kohtaan osuessaan se 10 prosenttia voi kaataa koko jutun.

Mitähän sammakoita sinä olet lähettänyt eteenpäin asiakkaalle, kun olet antanut tekoälyn hoitaa hommasi?

6 kommenttia:

Jari kirjoitti...

Kyllähän näitä ongelmia tiedostetaan, esimerkiksi tietoturvassa. Joillekin riskin ottaminen näyttää sopivan, kun katsoo ihmisten koohotusta vailla sen syvällisempää ymmärrystä aiheesta.

Anonyymi kirjoitti...

https://rosettacode.org/wiki/Haversine_formula#VBA

Petteri Järvinen kirjoitti...

Kiinnostavaa, että muut kieliesimerkit käyttävät arcsin-funktiota, mutta XQuery atan2. Tästäkö ChatGPT kopioi vastauksensa?

Anonyymi kirjoitti...

En tiedä huomasitko mutta kommenteissa lukee:
If you read the fine print in the Wikipedia article, you will find that the Haversine method of finding distances may have an error of up to 0.5%. This could lead one to believe that discussion about whether to use 6371.0 km or 6372.8 km for an approximation of the Earth's radius is moot.
https://rosettacode.org/wiki/Haversine_formula#UBASIC

Petteri Järvinen kirjoitti...

Huomasin kyllä. Haversine olettaa, että maapallo on pyöreä, mitä se ei ole. Omaan tarkoitukseeni tarkkuus oli kuitenkin riittävä.

Anonyymi kirjoitti...

Antaa toiselle tekoälylle kysymyksen ja siihen saadun vastauksen. Kertoo mikä tekoäly vastasi ja pyytää kommenttia ja korjausta. Kohta on käytettävissä totuus. (?)