Ihan alkuun pitää mainita, että tätä kirjoitusta ei ole kirjoitettu ChatGPT:llä, eikä tämän kirjoituksen ideoihinkaan ole hyödynnetty ChatGPT:tä, paitsi aiheena. Tämä täytyy jotenkin mainita nykyään, sillä niin paljon tekoälyä (yli)käytetään kaikkeen tekemiseen ja kirjoittamiseen.
Pakko se on tunnustaa, minäkin hurahdin AI-kikkareisiin. Olin pitkään äärimmäisen kriittinen, olen sitä edelleen, mutta nykyään vähän vähemmän. Heti perään sanon, että edelleen naurattaa pöhköt AI-videot ja AI-meemit. Tottahan se on, että tekoäly ei ole vielä täydellinen, siinä on riskejä, ärsyttää tekijänoikeusrikkomukset, kököt AI-profiilikuvat, ylimääräiset sormet, itseään toistavat latteudet ja yksinkertaisesti se, että kaikki puhuvat tekoälystä ja käyttävät sitä liikaa ihan kaikkeen. Pahinta on, että se näkyy monesti huonona ja tasapäistettynä laatuna. Mutta siksi tykkäänkin käyttää sanaa tekoälyavusteinen. Asiantuntija saa työhönsä paljon lisää hyödyntämällä tekoälyä oikein.
Tekoälyn vallankumous tapahtui OpenAI:n ChatGPT:n vallatessa maailman 30. marraskuuta 2022. Valtavirran tietoisuuteen tämä mullistava chattibotti tuli viimeistään vuoden 2023 puolella, jolloin koko kansa huomasi keksinnön hyödyt. Tekoälystä onkin eniten iloa erilaisiin mietintätehtäviin, toistuviin tylsiin apinanhommiin, ideointiin ja hienosäätöihin. Tekoäly tehostaa ja avustaa ihmistä parhaimmillaan kuin assistentti (sivuhuomiona, itsehän koodasin itselleni henkilökohtaisen avustajan, joka on myös avointa lähdekoodia).
OpenAI:n lisäksi on olemassa muitakin paikallisia kielimalleja, joita voi kehittää ja kouluttaa itsekin. Nämä isot kielimallit, eli LLM:t (Large language model) ovat monesti jopa OpenAI:n ChatGPT:tä tehokkaampia ja erityisesti tietosuojaltaan parempia, koska niiden verkkoon pääsemistä ja tietojesi kähveltämistä voi rajata.
Tekoäly tehostaa työntekoa
Toistaiseksi tekoäly ei korvaa esimerkiksi minun työtäni. Älä promptaa tekoälylle “koodaa minulle verkkosivut”, sieltä tulee yleensä epäsaavutettavaa tuubaa, joka toimii sinne päin. Työkalut kuten aider ja Cursor ovat loistavia, mutta vaativat nekin tarkkuutta promptaamisessa ja ihmistä tekemään.
Ajattelen tekoälyä kuin työkalupakkina. Ilman tekoälyä sinulla on vasara ja saha, mutta tekoälyn avulla vähän enemmän vaihtoehtoja. Kaikki ei toimi kaikkeen, eikä kaikki ole välttämättä laadukasta, mutta on paljon enemmän näkökulmia, joista tehdä toimiva.
Joku joskus sanoi, että “jos käytät tekoälyä, et ole oikea ohjelmoija”. Tai “jos käytät tekoälyä, et osaa mitään”. Näille kärjistyksille hymähdän. Tekeekö se sinusta huonon kokin, jos luet keittokirjaa?
Mihin tekoälyä kannattaa käyttää?
Kirjoitin tekoälystä ja tekoälyavusteisesta koodaamisesta tammikuussa 2023, mutta tuosta on tultu pitkälle puolessatoista vuodessa. Riippuen siitä mitä elämässäsi teet, tekoälyä kannattaa käyttää sellaisiin tehtäviin, jotka vievät yleensä tarpeettomasti turhaa aikaa.
Palaverimemot
Microsoftin Teamsissa on jo jonkinlainen tekoälypohjainen transkriptiopalvelu olemassa videopuheluihin, mutta olemme Googlen asiakas ja käytämme Google Meetiä. Google Meet -videopuheluiden Gemini-mallin transkriptiot tukevat toistaiseksi vain englannin kieltä. Siksi halusin kilpailuttaa kolmannen osapuolen palaverimemosovellukset ja voittajaksi osoittautui timeOS.
TimeOS tallentaa videon, äänen, jokaisen puheet tekstiksi ja kirjoittaa vielä tiivistelmän ja todolistan palaverista. Tostaiseksi timeOS on ollut kaikista tarkin kokeilemistani työkaluista.
Muistiinpanot ja tiivistäminen
Käytän todella paljon valtavan datamäärän tiivistämiseen tekoälyä. Esimerkiksi edellämainitun palaveri-tekstitallenteen voi heittää tekoälymallille ja pyytää poimimaan vaikka projektipäällikön nostamat tärkeimmät pointit tai pelkät sovitut päivämäärät.
Itse koodaamani tekoälyassitentti lukee aamuisin sähköpostini, katsoo Todoist-tehtävälistani ja kalenterini, aikatauluttaa asiat valmiiksi, tekee ehdotukset ja kirjoittaa näistä kaiken kattavan muistiinpanon joka aamu kello kahdeksan. On mukavaa aloittaa työpäivä ja katsoa mitä kaikkea on tarjolla ja missä järjestyksessä asioita pitäisi lähteä tekemään. Päivän päätteeksi tekoälyassitenttini nappaa tehdyt tehtävät ja kirjoittaa päivästä koosteen ja antaa vielä palautteen perään onnistumisesta.
Automatisoitujen tiivistelmen ja muistiinpanojen lisäksi tekoäly on hyvä kaveri pitkien ja hankalien tekstikokonaisuuksien tekemiseen luettavammaksi. On nimittäin harvinaisen hanurista lukea esimerkiksi Finlexin lakitekstiä, mutta tekoäly poimii oleellisimmat selkeämpään muotoon. Jälleen peräänkuulutan, että etenkin lakiteksteissä kannattaa tarkistaa tekoälyn muovauksen paikkaansapitävyys ja mieluiten oikeasti paneutua asiaan juristin kanssa – mutta tämä oli vain karkea esimerkki kuivakkaasta tekstistä, jonka ymmärtämisen apuna tekoälyä voisi käyttää.
Tiedon etsiminen, “googlettaminen”
OpenAI julkaisi lokakuun 30. päivä 2024 hakutoimintonsa, mutta jo tätä ennen olen käyttänyt tekoälymalleja ihan “googlettamiseen”. On nimittäin tympeää etsiä ratkaisua johonkin niche-ongelmaan toista tuntia Googlen kuudennella sivulla vain huomatakseen, että joku joskus 2009 on paininut saman ongelman kanssa, johon kukaan ei ole löytänyt vastausta.
Tekoälyä “hakurobottina” käyttämisessä kannattaa olla kriittinen, sillä yhä edelleen tekoäly osaa “hallusinoida”, eli temmata tuulesta asioita, jotka eivät pidä paikkaansa. Mutta useimmiten tekoälylle on jo syötetty hakukoneiden kaikki sivustot ja niiden sisällöt, jolloin se osaa poimia oikealta sivulta oikean vastauksen ja ulostaa sen sinulle selkeässä ja toimivassa muodossa.
“Mistä löydän asian X?”
Monesti esimerkiksi iPhonen asetusviidakosta ei meinaa löytyä jotain mitä kaipailen. Säästääkseni aikaa, kysyn tekoälyltä mistä löytyy tämä asia. On niin paljon nopeampaa katsoa ohjeen avulla, esimerkiksi “Mene sovellukseen Health, valitse kolmas välilehti Browse ja sen alta Mental Wellbeing“. Ei mene aikaa turhaan etsiskelyyn.
Samalla idealla tekoälyä voisi hyödyntää esimerkiksi verkkosivustolta tai sen hallintapaneelista tietojen etsimistä. Sen sijaan, että laittaisit aspaan viestiä mistä jokin asia löytyy tai kuinka käytän asiaa X, voisit nähdä tämän tiedon suoraan. Tähän onkin jo toteutuksia ja meilläkin Dudella ideoita siihen, miten hallintapaneelia voisi kehittää helppokäyttöisemmäksi asiakkaalle, vaikka sitten hyödyntämällä tekoälyä.
Koodaaminen
Kyllä, huolimatta siitä mitä ns. “yksisarviset” saattavat väittää, tekoälyä kannattaa ehdottomasti käyttää koodaamiseen. Tällä hetkellä Cursor on mielestäni paras työkalu, koska se on tehty VSCoden päälle. Käyttöönotossa kestää 1 minuutti, koska Cursor ottaa kaikki VSCodessa käyttämäsi lisäosat, teemat ja asetukset, eikä tarvitse “opetella” juurikaan uutta.
Parasta Cursorissa on, että voit keskustella codebasesi ja jopa editorin kanssa. On aika hauskaa kysyä editorin tekoälyltä, että miksi esimerkiksi PHP-lintteri heittää virhettä legacy-projektissa, sen sijaan että googlaa taas sieltä kuudennelta sivulta. Editori on kuin kaveri, jota minulla ei koskaan ollut. Aika paljon parempi kuin “älykäs automaattitäydennys” GitHub Copilot, jota esittelin viime vuonna.
Ohessa tosielämän esimerkki, jossa kysyn tätä kirjoitusta varten voisiko funktioni looppia jotenkin parantaa. Ja tarkistuksiahan siitä puuttuu nähtävästi. Cursor antaa kivasti diffit suoraan, jotka voi sitten hyväksyä tai olla hyväksymättä, tai parannella tästä inspiroituneena koodia itse. Tässä käytössä on juuri koodaamiseen räätälöity Anthropicin claude-3.5-sonnet -malli.
Aiemmin mainitsemani aider on myös hyvä työkalu, joka toimii samalla idealla, mutta komentoriviltä.
Koodin refaktorointi ja virheenkorjaus
Refaktorointi tarkoittaa koodin eräänlaista “restaurointia”, näin raksatermejä hyödyntäen. Tekoäly on loistava kaveri, jos tarvitsee tehdä vaikkapa legacy-funktiosta vähän nykyaikaan sopivampi. Sen sijaan että käyt manuaalisesti hirveää määrää koodia itse läpi, anna tekoälylle ehdot ja se refaktoroi koodin puolestasi.
Jälleen kerran kannattaa olla kriittinen, sillä tekoälykin tekee virheitä. Se on niin hyvä kuin sinä olet, tai niin huono kuin sinä olet.
Koodin dokumentointi
Ah, se jokaisen koodarin rakastama dokumentointi. Tekoälylle voit kuitenkin sanoa, että äläpä koske minun koodiin, mutta kirjoita koodille selkeät koodikommentit ja README.md koodin pohjalta. Cursorissa ja paikallisissa kielimalleissa tämä on erityisen kätevää, kun voit heittää tekoälylle yksinkertaisesti koko koodipohjasi.
Oikeastaan vain taivas on rajana
Olen käyttänyt tekoälyä seuraaviin ja saanut 90%:sti avun tai ratkaisun varmasti sata kertaa nopeammin kuin millään muulla “perinteisellä” tavalla.
- Sysop-työkalun käyttöohje
- Corner-case -timeout-ongelman selvittely
- Logiikkavirheen pohdinta “kaverin kanssa” ajalla, jolloin ei ole kaveria
- Debuggaus (virheenjäljitys)
- Aikataulutus ja arjen rytmitys
- OCR-ongelmat macOS Sequoiassa
- Custom AppImage-launcher Pop_OS!-Linuxissa
- ntfy.sh hyötykäyttö
- Ilmaiset sovellukset kasvien kastelusyklin ylläpitämiseen
- Open source -sovellusvaihtoehtoja kaupallisten tilalle
- Arjen vinkit eri asioihin
- Kuvan tai tiedoston analysoinnit
- Tietokannan läpikäynti ja sieltä jonkin tietyn poimiminen
- “Mikä virhe tässä on mitä en millään huomaa?”
- Raycast-integraatiot
- Integraatiot yleisesti
- Vaikeat Linux-komennot, jotka eivät ole enää tallessa, esim. sshfs automount fstabissa
- Python-moduulit ja omat custom-python-moduulit
- Oman toiminnan tehostaminen
- IO-päätteen katoaminen
- Biisien tunnistaminen
- Softavertailut
- Toistuvat ja työläät rutiininomaiset hommat, joista kukaan ei tykkää
- Tiedostojen muuntamiset toiseen muotoon (esim. excelistä markdown tai excelistä Slack-viestiksi)
- Ja niin edelleen…
Sinulla lista voi olla erilainen. Tekoäly rikastaa elämää.
Tekoäly ja WordPress
Suomen WordPress-maailmassa esimerkiksi WordPressin hallintapaneelissa tekoälyä hyödynnetään vielä melko vähän, mutta syystäkin. Käyttötapoja on vähemmän ja se ei ihan taivu kaikenlaiseen käyttöön. Toisaalta, hyvin toteutetut laadukkaat verkkosivut eivät välttämättä kaipaa tekoälyä itsessään. Kaupallisissa pagebuildereissa lohkoja voi luoda kehotteilla (esim. “luo minulle laskeutumissivu jossa on hero ja muutama nosto”), mutta toteutustavat ja käyttöliittymät eivät ole mitään parhaita mahdollisia.
Sisällönhallinnassa tekoälystä voi olla paljonkin hyötyä. WordPress-sivustoilla voisi esimerkiksi antaa tekoälyn luoda kokonaisia sisältöjä jo olemassaolevan sisällön pohjalta. Tai kääntää sivuston eri kielelle tekoälyavusteisen DeepL-moottorin avulla, joka on tuhat kertaa parempi kuin elähtänyt Google Translate.
Duden WordPress-toteutuksissa ei vielä ole tekoälyä mukana, mutta mahdollisesti tulevaisuudessa on. Paras käyttöskenaario voisi olla esimerkiksi tekoälyä hyödyntävä asetushaku hallintapaneelissa. Kuinka upeaa olisi löytää se tietty asetus muutaman kirjaimen haulla sen sijaan, että etsisit sitä minuuttikaupalla oikean valikon alta? Tai lisätä sivuston juuri se tietty linkki siihen tiettyyn kohtaan tarvitsematta vaihtaa välilehteä tai poistua näkymästä, jota juuri muokkaat? Ehkä jonain päivänä.
No mites se tietosuoja?
Tiedät varmaan sanonnan, “se mitä nettiin laitat, pysyy siellä ikuisesti”. Tekoälyn kanssa on erityisesti juuri näin. Tekoälyn muistista on vaikea poistaa asioita, kun se on ne kerran oppinut. Älä siis tarjoile sille salaisuuksiasi, salasanojasi tai muuta sensitiivistä dataa. Älä edes työpaikkasi asioita, tuttaviasi tai mitään sellaista mitä et missään nimessä haluaisi naapurisi tietävän. Jos haluat hyödyntää tekoälyä tällaisiin asioihin, käytä yksityistä tilaa tai rajapintaa. OpenAI ainakin lupaa, että rajapinnan kautta 30 päivän päästä data poistetaan. Toteuttaako lupauksiaan, siitä en voi mennä takuuseen.
Tietosuojaltaan parhaat ovat tietenkin vain omalla tietokoneellasi elävät paikalliset laajat tietomallit. Nämä vaativat tavallista enemmän tilaa ja tehoja tietokoneelta, mutta ovat täysin yksityisiä. Pelkkiä malleja saa kätevästi ladattua esimerkiksi avoimen lähdekoodin ollamalla, mutta jos haluat heti sujuvasti käyttöön niin esimerkiksi Jan on hyvä avoimen lähdekoodin sovellus tähän.
Tekoäly on tullut jäädäkseen
On hyvä tehdä niitä asioita, joita osaa, ylikäyttämättä tekoälyä. Tekoälystä on haittaakin, jos sitä hyödyntää väärin, vääriin asioihin tai jos sillä tekee vaikka hallusinoitua kuraa ilman tietotaitoa. Tekoäly ei ole absoluuttisen hyvä tai paha, jollaisena se usein koetaan.
Odotan innolla suuntaa, johon tekoälyn kehitys on menossa. Uhkakuviakin löytyy, mutta niinhän niitä aina. Jos Skynet ja superäly tulee, pulassa ollaan. Mutta nautitaan siihen asti.